Linux 특정 port 열려 있는지 확인하는 command line 명령들
AWS나 특정 Linux 등의 멀티 서버를 운영하다 보면, 2개 이상의 서버를 연결할 때, Specific Port(특정 포트)가 연결되는지 확인이 필요할 때가 있습니다.
(예: Web, MySQL를 따로 둘 때, MySQL(3306)가 오픈되어 있는지 확인이 필요할 때 등..)
(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/