Server관련/Sever(OS)

Linux 특정 port 열려 있는지 확인하는 command line 명령들

saltdoll 2019. 11. 10. 07:29
반응형

AWS나 특정 Linux 등의 멀티 서버를 운영하다 보면, 2개 이상의 서버를 연결할 때, Specific Port(특정 포트)가 연결되는지 확인이 필요할 때가 있습니다.

(예: Web, MySQL를 따로 둘 때,  MySQL(3306)가 오픈되어 있는지 확인이 필요할 때 등..)

 

Linux에서 open port 체크 명령들

(1) telnet
(2) nc  -- AWS  EC2에 기본 설치 되어 있음
(3) nmap
(4) bash shell 명령

 

 

(1) 고전적인 방법은 telnet 입니다.

AWS EC2의 기본에는 telnet이 설치되어 있지 않습니다.
설치 방법은 다음과 같습니다.


$sudo yum install telnet

Syntax
$telnet {host} {port}

아래는, 웹 포트가 오픈 되어 있는지 확인하는 방법입니다.

예제
$telnet 192.168.2.254 80
Trying 192.168.2.254... 
Connected to router. 
Escape character is '^]'.
^] 
telnet> 
q 
Connection closed.

 

 

(2) nc 명령을 이용한 방법

nc -- arbitrary TCP and UDP connections and listens

Syntax
$nc -vz {host} {port}

아래, HTTPS (443) 포트를 확인하는 예제 입니다.

예제
$nc -vz usa.edit.kr 443
found 0 associations
found 1 connections:
     1: flags=82<CONNECTED,PREFERRED>
outif en0
src 10.0.1.2 port 49988
dst 27.0.236.139 port 443
rank info not available
TCP aux info available

Connection to usa.edit.kr port 443 [tcp/https] succeeded!

 

 

(3) nmap 명령을 이용한 방법

nmap는 보안 스케너입니다. 
namp은 프로그램을 설치 해야 합니다. 

rpm -vhU https://nmap.org/dist/nmap-7.80-1.x86_64.rpm

(nmap에 대한 Download 및 자세한 내용: https://nmap.org/download.html )

Syntax
$nmap -PNp {port} {host}

아래는 특정 사이트에 오픈되어 있는 포트를 확인하는 방법입니다.

예제 (윈도우 cmd 환경 예제)
c:\unix\nmap-4.11>nmap 443 usa.edit.kr 

Starting Nmap 4.11 ( http://www.insecure.org/nmap ) at 2019-11-09 14:06 태평양 표준시 
Invalid target host specification: 443 
QUITTING! 

c:\unix\nmap-4.11>

 

AWS EC2 서버를 사용한다면, 특별히 설치를 하지 않아도 사용이 가능한 nc 명령어를 추천드립니다.

 

참고: https://www.cyberciti.biz/faq/ping-test-a-specific-port-of-machine-ip-address-using-linux-unix/

반응형
도움이 되셨다면 하트모양의 "♡ 공감"을 눌러주시면 큰 격려가 됩니다.
(로그인하지 않으셔도 가능)