서버 운영 관리

차동훈 에반젤리스트

nmap 사용법

 

 

흔히 서버에 문제가 발생하면 'ping' 명령어를 사용하여 서버의 네트워크가 정상인지 아닌지를 먼저 파악하게 되는데

서버가 네트워크에 연결 되어있음에도 불구하고 ping 에 대한 응답을 하지 않도록 방화벽에서 보안 설정 하는 경우가 있으므로

nmap 을 사용하는것이 좋다.

'nmap' 은 서버의 열려 있는 포트를 확인하여 서비스 프로그램이 정상적으로 구동중인지 아닌지 체크가능한 프로그램이다.

서버 문제 발생시 원인파악을 하는데 도움이 되는 프로그램이다.

  

리눅스 서버에서는 간단하게 설치가 가능하다

$ yum install nmap

 

윈도우용은 아래사이트에서 다운로드 가능하다

https://nmap.org/download.html

∗ 화면 스크롤 다운중에 "Microsoft Windows binaries" 에서 다운로드 가능하다.

  

nmap 사용법

$ nmap 서버아이피

∗ 윈도우는 명령어 입력창 (CMD) 에서 입력하면 된다.

 

출력결과 예)

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 체크가 가능하다

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 으로 출력된다.