점검 도구/Nmap

Nmap - 1. 설치 및 사용 방법

서쪽곰 2023. 12. 20. 20:24

목 차

     

    1. Nmap

    "Network Mapper"의 약자인 Nmap은 네트워크 탐색 및 보안 감사를 위해 강력하고 널리 사용되는 오픈 소스 도구입니다. 

    컴퓨터 네트워크의 호스트, 서비스 및 취약점을 검색하도록 설계되었습니다. 

    Nmap은 네트워크 정찰을 위한 포괄적인 기능 세트를 제공하는 다양하고 확장 가능한 도구입니다.

    Nmap의 몇 가지 주요 기능은 다음과 같습니다.

    (1) 호스트 검색: Nmap은 ICMP(인터넷 제어 메시지 프로토콜) 핑, ARP(주소 확인 프로토콜) 요청, TCP SYN 스캔 등과 같은 다양한 기술을 사용하여 네트워크에서 활성 상태인 호스트를 확인할 수 있습니다.

     

    (2) 포트 스캐닝: Nmap은 대상 호스트에서 열린 포트를 스캐닝하고 식별하는 데 탁월합니다. TCP 연결 스캔, SYN 스캔, UDP 스캔 등을 포함한 다양한 스캔 기술을 지원합니다. 포트 스캐닝은 시스템에서 실행 중인 서비스를 이해하는 데 도움이 됩니다.

     

    (3) 서비스 버전 감지: Nmap은 열려 있는 포트를 조사하여 해당 포트에서 실행되는 서비스 버전을 확인할 수 있습니다. 이 정보는 사용 중인 소프트웨어를 이해하고 특정 서비스 버전과 관련된 잠재적인 취약점을 식별하는 데 중요합니다.

     

    (4) 운영체제 탐지: Nmap은 스캐닝 과정에서 수신된 응답의 특성을 분석하여 대상 호스트의 운영 체제 식별을 시도할 수 있습니다.

     

    (5) 스크립팅 엔진(NSE): Nmap에는 NSE(Nmap 스크립팅 엔진)라는 스크립팅 엔진이 포함되어 있습니다. 이 기능을 통해 사용자는 스크립트를 작성하고 실행하여 취약점 검색, 악용, 정보 수집 등 검색 프로세스 중에 추가 작업을 수행할 수 있습니다.

     

    (6) 출력 형식: Nmap은 사람이 읽을 수 있는 텍스트, XML 및 grepable 형식을 포함한 다양한 출력 형식을 제공합니다. 이러한 유연성을 통해 사용자는 자신의 필요에 가장 적합한 형식을 선택하거나 Nmap 결과를 다른 도구에 통합할 수 있습니다.

     

    (7) 타이밍 및 성능 옵션: Nmap을 사용하면 사용자가 스캔 타이밍과 성능을 제어할 수 있으므로 스캔 강도를 조정하여 감지를 피하거나 속도를 최적화할 수 있습니다.

     

    2. Npcap

    Npcap은 Windows 운영 체제용 패킷 캡처 라이브러리 및 드라이버입니다. 

    이는 Windows 시스템에서 Nmap이 원시 패킷 캡처를 수행하고 다양한 네트워크 관련 작업을 수행하는 데 사용하는 중요한 구성 요소입니다. 

    Npcap은 Nmap이 네트워크 인터페이스와 상호 작용하고, 패킷을 캡처하고, 네트워크 트래픽을 분석하는 데 필요한 인프라를 제공합니다. Nmap에서 Npcap의 주요 목적은 다음과 같습니다.

    (1) 원시 패킷 캡처: Nmap에는 호스트 검색, 포트 스캐닝, 서비스 버전 감지, OS 핑거프린팅과 같은 기능을 수행하기 위해 원시 네트워크 패킷을 캡처하고 분석하는 기능이 필요합니다. Npcap은 Windows 시스템에서 이러한 원시 패킷 캡처 기능을 용이하게 합니다.


    (2) 무차별 모드: Npcap은 Nmap이 무차별 모드에서 작동하도록 허용합니다. 이는 Nmap을 실행하는 호스트를 위한 트래픽뿐만 아니라 유선상의 모든 네트워크 트래픽을 캡처하고 검사할 수 있음을 의미합니다. 이는 스캐닝 및 정찰과 같은 작업에 매우 중요합니다.


    (3) 삽입 지원: Npcap은 패킷 주입을 지원하므로 Nmap이 맞춤 제작된 패킷을 네트워크에 보낼 수 있습니다. 이 기능은 취약성 테스트 및 특정 유형의 네트워크 탐색을 포함한 다양한 작업에 유용합니다.


    (4) 고성능: Npcap은 고성능 패킷 캡처를 위해 설계되었습니다. 이는 네트워크 인터페이스에 대한 효율적이고 낮은 수준의 액세스를 제공하여 Nmap이 패킷을 빠르고 정확하게 캡처하고 분석할 수 있도록 합니다.


    (5) 루프백 인터페이스 지원: Npcap은 루프백 인터페이스 캡처를 지원하므로 Nmap이 로컬 시스템의 트래픽을 검사할 수 있습니다. 이는 동일한 시스템에서 실행되는 서비스 및 포트를 검색하는 데 특히 유용합니다.


    (6) WinPcap 대체: Npcap은 Windows 시스템에서 WinPcap을 대체하는 데 자주 사용됩니다. WinPcap은 널리 사용되는 패킷 캡처 라이브러리였으나 개발이 중단되었으며 Npcap은 보다 현대적이고 적극적으로 유지 관리되는 대안으로 간주됩니다.


    전반적으로 Npcap은 안정적이고 성능이 뛰어난 패킷 캡처 인터페이스를 제공하여 Windows 플랫폼에서 Nmap의 기능을 향상하는 필수 구성 요소입니다. 

    Windows에 Nmap을 설치하면 Nmap이 이 패킷 캡처 라이브러리에서 제공하는 기능을 활용할 수 있도록 설치 프로그램에서 Npcap도 설치하라는 메시지를 표시할 수 있습니다.

     

    3. 다운로드 및 설치

    nmap-7.94 최신버전 다운로드 및 설치 (2023-12-20)

    https://nmap.org/download

     

    Download the Free Nmap Security Scanner for Linux/Mac/Windows

    Download Reference Guide Book Docs Zenmap GUI In the Movies Older versions (and sometimes newer test releases) are available from the Nmap release archive (and really old ones are in dist-old). For the more security-paranoid (smart) users, GPG detached sig

    nmap.org

     

    Npcap 1.75 추가 설치 선택

     

    Nmap Setup

     

    Npcap 설치 프로그램의 "무선 어댑터에 대한 원시 802.11 트래픽 지원" 옵션은 호환되는 무선 네트워크 어댑터가 있는 시스템에 설치된 경우 원시 Wi-Fi(802.11) 트래픽을 캡처하고 분석하는 Npcap 기능을 나타냅니다.

     

    Npcap 설치 중에 이 옵션을 선택하면 Npcap에는 Wi-Fi 네트워크 통신의 기본 단위인 무선 프레임 캡처 및 처리에 대한 지원이 포함됩니다. 이러한 프레임에는 MAC 주소, 신호 강도, 데이터 및 관리 정보와 같은 정보가 포함됩니다.

     

    Npcap Setup

     

     

    4. Nmap 기본 옵션 설명

    Nmap --help

     

    Nmap 옵션은 크게 다음과 같은 세 가지 범주로 나눌 수 있습니다.

    • 스캔 옵션
    • 출력 옵션
    • 기타 옵션

     

    1) 스캔 옵션

    스캔 옵션은 Nmap이 수행할 스캔의 종류와 세부 사항을 지정하는 옵션입니다.

     

    -sP
    ping 스캔은 대상 호스트가 응답하는지 확인하는 간단한 스캔으로 대상 호스트에 ICMP Echo 요청을 보내고 응답을 기다립니다.
    응답이 있으면 대상 호스트가 응답하고 있음을 의미합니다.

     

    -sS
    TCP SYN 스캔은 가장 일반적으로 사용되는 스캔 유형으로 대상 호스트에 TCP SYN 패킷을 보내고 응답을 기다립니다. 
    응답이 있으면 대상 호스트가 포트를 열고 있음을 의미합니다.

     

    -sU
    UDP 스캔은 UDP 포트가 열려 있는지 확인하는 데 사용하는 유형으로 대상 호스트에 UDP 패킷을 보내고 응답을 기다립니다. 
    응답이 있으면 대상 호스트가 포트를 열고 있음을 의미합니다.

     

    -sF
    TCP FIN 스캔은 대상 호스트의 포트가 열려 있는지 확인하는 데 사용하는 유형으로 대상 호스트에 TCP FIN 패킷을 보내고 응답을 기다립니다. 
    응답이 있으면 대상 호스트가 포트를 열고 있음을 의미합니다.

     

    -sN
    TCP NULL 스캔은 대상 호스트의 포트가 열려 있는지 확인하는 데 사용하는 유형으로 대상 호스트에 TCP 패킷을 보내지만 아무런 데이터도 포함하지 않습니다. 
    응답이 있으면 대상 호스트가 포트를 열고 있음을 의미합니다.

     

    -sX
    TCP XMAS 스캔은 대상 호스트의 포트가 열려 있는지 확인하는 데 사용하는 유형으로 대상 호스트에 TCP 패킷을 보내지만 FIN, URG, ACK 플래그를 모두 설정합니다. 
    응답이 있으면 대상 호스트가 포트를 열고 있음을 의미합니다.

     

    -b
    FTP 바운스 공격을 사용하여 대상 호스트를 스캔합니다. 
    FTP 서버를 사용하여 대상 호스트에 스캔 요청을 전달합니다.

     

    -p <port>
    스캔할 포트를 지정합니다.
    포트명 대신 해당 서비스가 매치될 수도 있습니다 (예 : -p ssh)

     

    -F
    빠른 모드, 가장 일반적인 100개 포트만 스캔합니다.

     

    -p-
    65535 포트를 모두 스캔합니다.

     

    2) 출력 옵션

    출력 옵션은 Nmap이 출력할 결과의 형식과 내용을 지정하는 옵션입니다.

     

    -oN
    표준 출력에 결과를 출력합니다.
    이는 Nmap의 기본 출력 형식입니다. 표준 출력에는 다음과 같은 정보가 포함됩니다.
    • 대상 호스트의 IP 주소
    • 스캔된 포트
    • 포트의 상태

     

    -oX
    XML 형식으로 결과를 출력합니다.
    XML은 데이터를 구조화된 방식으로 저장하는 데 사용되는 표준 형식입니다. Nmap의 XML 출력에는 다음과 같은 정보가 포함됩니다.
    • 대상 호스트의 IP 주소
    • 스캔된 포트
    • 포트의 상태
    • 포트에서 발견된 서비스
    • 포트에서 발견된 서비스의 버전

     

    -oG
    Grep 형식으로 결과를 출력합니다.
    Grep은 텍스트 파일에서 특정 패턴을 검색하는 데 사용되는 도구입니다.
    Nmap의 Grep 형식 출력은 다음과 같은 형식입니다.

    host:port:state

    예를 들어, 다음과 같은 출력이 생성됩니다.

    192.168.0.1:22:open
    192.168.0.1:80:open

     

    -oA
    표준 출력, XML 형식, Grep 형식의 결과를 모두 출력합니다.

     

    -v
    출력에 더 자세한 정보를 포함합니다.
    자세한 정보에는 다음과 같은 정보가 포함될 수 있습니다.
    • 스캔의 속도
    • 스캔에 사용된 스캐너
    • 스캔에 사용된 스캔 기술

     

    -d
    디버그 메시지를 출력합니다.
    디버그 메시지는 Nmap이 수행하는 작업에 대한 자세한 정보를 제공합니다.
     

    3) 기타 옵션

    기타 옵션은 Nmap의 동작을 제어하거나 추가 기능을 제공하는 옵션입니다.

     

    -iL
    파일에서 대상 호스트 목록을 읽습니다.
    대상 호스트 목록은 쉼표로 구분된 IP 주소 또는 호스트 이름의 목록입니다.
    예를 들어, 다음과 같은 파일은 192.168.0.1, 192.168.0.2, 192.168.0.3의 세 가지 대상 호스트를 포함합니다.

    192.168.0.1
    192.168.0.2
    192.168.0.3

     

    -r
    대상 호스트 목록을 무작위 순서로 스캔합니다.
    이 옵션은 스캔을 더 균등하게 분산시키는 데 도움이 됩니다.

     

    -T0~T5
    스캔의 속도를 지정합니다. T0는 가장 빠르고 T5은 가장 느립니다.
    예를 들어, 다음과 같은 명령은 가장 빠른 속도로 스캔을 수행합니다.

     

    -S
    IP 스푸핑을 사용하여 스캔을 수행합니다.
    IP 스푸핑은 Nmap이 다른 IP 주소에서 스캔 요청을 보낼 수 있도록 합니다.
    이 옵션은 방화벽을 우회하는 데 도움이 될 수 있습니다.

     

    -p
    검사할 포트 범위를 지정합니다. 포트 범위는 쉼표로 구분된 포트 번호의 목록입니다.
    예를 들어, 다음과 같은 명령은 22, 80, 443 포트를 검사합니다.


    nmap -sS -p 22,80,443 192.168.0.1

     

    -O
    대상 호스트의 OS를 추측합니다.
    이 옵션은 Nmap이 대상 호스트의 운영 체제를 추측하는 데 도움이 됩니다.

     

    -A
    OS 추측, 서비스 탐색, 취약점 진단을 수행합니다.
    이 옵션은 Nmap이 대상 호스트에 대한 보다 포괄적인 검사를 수행하는 데 도움이 됩니다.

     

    --script
    NSE 스크립트를 실행합니다.
    NSE 스크립트는 Nmap의 기능을 확장하는 데 사용되는 작은 프로그램입니다.
    NSE 스크립트를 사용하여 대상 호스트에 대한 보다 구체적인 검사를 수행할 수 있습니다.

     

    --script-help=<script>
    특정 스크립트에 대한 도움말을 표시합니다.

     

    -h, --help
    도움말 정보를 표시합니다.

     

    -V
    버전 정보를 인쇄합니다.

     

    -6
    IPv6 스캐닝을 활성화합니다.

     

    --reason
    포트가 특정 상태에 있는 이유를 표시합니다.

     

    --badsum
    체크섬이 잘못된 패킷을 보냅니다.

     

    --data-length
    전송된 패킷에 임의의 데이터를 추가합니다.

     







     

     

     

    반응형