네트워크 분석도구 NMAP의 사용법
Network

네트워크 분석도구 NMAP의 사용법

연구소 인턴 2023. 8. 23.
300x250
반응형

서론

네트워크를 분석하는 도구는 용도에 따라 여러가지 도구(Tools)가 있습니다.

그 중 하나인 NMAP에 대해 알아 보려고 합니다.

Nmap(Network Mapper)

네트워크 탐사 및 보안 평가 도구로 널리 사용되는 오픈 소스 소프트웨어입니다.

Nmap은 네트워크 호스트들 간의 연결 상태, 오픈 포트, 서비스 버전 정보 등을 확인하는 데 사용됩니다.

이 도구는 다양한 운영 체제에서 실행할 수 있으며, 명령 줄 인터페이스를 통해 사용자가 명령을 입력하여 실행할 수 있습니다.

Nmap의 주요 기능 및 용도

1. **포트 스캐닝:**

Nmap은 네트워크 호스트들의 오픈 포트를 탐지하고 그 상태를 확인하는 데 사용됩니다. 이를 통해 시스템의 보안 취약점을 파악하고 네트워크의 취약성을 평가할 수 있습니다.

2. **OS 감지:**

Nmap은 호스트의 운영 체제(OS)를 추측하는 데 사용됩니다. 네트워크에서 상호 작용하고 있는 시스템의 운영 체제를 식별하여 보안 평가나 대응 방안 수립에 활용될 수 있습니다.

3. **서비스 식별:**

Nmap은 오픈된 포트에서 동작하는 서비스의 버전 정보를 식별할 수 있습니다. 이를 통해 해당 서비스의 취약성 여부를 확인하고 업데이트 여부를 파악할 수 있습니다.

4. **스크립트 가능성:**

Nmap은 NSE(Nmap Scripting Engine)라는 기능을 통해 사용자 지정 스크립트를 실행할 수 있습니다. 이를 통해 더 자세한 정보를 수집하거나 특정 시나리오에 따른 테스트를 수행할 수 있습니다.

5. **보안 평가 및 감사:**

네트워크 보안 전문가는 Nmap을 사용하여 시스템의 취약성을 평가하고 보안 문제를 식별할 수 있습니다. 또한, 시스템 관리자는 네트워크 환경의 변화를 모니터링하고 네트워크 장비의 구성 상태를 확인할 수 있습니다.

 

Nmap 다운로드

Nmap 7.94은 여기서 다운로드가 가능합니다.

https://nmap.org

 

Nmap: the Network Mapper - Free Security Scanner

Download Reference Guide Book Docs Zenmap GUI In the Movies Get Nmap 7.94 here Nmap.org has been redesigned! Our new mobile-friendly layout is also on Npcap.com, Seclists.org, Insecure.org, and Sectools.org. Nmap 7.90 has been released with Npcap 1.00 alon

nmap.org

Kali Linux에서 Nmap 사용법

매뉴얼 페이지https://nmap.org/book.man.html 

 

Chapter 15. Nmap Reference Guide | Nmap Network Scanning

Chapter 15. Nmap Reference Guide Nmap (“Network Mapper”) is an open source tool for network exploration and security auditing. It was designed to rapidly scan large networks, although it works fine against single hosts. Nmap uses raw IP packets in no

nmap.org

사용법: nmap [스캔 유형] [옵션] {대상 사양}
대상 사양:
   호스트 이름, IP 주소, 네트워크 등을 전달할 수 있습니다.
   예: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254
   -iL <inputfilename>: 호스트/네트워크 목록에서 입력
   -iR <호스트 수>: 무작위 대상 선택
   --exclude <host1[,host2][,host3],...>: 호스트/네트워크 제외
   --excludefile <exclude_file>: 파일에서 목록을 제외합니다.

 

