대상 서버의 포트가 열려있는지 확인하는 방법

부제 ) telnet 없이 포트 오픈 확인하는 방법

대부분의 서버는 보안 문제로 ssh나 http, telnet 을 사용할 수 없는 경우가 있다.

이런 경우에 대상 버의 포트가 열려 있는지 확인 하는 방법에 대해서 삽질하다, 잊으면 안될것 같아서 남겨본다.

Linux의 경우이다.

echo > /dev/tcp/IP/PORT

bash의 내장 기능으로 자세한 내용은 여기 에서 확인 할 수 있다.
포트가 열린 경우라면, 아무 메세지가 나오지 않는다. echo $? 해보면 정상적인 프로세스의 종료를 의미하는 0이 나온다.
포트가 닫힌 경우라면, 에러메세지가 나오고 echo $?의 결과가 1이 나온다.

포트가 열린 경우

    $ echo > /dev/tcp/127.0.0.1/22
    $ echo $?
    0

포트가 닫힌 경우

    $ echo > /dev/tcp/127.0.0.1/10002
    bash: connect: 연결이 거부됨
    bash: /dev/tcp/127.0.0.1/10002: 연결이 거부됨
    $ echo $?
    1

curl -v telnet://IP:PORT

curl의 파라미터중 url에 telnet 스키마가 허용된다.

포트가 열린 경우

    $ curl -v telnet://IP:PORT
    * About to connect() to IP port PORT (#0)
    *   Trying IP... connected
    * Connected to IP (IP) port PORT (#0)

포트가 닫힌 경우

    $ curl -f telnet://IP:PORT
    curl: (7) couldn't connect to host
728x90
반응형

'OS > Linux' 카테고리의 다른 글

[Linux] 파일 압축 및 해제  (0) 2021.03.20
[Linux etc tip] 접속 로그 분석 하기  (0) 2021.02.15
[Linux] 웹 서버  (0) 2020.12.13
[Linux] 원격 관리  (0) 2020.12.13
[Linnux] 네트워크 설정 및 점검  (0) 2020.12.05

+ Recent posts