본문 바로가기
Technical/Network

NMAP 명령어 옵션 정리

by (주)이너엔 2021. 4. 22.

1.nmap이란(network mapper)

 

nmap은 네트워크 보안을 위한 유틸리티로 대규모 네트워크를 고속으로 스캔하는 도구

네트워크에 어떤호스트가 살아있는지 어떤 포트 사용하는지,운영체제가 뭔지 등 네트워크의

수많은 특징을 점검할수 있는 툴임

 

 

2.설치방법   

 

1) http://nmap.org/download.html 에 들어가서 nmap을 다운

2) windows , mac , linux 별로 있음  맞는거에 다운

3) Linux 에서는 yum 또는 aptget install 로 nmap 을 설치 하면 됨. 

 

scan option

sT

Connet()함수를 사용하여 모든 포트에대해 스캔하는 방식,포트가열려있는 상태면 성공, 그렇지않으면 reachable되지않음

-sS

TCP halp scan:하나의 Syn패킷보내Syn/Ack응답이오면 그포트는 열려있는 상태, RST응답이오면 열려있지않은 상태이다. 이 기술은 하나의 패킷보내어 Syn/Ack응답을 받으면 그즉시 RST패킷을 보내서 접속을 끊어버린다. 이렇게하면 접속이 이루어지지 않은 상태에서 접속을 끊었기때문에 로그기록을 남기지않는 경우가 많다.

-sF


-sX


-sN

Stealth FIN,Xmas Tree, Null scan:이들은 SYN패킷을 막아놓은 방화벽이나 패킷필터 또는 synlogger와 Courtney같은 스캔을 탐지하는 프로그램을 무사히 통과할수 있다. open포트 FIN패킷을 보내면 이패킷이 무시하고 Closed 포트로 보내면RST패킷이 들어오는것을 확인할 수있다.

-sP

Ping scanning: 네트워크의 어떤 호스트가 살아있는지를 알고 싶을때 사용한다. nmap에서 모든 IP 주소로 ICMP echo request packet을 보내어 이것을 수행한다. 호스트가 살아 있다면 응답을 보낸다. 하지만 microsoft.com같은 일부사이트 echo request packet을 방해한다. 따라서 nmap은 포트번호 80(defaul)으로 TCP ack packet을 보낸다. 만약 RST back을 받았다면 이시스템은 살아있는것이다.

-sU

UDP scans : 어떤 UDP포트가 open 되어 있는지를 확인하기 위해 사용한다. 이 기술은 시스템의 각 포트에 0바이트의 udp패킷을 보낸다.

-sA

ACK scan:이방법은 방화벽의 룰셋을 정밀하게 계획하기 위해 사용된다. 방화벽이 stateful한지 아니면 단순히 들어오는 syn패킷을 차단하는 패킷필터인지 확인하기 위해 사용한다. 포트에 ACK패킷을 보내어 RST응답을 받으면 그 포트는 unfilterd이며, 아무런 응답이 없으면 filtered이다. nmap은 unfilterd포트는 프린트 하지않는다.

-sW

Window scan:TCP WINDOW크기의 변칙때문에 filtered/nonfiltered+open포트도 스켄할수 있다는 점을 제외하면 ACK 스켄과 유사

-sR

RPC scan:열려져 있는 TCP/UDP포트에 대해 그들이 RPC포트인지, 서비스를 제공하는 프로그램은 무엇이며, 버전은 무엇인지 등을 확인하기위해 SunRPC program NULL commands를 보낸다.

-b

FTP bounce attack: 익명 FTP서버를 경유해 호스트 스캔

 

 

 

 

 

 

-P0

방화벽에의해 ICMP echo requests나 responses를 막아놓은 네트워크를 스캔가능하게한다.


ping을 막아놓은 호스트스켄 : -P0,-PT80

-PT

네트워크에 TCPACK보내어 응답이 오기를 기다린다. RST응답이 오면 호스트 살아있는것이다. difault port num: -80

-PS

root사용자를 위해 ACK패킷 대신SYN을 사용.호스트가 살아있으면 RST로응답한다.

-PI

ping 패킷을 사용하며 살아있는 호스트를 찾는다. 또한 서브넷 다이렉티드 브로드케스트 주소를 찾는다 . 들어오는 ip패킷을 컴퓨터의 서브넷으로 브로드케스트하기위한 ip주소. 도스가능성이있다면 제거되야함.

-PB

ping 기본형태, ACK(-PT),ICMP(-PI)모두사용

-O

이것은 TCP/IP fingerprinting을 통해 리모트 호스트를 확인하는데 사용된다.

-I

RFC 1413에 정의되어있는 ident프로토콜 사용해 오픈되어 있는 포트가 어떤사용자에 의해 열려 있는지 검사

-v

interactive한 사용에 매우 유용한옵션

-h

quick reference

-p <port ranges>

점검하고자 하는 포트를 지정하는 옵션이다. 예로 23번 포트를 점검하려면 -p 23 하면 된다. 또한 -p 20-30,139,60000-은 20에서30사이의 포트와 139번 포트,60000번이상의 포트에 대해 스캔하라는 뜻이다.

-F

nmap-services에 나열된 포트만 스캔

-n/-R

DNS lookup을 하지않는다./DNS lookup을한다.

-S<IP_Address>

패킷의 source 주소를 지정한다.

-e <interface>

네트워크의 인터페이스를 지정한다.

-g <portnumber>

패킷의 source 포트번호를 지정한다.

-oN <logfilename>

스캔한 결과를 로그 파일에 남긴다(사람이 읽기 편한 포맷)

-oM <logfilename>

스캔한결과를 로그 파일에 남긴다(컴퓨터가 읽기 편한 포맷)

출처: http://nmap.org/

댓글