호스트 검색:

   -sL: 목록 스캔 - 스캔할 대상을 간단히 나열합니다.
   -sn: Ping 스캔 - 포트 스캔 비활성화
   -Pn: 모든 호스트를 온라인으로 처리 - 호스트 검색 건너뛰기
   -PS/PA/PU/PY[portlist]: 지정된 포트에 대한 TCP SYN/ACK, UDP 또는 SCTP 검색
   -PE/PP/PM: ICMP 에코, 타임스탬프 및 넷마스크 요청 검색 프로브
   -PO[프로토콜 목록]: IP 프로토콜 핑
   -n/-R: DNS 확인을 수행하지 않음/항상 확인 [기본값: 가끔]
   --dns-servers <serv1[,serv2],...>: 사용자 정의 DNS 서버 지정
   --system-dns: OS의 DNS 확인자 사용
   --traceroute: 각 호스트에 대한 추적 홉 경로

 

스캔 기술:

   -sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon 스캔
   -sU: UDP 스캔
   -sN/sF/sX: TCP Null, FIN 및 Xmas 스캔
   --scanflags <플래그>: TCP 스캔 플래그 사용자 정의
   -sI <좀비 호스트[:probeport]>: 유휴 스캔
   -sY/sZ: SCTP INIT/COOKIE-ECHO 스캔
   -sO: IP 프로토콜 스캔
   -b <FTP 릴레이 호스트>: FTP 바운스 스캔

 

포트 사양 및 스캔 순서:

   -p <포트 범위>: 지정된 포트만 검사
     예: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9
   --exclude-ports <포트 범위>: 지정된 포트를 검사에서 제외합니다.
   -F: 빠른 모드 - 기본 스캔보다 적은 수의 포트를 스캔합니다.
   -r: 포트를 순차적으로 스캔합니다. 무작위로 지정하지 않습니다.
   --top-ports <번호>: <번호>개의 가장 일반적인 포트를 검색합니다.
   --port-ratio <ratio>: <ratio>보다 더 일반적인 포트를 검색합니다.

 

서비스/버전 감지:

   -sV: 서비스/버전 정보를 확인하기 위해 열린 포트를 조사합니다.
   --version-intensity <level>: 0(약함)에서 9(모든 프로브 시도)까지 설정합니다.
   --version-light: 가능성이 가장 높은 프로브로 제한(강도 2)
   --version-all: 모든 단일 프로브를 시도합니다(강도 9).
   --version-trace: 자세한 버전 검색 활동 표시(디버깅용)

 

스크립트 스캔:

   -sC: --script=default와 동일
   --script=<Lua 스크립트>: <Lua 스크립트>는 쉼표로 구분된 목록입니다.
            디렉토리, 스크립트 파일 또는 스크립트 카테고리
   --script-args=<n1=v1,[n2=v2,...]>: 스크립트에 인수를 제공합니다.
   --script-args-file=filename: 파일에 NSE 스크립트 인수 제공
   --script-trace: 보내고 받은 모든 데이터 표시
   --script-updatedb: 스크립트 데이터베이스를 업데이트합니다.
   --script-help=<Lua 스크립트>: 스크립트에 대한 도움말을 표시합니다.
            <Lua 스크립트>는 쉼표로 구분된 스크립트 파일 목록입니다.
            스크립트 카테고리.

 

OS 감지:

   -O: OS 감지 활성화
   --osscan-limit: OS 감지를 유망한 대상으로 제한합니다.
   --osscan-guess: OS를 더욱 적극적으로 추측합니다.

 

타이밍 및 성능:

   <time>이 걸리는 옵션은 초 단위이거나 'ms'(밀리초)를 추가합니다.
   's'(초), 'm'(분) 또는 'h'(시간)를 값(예: 30m)으로 바꿉니다.
   -T<0-5>: 타이밍 템플릿 설정(높을수록 빠릅니다)
   --min-hostgroup/max-hostgroup <크기>: 병렬 호스트 스캔 그룹 크기
   --min-parallelism/max-parallelism <numprobes>: 프로브 병렬화
   --min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <시간>: 다음을 지정합니다.
       프로브 왕복 시간.
   --max-retries <tries>: 포트 스캔 프로브 재전송 횟수를 제한합니다.
   --host-timeout <time>: 이 시간이 지나면 목표를 포기합니다.
   --scan-delay/--max-scan-delay <시간>: 프로브 간 지연 조정
   --min-rate <숫자>: 초당 <숫자>보다 느리지 않게 패킷을 보냅니다.
   --max-rate <숫자>: 초당 <숫자>보다 빠르지 않게 패킷을 보냅니다.

