nmap
아래의 홈페이지에서 다운로드 받을 수 있다.
- profile : scan option 이다.(대부분 Intense scan 사용)
- command : profile에서 옵션을 지정하면 그에 맞게 바뀐다.
옵션
nmap [scan type] [options] [target] | ||
Scan Type | -sS | TCP SYN scan = half-open scan |
-sT | TCP Connect scan = open scan | |
-sU | UDP scan | |
-sF | TCP FIN scan : FIN패킷 이용 | |
-sX | TCP Xmas scan : FIN, PSH, URG 패킷 이용 | |
-sN | TCP NULL scan : NULL 패킷 이용 | |
-sA | TCP ACK scan | |
-sP | Ping Scan | |
-D | Decoy scan : 실제 스캐너 주소 외에도 다양한 주소로 위조하여 스캔 | |
-b | TCP Bounce scan | |
Port Option | -p 22 | 22번 포트 스캔 |
-p ssh | ssh로 스캔 | |
-p 20, 25, 80 | 여러 포트 스캔 | |
-p 1-1023 | 1-1023포트 스캔 | |
-pT:21, 23, 110, U:56 | TCP 21, 23, 110번 포트와 UDP 53번 포트를 스캔 | |
Output Option | -v | 상세 내역 출력 |
-d | Debugging | |
-oN 파일 | 결과를 일반 파일 형식으로 출력 | |
-oX 파일 | 결과를 XML 파일 형식으로 출력 | |
-oG 파일 | 결과를 Grepable 파일 형식으로 출력 | |
-oA 파일 | 일반(.nmap), XML, grepable(.gnmap)파일 형식으로 출력 | |
기타 Option | -O | OS정보 출력 |
-F | 빠른 네트워크 스캐닝 | |
-T0~-T5 | T0 : 아주 느리게, T5:아주 빠르게 | |
타겟 | www.xxx.com | 호스트이름 지정 |
192.168.0.10 | 특정 IP지정 | |
192.168.0.0/24 | 192.168.159 대역 지정 |
<사용 예>
ex) nmap –T4 –sU –p 53,123 192.168.159.149
ex) nmap –T4 –sS –p 23,80 192.168.159.149 –D 10.10.10.1,10.10.10.2(실제 아이피 외에도 위조된 IP로 스캔)
ex) nmap –T4 –sS –oN “NMAP_OUTPUT/Nomal.out” –p 23,80 192.168.159.149
STATE
open |
서비스 열려있음 |
closed |
서비스 닫혀있음 |
filtered |
방화벽에 의해 차단 |
open|filtered |
해당 포트가 열린 상태이거나 차단되는 경우(응답 없는 경우) |
TCP Connect Scan=Open Scan
- 결과는 가장 정확하지만 연결 설정을 직접 수행하므로 시스템 로그가 남는다.
- 연결이 완료되면 RST+ACK전송하여 연결을 강제로 종료한다.
=> TCP Scan 패킷 분석(Port open 시)
=> TCP Scan 패킷 분석(Port close 시)
포트 열렸을 경우 | SYN+ACK |
포트 닫혔을 경우 | RST+ACK |
방화벽에 의해 필터링 되고 있는 경우 | 응답이 없거나 ICMP Destination Unreachable 메시지 (일반적으로 방화벽은 ICMP 메시지 응답을 주지 않도록 설정돼있음) |
UDP Scan
- ICMP Unreachable메시지를 이용한다.
- UDP포트의 Open여부를 확인하기 위한 스캐닝이다.
=> UDP Scan 패킷 분석(Port close 시)
- 아무 패킷도 돌아오지 않는다.
=> UDP Scan 패킷 분석(Port close 시)
포트 열렸을 경우 | 응답이 없음 |
포트 닫혔을 경우 | ICMP Destination Unreachable 메시지 |
TCP SYN Scan=Half-open Scan
- 완전한 연결을 수행하지 않기 때문에 시스템 로그가 남지 않아 그 흔적을 알 수 없다.
- SYN+ACK패킷이 오면 RST를 보내 강제로 종료한다.
=> TCP half open Scan 패킷 분석(Port open 시)
=> TCP half open Scan 패킷 분석(Port close 시)
포트 열렸을 경우 | SYN+ACK |
포트 닫혔을 경우 | RST+ACK |
X-mas Stealth Scan
- TCP 헤더의 제어비트를 비정상적으로 설정해서 스캔한다.
- 스캔 대상 호스트에 로그를 남기지 않는다.
- X-mas : ACK, FIN, RST, SYN, URG의 패킷 묶음
포트 열렸을 경우 | 응답이 없음 |
포트 닫혔을 경우 | RST+ACK |
FIN Stealth Scan
- TCP 헤더의 제어비트를 비정상적으로 설정해서 스캔한다.
- 스캔 대상 호스트에 로그를 남기지 않는다.
- 연결되어있지 않은 포트에 일부 제어비트(FIN, PSH, URG)를 설정한 탐지패킷을 전송한다.
포트 열렸을 경우 | 응답이 없음 |
포트 닫혔을 경우 | RST+ACK |
NULL Stealth Scan
- TCP 헤더의 제어비트를 비정상적으로 설정해서 스캔한다.
- 스캔 대상 호스트에 로그를 남기지 않는다.
- 연결되어있지 않은 포트에 제어비트를 아무것도 설정하지 않은 탐지패킷을 전송한다.
포트 열렸을 경우 | 응답이 없음 |
포트 닫혔을 경우 | RST+ACK |
Ping 스캔-방화벽 우회
https://www.hackingarticles.in/understanding-guide-nmap-ping-scan-firewall-bypass/