nmap 사용법
흔히 서버에 문제가 발생하면 'ping' 명령어를 사용하여 서버의 네트워크가 정상인지 아닌지를 먼저 파악하게 되는데
서버가 네트워크에 연결 되어있음에도 불구하고 ping 에 대한 응답을 하지 않도록 방화벽에서 보안 설정 하는 경우가 있으므로
nmap 을 사용하는것이 좋다.
'nmap' 은 서버의 열려 있는 포트를 확인하여 서비스 프로그램이 정상적으로 구동중인지 아닌지 체크가능한 프로그램이다.
서버 문제 발생시 원인파악을 하는데 도움이 되는 프로그램이다.
리눅스 서버에서는 간단하게 설치가 가능하다
$ yum install nmap |
윈도우용은 아래사이트에서 다운로드 가능하다
∗ 화면 스크롤 다운중에 "Microsoft Windows binaries" 에서 다운로드 가능하다.
nmap 사용법
- nmap은 수많은 옵션들이 있지만 아래와 같이 간단하게 사용이 가능하다.
$ nmap 서버아이피 |
∗ 윈도우는 명령어 입력창 (CMD) 에서 입력하면 된다.
출력결과 예)
- 출력은 OPEN 되어 있는 포트를 기준으로 출력해준다.
PORT STATE SERVICE 21/tcp open ftp 22/tcp open ssh 53/tcp open domain 80/tcp open http 111/tcp open rpcbind 873/tcp open rsync 1723/tcp open pptp 2049/tcp open nfs 3306/tcp open mysql MAC Address: 00:E0:4C:F3:07:6E (Realtek Semiconductor) |
위의 아무옵션이 없으면 잘알려진 포트 위주로 포트스캔을 하기 때문에 0 ~ 65535 모든 포트를 스캔하겠다고 하면 아래와 같이 입력한다
$ nmap 아이피 -P0-65535 |
위의 출력값과 약간 틀리지만 더 많은 포트에 대해서 스캔 결과가 출력된다.
PORT STATE SERVICE 21/tcp open ftp 22/tcp open ssh 53/tcp open domain 80/tcp open http 111/tcp open rpcbind 873/tcp open rsync 875/tcp open unknown 1723/tcp open pptp 2049/tcp open nfs 3306/tcp open mysql 35282/tcp open unknown 47807/tcp open unknown 53867/tcp open unknown 59422/tcp open unknown |
특정 포트하나만 스캔
$ nmap 서버아이피 -p포트번호 |
상태출력값은 크게 3가지 정도가 있다.
OPEN : 포트가 열려 있음 CLOSE : 포트가 닫혀 있음 filtered : 필터링 되고 있음 (방화벽에 의해 차단되거나 응용프로그램에 문제가 있는 경우) |
∗ 응용프로그램에 문제가 있으면 상태가 open 과 filtered 상태가 반복되거나 계속 filtered 상태로 출력된다.
nmap 에서도 ICMP 체크가 가능하다
- nmap -sn 아이피
Starting Nmap 5.51 ( http://nmap.org ) at 2016-04-22 14:58 KST Nmap scan report for 아이피 Host is up (0.000090s latency). MAC Address: 6C:B3:11:24:03:90 (Unknown) Nmap done: 1 IP address (1 host up) scanned in 6.70 seconds |
상태는 ping 체크가 되면 up 되지 않으면 down 으로 출력된다.