Nmap command

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
-sT(TCP Connect 스캐닝) : connect()함수를 사용해서 포트 하나하나에 접속해서 Scan하는 방법

-sS(SYN Stealth 스캐닝) : 3way-Handshake가 완료되기 이 전에 RST로 접속을 끊어버려서 로그를 남기지 않는 방법

-sF(FIN 스캐닝) : 방화벽의 정책이 SYN을 필터링 하도 설정된 경우 우회하기 위해 FIN Flag를 이용하는 scan 방법(Linux에서만 사용 가능하다.)

-sN(NULL 스캐닝) : TCP Flag에 아무런 셋팅도 하지 않고 응답을 기다리는 방법

-sX(X-MAS 스캐닝) : TCP Flag에 FIN, PSH, URG등 여 러 bit를 셋팅 후 전송해서 응답 을 기다리는 방법

-sU(UDP 스캐닝) : UDP의 비 신뢰성,비 연결성인 특성상 Packet 자체의 손실을 책임지지 않기 때문에 Scanning이 까다롭다.
닫혀있는 UDP port에서 Port Unreachable 메세지를 보내는것 을 이용해 활성화 비활성화 여부를 scanning하는 방법

-sP(Active Hosting 스캐닝) : 호스트가 살아있는지 죽어있는 지만 ping을 통해 체크하는 방법

-sO(Protocol 스캐닝) : 해당 시스템이 사용하는 프로토 콜을 검색한다.

-f : SYN 스캔이나 FIN 스캔을 할 때 조각난 패킷을 사용한다.

-P0 : scan 시도 전 ping을 시도 하지 않는다.
icmp echo request를 허용하지 않는 호 스트에 대한 scan을 시도할때 설정해야 한다.

-PT : ping의 대용으로 icmp echo request를 보내는 것이 아니라 tcp packet을 보내서 해당 호스트가 작동중인지 검사한다.

-PS : TCP의 SYN 패킷을 보내서 SYN+ACK 패킷이나 RST 패킷이 오면 호스트는 살아있는 호스트이다.
이를 이용해서 호스트가 살 아있는지, 죽어 있는지를 검사한다

-PI : TCP의 SYN 패킷을 보내서 SYN+ACK 패킷이나 RST 패킷이 오면 호스트는 살아있는 호스트이다.
이를 이용해서 호스트가 살 아있는지, 죽어 있는지를 검사한다.

-PB : TCP ping과 ICMP ping을 둘 다 사용해 서 호스트가 죽어있는지, 살아있는지를 검사한다.

-O : TCP/IP fingerprinting을 사용해 호스트이 OS를 주청한다.

-I : RFC 1413에 정의되어있는 ident 프로토콜을 사용해 열려있는 포트가 어떤 사용자에 의해 열려있는지 검사한다.

-n : DNS lookup을 하지 않는다.

-R : DNS lookup을 한다.

-o <logfilename> : 스캔한 결과를 로그 파일에 남긴다. (사람이 읽기 편한 포맷)

-m <logfilename> : 스캔한 결과를 로그 파일에 남긴다. (컴퓨터가 일기 편한 포맷)

-i <inputfile> : 스캔할 호스트 리스트를 파일로부터 입력 받는다.

-p <port ranges> : 스캔할 포트 리스트를 명시한다.
초기값 은 1부터 1024까지의 포트와 services 로 명시되어있는 포트이다.

-F : services에 명시되어 있는 포트만 스캔한 다.

-S <ip address> : 패킷의 source 주소를 지정한다.

-g <port number> : 패킷의 source 포트넘버를 지정한다.