Nmap 명령 및 자격 증명 없는 디스커버리를 사용하여 수집된 데이터

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 03월 12일
  • 소요 시간: 8분
  • Nmap은 데이터를 수집할 때 단계별로 실행되며, 애플리케이션 및 장치 탐색을 위한 두 가지 패턴을 사용하여 제어된 안전한 명령 집합을 실행합니다.

    호스트 검색에서 Nmap이 반환한 데이터

    Nmap은 작동 중인 것으로 확인된 호스트에 대해 다음 데이터를 반환합니다.
    • 운영 체제 제품군: 운영 체제 제품군이 지원되는 6가지 서버 운영 체제 제품군 중 하나이면 적절한 서버 클래스와 연관된 호스트 CI가 호스트 CI를 만들거나 업데이트하는 데 사용됩니다. Nmap에서 반환된 운영 체제 제품군이 지원되는 서버 운영 체제 중 하나가 아닌 경우 기본 하드웨어 [cmdb_ci_hardware] 클래스를 사용하여 호스트 CI가 생성되거나 업데이트됩니다.
    • MAC 주소: 스캔한 호스트가 Nmap 명령을 실행 중인 Windows MID 서버 호스트와 동일한 서브넷에 있으면 Nmap은 원격 호스트의 MAC 주소를 반환합니다.

    호스트 검색 중 Nmap에서 실행되는 명령

    MID 서버는 IP 서비스 테이블에서 가져온 포트 집합과 Nmap 명령에 원격 호스트의 IP 주소를 전달합니다. 호스트가 Nmap에서 작동 중인 것으로 보고되어야 합니다. Nmap에 의해 반환된 포트 상태가 열림 또는 열림/필터링됨이면 호스트가 작동 중입니다. 호스트가 작동 중인 상태로 보고되면 반환된 운영 체제 제품군을 검사하여 호스트 CI를 만들거나 업데이트하는 데 사용되는 클래스를 결정합니다.
    명령 설명
    -PS TCP SYN 옵션은 호스트가 온라인 상태인지 확인합니다. 이 옵션은 스캔 목록에서 지정된 모든 포트로 SYN 플래그가 설정된 비어 있는 원시 TCP 패킷을 전송합니다. Nmap은 SYN/ACK TCP 패킷이 반환되고 RST가 반환되어 포트가 닫혀 있음을 나타내는 호스트를 온라인 상태로 보고합니다. Nmap 호스트 컴퓨터는 SYN/ACK 응답이 해당 관점에서 예상되지 않기 때문에 ACK 대신 RST로 nascent 연결을 분해합니다. 여러 포트 프로브가 지정된 경우 병렬로 전송됩니다.
    요구 사항:
    • 원시 패킷 권한.
    • UNIX에서 루트로 실행해야 합니다.
    • Windows에 대한 관리자 권한이 필요합니다.
    -PA 패킷 필터링 장치를 검색합니다. 이 옵션은 지정된 포트 목록을 사용하는 TCP ACK 호스트 검색입니다. 정의된 목록이 없으면 기본 포트 80이 사용됩니다.

    Nmap은 ACK 플래그가 설정된 비어 있는 원시 TCP 패킷을 전송합니다. 이 작업은 설정된 TCP 연결을 통해 데이터를 확인하여 원격 호스트가 RST 패킷으로 응답하게 만듭니다. 원격 호스트가 RST 패킷으로 응답하면 Nmap은 호스트가 온라인 상태임을 알 수 있습니다. ACK ping 프로브는 상태 비저장 패킷 필터링, 방화벽과 같은 네트워크 엔터티, 라우터 및 호스트 라우팅 테이블/방화벽 소프트웨어에 의한 TCP SYN 패킷의 패킷 필터링을 통과할 수 있습니다. 상태 저장 방화벽은 예기치 않은 패킷을 삭제하여, ACK 패킷을 삭제시키고, 이로 인해 SYN TCP 프로브가 통과할 가능성이 높아집니다.

    요구 사항:
    • 원시 패킷 권한.
    • UNIX에서 루트로 실행해야 합니다.
    • Windows에 대한 관리자 권한이 필요합니다.
    주:
    Ping SYN(-PS) 및 Ping ACK(-PA) 패킷 유형 모두 동일한 스캔 시도에서 함께 구성할 수 있습니다.
    -오 벤더 이름, 기본 OS, OS 세대 및 라우터 또는 스위치와 같은 장치 유형을 제공하는 원격 hostm에 대해 OS 검색을 사용하도록 설정합니다.

    Nmap은 TCP/IP 스택 핑거프린트를 사용하여 호스트에서 실행 중인 OS 제품군을 확인합니다. Nmap은 일련의 TCP 및 UPD 패킷을 호스트로 전송하고 응답을 검사합니다. 응답을 철저히 테스트한 후 Nmap은 결과를 해당 nmap-os-db 데이터베이스와 비교하고 일치 항목이 있으면 OS 상세 정보를 출력합니다. Nmap이 OS를 추측할 수 없고 하나 이상의 열린 포트와 하나의 닫힌 포트가 발견되면 nmap.org 에 제출할 지문과 URL을 생성합니다.

    OS 검색에는 NSE(Nmap 스크립팅 엔진)의 스크립트가 사용되지 않습니다. OS 검색은 애플리케이션/서비스 버전 검색 후에 실행되어 OS 검색의 정확도에 도움이 됩니다. 그러나 두 스캔 유형의 결과는 모순적일 수 있습니다. OS 검색은 TCP 전송 계층에서 실행되고, 애플리케이션/서비스 버전 검색은 TCP 스택의 높은 수준에서 실행됩니다.

    요구 사항:
    • 원시 패킷 권한.
    • UNIX에서 루트로 실행해야 합니다.
    • Windows에 대한 관리자 권한이 필요합니다.
    -p 검색할 포트 목록입니다.
    -T4 Nmap 의 적극적인 타이밍 템플릿입니다.
    -v 자세한 상세 정보를 활성화합니다. 이 명령은 일반적으로 표준 출력 뷰어에 진행 상태 표시를 제공하는 데 사용됩니다. 하지만 NSE(Nmap 스크립팅 엔진) 스크립트가 추가 상세 정보를 제공하도록 만들 수 있습니다.
    -Pn 기본 ping을 사용하지 않도록 설정합니다. 이 명령은 초기 Nmap 호스트 검색 스캔 단계를 건너뛰고 모든 호스트를 온라인 상태인 것처럼 처리합니다. 기본 검색 프로브로 실행되는 포트 집합이 열린 포트를 찾지 못할 경우에도 포트 스캔을 수행하려면 이 명령을 사용합니다.
    -r 임의 스캔 없이 포트를 연속적으로 스캔합니다.
    --이유 Nmap이 포트를 특정 상태로 분류한 이유를 설명합니다.
    --시스템-dns DNS 이름 서버 대신 역방향 DNS 조회를 위해 운영 체제의 DNS 확인자를 사용합니다. 여러 rDNS 요청이 병렬로 수행되는 반면에 한 번에 하나의 IP 주소만 확인할 수 있기 때문에 이 옵션은 DNS 서버를 사용하는 것보다 느립니다. 그러나 반환되는 값은 호스트 CI를 만드는 데 사용되는 MID 서버에서 반환되는 값과 일치합니다.
    -엑스 - Stdout을 XML 파일로 리디렉션합니다.
    2> <파일 경로> Nmap이 stderr 에 기록한 오류 메시지를 지정된 파일로 리디렉션합니다.

    애플리케이션 검색 중 Nmap이 반환하는 데이터

    Nmap은 가동 중으로 확인된 호스트로부터 다음과 같은 애플리케이션 데이터를 반환합니다.
    • 포트 상태:
      • open: 애플리케이션이 포트에서 TCP(또는 UDP) 패킷을 적극적으로 수락하고 있습니다.
      • open|filtered: Nmap이 포트가 열려 있는지 또는 필터링되었는지 확인할 수 없습니다. 열린 포트는 Nmap의 UDP, IP 프로토콜, FIN, NULL 및 Xmas 스캔을 사용할 때 응답을 반환하지 않을 수 있습니다.
    • 서비스 이름: 서비스 포트에서 현재 TCP(또는 UDP) 패킷을 수신하는 서비스의 이름입니다.
    • 서비스 제품: Nmap으로 식별된 대로 열린 포트에서 실행 중인 애플리케이션의 이름입니다.
    • 추가 서비스 정보: 검색이 애플리케이션을 식별하는 데 사용할 수 있는 Nmap에서 반환되는 모든 추가 정보입니다.

    애플리케이션 검색 중 Nmap에서 실행되는 명령

    MID 서버는 원격 호스트에 대해 하나의 IP 주소와 스캔할 포트를 Nmap 명령으로 전달합니다. Nmap은 포트에서 현재 수신 대기 중인 애플리케이션을 식별하려고 시도한 후 새 CI를 만들어야 하는지 아니면 기존 CI를 업데이트해야 하는지 여부를 결정합니다. 호스트가 Nmap에서 작동 중인 것으로 보고되어야 합니다.

    Nmap은 이 정보를 사용하여 수행할 과정을 결정합니다.
    • 서비스 제품
    • 서비스 이름
    • 추가 서비스 정보
    • 스캔한 포트 상태
      주:
      서비스 제품 및 서비스 이름 값은 NULL일 수 없으며, 서비스 이름은 물음표로 끝날 수 없습니다. Nmap은 스캔한 포트에서 수신 대기 중인 애플리케이션을 추측할 때 서비스 이름에 물음표를 추가합니다. Nmap이 정적 nmap-services 레지스트리 파일에서 애플리케이션 이름을 검색할 수 없으면 인스턴스가 애플리케이션 CI를 만들거나 업데이트하지 않습니다.
    명령 설명
    -sS TCP SYN(stealth) 포트 스캔입니다. 이 옵션은 기본 스캔 옵션이며 TCP 연결을 완료하지 않습니다. 스캔 시에는 열려 있거나 닫혀 있거나 필터링된 포트를 구분할 수 있습니다.

    TCP SYN 스캔은 연결을 설정하기 전에 요청을 중단하는 반열림 재설정을 구현합니다. SYN/ACK가 반환되면 포트가 열려 있습니다(애플리케이션이 수신 대기 중임). RST가 반환되면 포트가 힙니다. 여러 번 재전송한 후에도 응답이 수신되지 않으면 포트가 필터링된 것으로 표시됩니다. ICMP 연결 불가능 오류(유형 3, 코드 1,2,3,9,10,13)가 수신된 경우에도 포트가 필터링됨으로 표시됩니다.

    요구 사항:
    • 원시 패킷 권한
    • 루트로 실행해야 함
    • Windows 관리자 권한
    -sV 프로브는 포트를 열어서 서비스 프로토콜, 애플리케이션 이름, 버전 번호, 호스트 이름, 장치 유형, OS 제품군 및 SSH 프로토콜 버전과 같은 기타 상세 정보를 확인합니다.
    Nmap이 응답을 수신할 때 nmap.org 에 제출할 지문 및 URL을 출력하는 데이터베이스와 일치하지 않습니다. 정적 nmap-services 레지스트리 파일에서 포트 번호를 찾아 포트에서 현재 수신 대기 중일 수 있는 애플리케이션 서비스의 이름을 결정합니다. Nmap으로 반환된 서비스 이름에 물음표가 추가되어 Nmap에서 해당 ID를 추측했음을 나타냅니다. Nmap이 열린 포트에서 실행 중인 애플리케이션에서 추측을 수행할 때는 인스턴스가 애플리케이션 CI를 만들거나 업데이트하지 않습니다.
    주:
    이 명령에는 원시-패킷 권한이 필요하지 않습니다.
    --데이터디르 애플리케이션/버전 검색 중 실행할 안전한 Nmap 스크립트 집합이 포함된 디렉터리 경로입니다.
    -p 스캔할 단일 포트입니다.
    -T4 Nmap 의 적극적인 타이밍 템플릿입니다.
    -v 자세한 상세 정보를 활성화합니다. 이 명령은 일반적으로 표준 출력 뷰어에 진행 상태 표시를 제공하는 데 사용됩니다. 하지만 NSE(Nmap 스크립팅 엔진) 스크립트가 추가 상세 정보를 제공하도록 만들 수 있습니다.
    -Pn 기본 ping을 사용하지 않도록 설정합니다. 이 명령은 초기 Nmap 호스트 검색 스캔 단계를 건너뛰고 모든 호스트를 온라인 상태인 것처럼 처리합니다. 기본 검색 프로브로 실행되는 포트 집합이 열린 포트를 찾지 못할 경우에도 포트 스캔을 수행하려면 이 명령을 사용합니다.
    -r 임의 스캔 없이 포트를 연속적으로 스캔합니다.
    --이유 Nmap이 포트를 특정 상태로 분류한 이유를 설명합니다.
    --시스템-dns DNS 이름 서버 대신 역방향 DNS 조회를 위해 운영 체제의 DNS 확인자를 사용합니다. 여러 rDNS 요청이 병렬로 수행되는 반면에 한 번에 하나의 IP 주소만 확인할 수 있기 때문에 이 옵션은 DNS 서버를 사용하는 것보다 느립니다. 그러나 반환되는 값은 호스트 CI를 만드는 데 사용되는 MID 서버에서 반환되는 값과 일치합니다.
    -엑스 - Stdout을 XML 파일로 리디렉션합니다.
    2> <파일 경로> Nmap이 stderr 에 기록한 오류 메시지를 지정된 파일로 리디렉션합니다.