방화벽/IDS 회피 및 스푸핑:

   -F; --mtu <val>: 조각 패킷(선택적으로 지정된 MTU 포함)
   -D <decoy1,decoy2[,ME],...>: 미끼로 스캔을 은폐합니다.
   -S <IP_Address>: 스푸핑 소스 주소
   -e <iface>: 지정된 인터페이스 사용
   -g/--source-port <portnum>: 지정된 포트 번호 사용
   --proxies <url1,[url2],...>: HTTP/SOCKS4 프록시를 통한 릴레이 연결
   --data <hex string>: 전송된 패킷에 사용자 정의 페이로드를 추가합니다.
   --data-string <string>: 전송된 패킷에 사용자 정의 ASCII 문자열을 추가합니다.
   --data-length <num>: 전송된 패킷에 임의의 데이터를 추가합니다.
   --ip-options <옵션>: 지정된 IP 옵션을 사용하여 패킷을 보냅니다.
   --ttl <val>: IP TTL(Time-To-Live) 필드 설정
   --spoof-mac <mac 주소/접두사/공급업체 이름>: MAC 주소를 스푸핑합니다.
   --badsum: 가짜 TCP/UDP/SCTP 체크섬을 사용하여 패킷을 보냅니다.

 

산출:

   -oN/-oX/-oS/-oG <file>: 일반, XML, s|<rIpt kIddi3의 출력 스캔,
      및 Grepable 형식을 각각 주어진 파일 이름에 적용합니다.
   -oA <basename>: 세 가지 주요 형식을 동시에 출력합니다.
   -v: 자세한 정보 수준을 높입니다(효과를 높이려면 -vv 이상을 사용하세요).
   -d: 디버깅 수준을 높입니다(효과를 높이려면 -dd 이상을 사용하세요).
   --reason: 포트가 특정 상태에 있는 이유를 표시합니다.
   --open: 열려 있는(또는 열려 있을 가능성이 있는) 포트만 표시합니다.
   --packet-trace: 보내고 받은 모든 패킷을 표시합니다.
   --iflist: 호스트 인터페이스 및 경로 인쇄(디버깅용)

   --append-output: 지정된 출력 파일을 방해하는 대신 추가합니다.

   --resume <filename>: 중단된 스캔을 재개합니다.

   --noninteractive: 키보드를 통한 런타임 상호 작용 비활성화

   --stylesheet <path/URL>: XML 출력을 HTML로 변환하는 XSL 스타일시트

   --webxml: 보다 이식성이 뛰어난 XML을 위한 Nmap.Org의 참조 스타일시트

   --no-stylesheet: XSL 스타일시트와 XML 출력의 연결 방지 기타: -6: IPv6 스캐닝 활성화

   -A: OS 감지, 버전 감지, 스크립트 스캔 및 경로 추적을 활성화합니다.

   --datadir <dirname>: 사용자 정의 Nmap 데이터 파일 위치를 지정합니다.

   --send-eth/--send-ip: 원시 이더넷 프레임 또는 IP 패킷을 사용하여 전송

   --privileged: 사용자에게 완전한 권한이 있다고 가정합니다.

   --unprivileged: 사용자에게 원시 소켓 권한이 없다고 가정합니다.

   -V: 버전 번호 인쇄

   -h: 이 도움말 요약 페이지를 인쇄합니다.

예: nmap -v -A scanme.nmap.org nmap -v -sn 192.168.0.0/16 10.0.0.0/8 nmap -v -iR 10000 -Pn -p 80

 

 

300x250
반응형

댓글