Hacking Tools

[Hacking Tools] nmap 사용법

오스_ 2024. 3. 4. 20:44
반응형

nmap

보안을 공부하면서 많이 접할 수 있는 nmap은 호스트 탐지, 포트 스캔, 버전 & 운영체제 탐지 을 할 수 있는 보안 툴 중 하나이다. 쉽게 포트 스캐너라고 생각하면 될거 같다.

 

포트 스캔은 공격을 시도하려는 시스템의 네트워크 상황을 스캔하는 해킹 공격 전 사전 탐색 행위를 의미한다.

즉, 포트 스캔을 통해 해당 시스템의 어떤 포트가 열려있는지 알 수 있고 어떤 서비스가 가동하고 있는 지 등을 사전 조사 한 후 해당 정보를 이용해서 공격을 시도할 수 있다.

 

하지만 아무런 시스템을 가지고 포트 스캔을 하는 행위는 범죄 행위이므로 주의가 필요하다. 


사용법 (계속 추가 예정)

1) 스캔 유형

nmap -sT 192.168.x.x 일반적인 TCP 연결 스캔(SYN 스캔보다 정확하지만 느림)
nmap -sS 192.168.x.x SYN-ACK를 활용해 열린 포트 체크(빠른 스캔)
nmap -sU 192.168.x.x UDP 포트 스캐닝(시간이 많이 걸릴 수 있음)
nmap -sV 192.168.x.x 스캔된 포트의 서비스 및 버전 정보 표시
nmap -v 192.168.x.x 자세한 출력 표시. 스캔 진행 상황을 실시간 확인 가능
nmap -O 192.168.x.x 운영체제의 종류 정보 표
-iL 파일을 지정하여 여러 대상 IP 주소나 호스트 이름을 한 번에 스캔할 수 있도록 해주는 옵션
nmap -oN text.txt [target] 스캔 결과를 표준 텍스트 형식으로 파일에 저장하는 데 사용됨
-oX XML 형식으로 스캔 결과를 출력하도록 지정하는 옵션
-oG 검색 결과를 grep 가능한 형식으로 저장하여 검색하려면
-oA 위의 모든 형식으로 결과를 저장

2) 포트 옵션

 nmap -sP 192.168.x.x ping을 이용한 일반적인 스캔(대상 호스트가 살아 있음을 알 수 있음)
nmap -sP -PT80 192.168.x.x 특정 포트(80)를 검색해서 해당 포트에 ping을 이용하여 확인하는 듯
nmap -p- 192.168.x.x 모든 포트 스캔
nmap -p [포트번호] 192.168.x.x 대상 호스트의 특정 포트 스캔, 스캔할 포트 지정 ex) -p 1-5500
nmap -p 20,30,80 192.168.x.x 포트 여러개 설정하고 싶을 때 다음과 같이 작성
nmap -p 1-1023 192.168.x.x 1~1023 범위를 포트 스캔한다.

 


3) 핑스캔

 nmap -sP 192.168.x.x ping을 이용한 일반적인 스캔(대상 호스트가 살아 있음을 알 수 있음)
nmap -sL 192.168.x.x 목록 스캔(서버가 살아있는지 죽어있는지 확인할 때 사용하기 좋다)
nmap -PS 192.168.x.x TCP SYN 패킷을 보냄
nmap -PA 192.168.x.x TCP ACK 패킷을 보냄 (-PS와 비슷하지만 방화벽을 우회하디 위해 ACK를 보냄)
nmap -PU 192.168.x.x UDP 핑, 빈 UDP 패킷을 해당 포트로 보낸다 (TCP 필터링을 피해감)
-Pn Ping 스캔을 비활성화하도록 지정하는 옵션

$ nmap -sV -O -P [target port]
$ nmap -sV -O -P "www.example.com"
$ nmap -sV -O -P 192.168.xxx.xxx

#사용해본 명령어
$ nmap -sn 210.93.208.0/20 # ping 스윕 (살아있는 호스트 확인)
$ nmap -sn 210.93.208.0/20 -oN ping-sweep.txt # 결과 파일로 저장
#ping-sweep.txt에서 IP만 따로 정리해서 txt에 정리함 → list.txt

#list.txt 파일에 나열된 모든 호스트에 대해, ping 검사 없이, 모든 TCP 포트를 스캔하며, 스캔 결과를 XML 형식으로 저장
# -Pn 으로 Ping 스캔을 비활성화 한 이유는 이미 위에서 살아있는 호스트를 확인했기 때문
$ nmap -sS -Pn -p- -iL list.txt -oX result.xml

 

반응형