본문 바로가기
Common/Network

[Network/Tools] NMAP 정의 및 설치/사용법

by 근육곰돌이 2020. 7. 9.
728x90

nmap 이란? (https://nmap.org/)

  • NMAP은 port Scanning 툴로서 호스트나 네트워크를 스캐닝 할 때, 아주 유용한 시스템 보안툴인 동시에, 해커에게는 강력한 해킹툴로 사용될 수 있습니다.
  • NMAP은 기존의 포트 스캔툴에 비해 다양한 옵션과 방화벽 안쪽의 네트웍도 스캔할 수 있는 강력한 기능이 있습니다.

설치

  1. nmap 의 홈페이지에서 소스파일을 내려 받습니다.
  2. 해당 디렉토리에서 ./configure 를 실행
  3. make, make install 을 실행합니다.

Nmap 사용법

  • [스캔 유형] [옵션] <호스트 또는 네트워크>

Nmap 옵션 정보

-sT 일반적인 TCP 포트스캐닝.
-sS 이른바 'half-open' 스캔으로 추적이 어렵다.
-sP ping 을 이용한 일반적인 스캔.
-sU UDP 포트 스캐닝.
-PO 대상 호스트에 대한 ping 응답을 요청하지 않음 . log 기록과 filtering 을 피할 수 있다.
-PT 일반적이 ICMP ping이 아닌 ACK 패킷으로 ping 을 보내고 RST 패킷으로 응답을 받는다.
-PI 일반적인 ICMP ping 으로 방화벽이나 필터링에 의해 걸러진다.
-PB ping 을 할 때 ICMP ping 과 TCP ping을 동시에 이용한다.
-PS ping 을 할 때 ACK 패킷대신 SYN 패킷을 보내 스캔.
-O 대상 호스트의 OS 판별.
-p 대상 호스트의 특정 포트를 스캔하거나, 스캔할 포트의 범위를 지정. ex) -p 1-1024
-D Decoy 기능으로 대상 호스트에게 스캔을 실행한 호스트의 주소를 속인다.
-F /etc/services 파일 내에 기술된 포트만 스캔.
-I TCP 프로세서의 identd 정보를 가져온다.
-n IP 주소를 DNS 호스트명으로 바꾸지 않는다. 속도가 빠르다.
-R IP 주소를 DNS 호스트명으로 바꿔서 스캔. 속도가 느리다.
-o 스캔 결과를 택스트 파일로 저장.
-i 스캔 대상 호스트의 정보를 지정한 파일에서 읽어서 스캔.
-h 도움말 보기

사용 예제

# nmap -sP xxx.xxx.xxx.xxx 
 => -sP 옵션으로 대상호스트가 살아 있음을 알수 있다. 
# nmap -sP -PT80 xxx.xxx.xxx.xxx
 => 특정 포트(80)를 검색 
# nmap -sT xxx.xxx.xxx.xxx 
 => 지정된 포트가 아니라 대상호스트의 열린 포트를 모두 검색 
 대상 호스트의 열린 포트를 알수는 있지만 로그가 남으므로 위험.  
# nmap -sS xxx.xxx.xxx.xxx 
 => 스텔스 스캔으로 감시를 피함 
# nmap -sU localhost 
 => UDP port 스캔입니다. 시간이 많이 걸릴 수도 있다.  
# nmap -sS -O xxx.xxx.xxx.xxx 
 => -O 옵션으로 운영체제를 알아볼수있다. 
# nmap -v 203.247.xxx.xxx
       => 좀 더 자세하게 정보를 보여준다. 
# nmap 203.xxx.50.0/24
       => 203.xxx.50.0 네트워크 전체를 스캔한다. 
# nmap 192.168.1.100-150
       => 연속되어 있는 여러개의 호스트를 검색할 때는 대쉬(-)를 사용하면 된다. 즉 192.168.1.1
         00부터 192.168.1.150까지 스캔한다.  
# nmap 192.168.0.5, 192.168.3.7
       => 연속되어 있는 않은 여러 개의 호스트를 검색할 때는 콤마(,)를 사용하면 된다. 
# nmap  -p 1-30,110,62000- 203.xxx.xxx.11
       => 203.xxx.xxx.11 호스트의 1-30번 포트, 110번포트, 62000번 이상의 포트를 스캔한다. 
# nmap -O 203.247.xxx.xxx
       => 해당 호스트의 포트스캔과 운영체제를 보여준다. 
# nmap -sR -p 1-40000 192.168.10.100
       => 해당 호스트의 1~40000 포트에서 RPC포트를 찾아 보여준다. 
# nmap -sU -PT 192.168.10.0/24
       => 192.168.10.0 네트워크의 호스트들을 TCP ACK패킷을 보내어 응답을 기다리고 열려진 UDP
         포트를 보여준다.
반응형