Nmap 명령 구문 이해

NmapBeginner
지금 연습하기

소개

이 랩에서는 Nmap 명령 구문을 이해하는 방법을 배우게 됩니다. 랩은 Xfce 에서 터미널을 열고 nmap 127.0.0.1 명령을 사용하여 로컬 시스템에서 기본적인 Nmap 스캔을 실행하는 것으로 시작합니다. 또한 -h를 사용하여 도움말을 표시하고, -v를 사용하여 자세한 정보를 표시하고, -d를 사용하여 디버깅을 활성화하는 등 다양한 옵션을 살펴보고 옵션을 결합하는 방법도 배웁니다. 마지막으로, nmap -v 192.168.1.1을 사용하여 로컬 네트워크에서 구문을 테스트합니다.

이것은 가이드 실험입니다. 학습과 실습을 돕기 위한 단계별 지침을 제공합니다.각 단계를 완료하고 실무 경험을 쌓기 위해 지침을 주의 깊게 따르세요. 과거 데이터에 따르면, 이것은 초급 레벨의 실험이며 완료율은 95%입니다.학습자들로부터 100%의 긍정적인 리뷰율을 받았습니다.

Xfce 에서 터미널을 열고 nmap 127.0.0.1 실행

이 단계에서는 Nmap (Network Mapper) 도구를 사용하여 로컬 시스템을 스캔하는 방법을 배우게 됩니다. Nmap 은 패킷을 전송하고 응답을 분석하여 컴퓨터 네트워크에서 호스트와 서비스를 검색할 수 있는 강력한 네트워크 스캔 유틸리티입니다.

Nmap 기본 사항 이해

Nmap 은 시스템 관리자 및 보안 전문가가 일반적으로 다음과 같은 용도로 사용합니다.

  • 네트워크 인벤토리 및 매핑
  • 네트워크 호스트에서 열린 포트 찾기
  • 실행 중인 서비스 및 해당 버전 식별
  • 보안 감사 및 취약성 평가

Xfce 에서 터미널 열기

Nmap 을 사용하기 전에 Xfce 데스크톱 환경에서 터미널을 열어야 합니다.

  1. Xfce 패널에서 터미널 아이콘을 찾습니다 (일반적으로 화면 상단 또는 하단에 있음).
  2. 또는, 단축키 Ctrl+Alt+T를 사용하여 터미널 창을 열 수 있습니다.
  3. 데스크톱을 마우스 오른쪽 버튼으로 클릭하고 컨텍스트 메뉴에서 "여기에 터미널 열기"를 선택할 수도 있습니다.

첫 번째 Nmap 스캔 실행

이제 터미널을 열었으므로 로컬 머신 (localhost) 에서 첫 번째 Nmap 스캔을 수행합니다. IP 주소 127.0.0.1은 항상 현재 사용 중인 로컬 머신을 나타냅니다.

  1. 터미널에서 기본 디렉토리에 있는지 확인합니다.
cd ~/project
  1. 다음 명령을 실행하여 localhost 를 스캔합니다.
nmap 127.0.0.1
  1. 스캔이 완료될 때까지 기다립니다. 시스템에 따라 몇 초 정도 걸릴 수 있습니다.

출력 이해

명령을 실행한 후 다음과 유사한 출력을 볼 수 있습니다.

Starting Nmap 7.80 ( https://nmap.org ) at 2023-09-21 15:30 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00016s latency).
Not shown: 997 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
3306/tcp open  mysql

Nmap done: 1 IP address (1 host up) scanned in 0.08 seconds

이 출력을 분석해 보겠습니다.

  • 헤더는 Nmap 버전과 스캔 시작 시간을 보여줍니다.
  • "Host is up"은 대상 (로컬 머신) 이 온라인 상태임을 확인합니다.
  • "Not shown: 997 closed ports"는 대부분의 포트가 닫혀 있음을 나타냅니다.
  • 목록은 어떤 포트가 열려 있고 어떤 서비스가 실행 중인지 보여줍니다.
  • 요약 줄은 스캔 통계를 보여줍니다.

참고: 열린 포트는 현재 LabEx VM 에서 실행 중인 서비스에 따라 다르므로 실제 결과는 다를 수 있습니다.

이 기본 스캔은 시스템에서 어떤 네트워크 서비스가 활성 상태인지에 대한 중요한 정보를 제공하여 추가 보안 분석 또는 문제 해결의 기반을 마련합니다.

nmap -h 로 Nmap 도움말 표시

이 단계에서는 Nmap 의 내장 도움말 문서에 액세스하는 방법을 배우게 됩니다. 도움말 정보에 액세스하고 사용하는 방법을 이해하는 것은 Nmap 을 포함한 모든 명령줄 도구를 마스터하는 데 매우 중요합니다.

도움말 옵션을 사용하는 이유

명령줄 도구는 기억하기 어려울 수 있는 수많은 옵션과 기능을 갖는 경우가 많습니다. 도움말 옵션은 사용 가능한 명령, 구문 및 간략한 설명을 빠르게 참조할 수 있도록 제공합니다. Nmap 의 경우, 도움말 문서는 다양한 시나리오에 대한 많은 스캔 옵션을 가지고 있으므로 특히 유용합니다.

Nmap 도움말 정보 표시

Nmap 에 대한 도움말 정보를 표시하려면 다음 단계를 따르세요.

  1. 이전 단계에서 사용하던 터미널 창에서 계속 작업하고 있는지 확인합니다.

  2. 필요한 경우, 기본 디렉토리로 다시 이동합니다.

cd ~/project
  1. Nmap 의 도움말 정보를 표시하려면 다음 명령을 실행합니다.
nmap -h

출력 이해

명령을 실행하면 다음을 포함하는 포괄적인 도움말 출력을 볼 수 있습니다.

  • 기본 사용 구문
  • 대상 지정 옵션
  • 호스트 검색 옵션
  • 스캔 기술
  • 포트 지정 옵션
  • 서비스/버전 감지
  • 타이밍 및 성능 옵션
  • 그리고 더 많은 범주

다음은 표시될 내용의 부분적인 예입니다.

Nmap 7.80 ( https://nmap.org )
Usage: nmap [Scan Type(s)] [Options] {target specification}
TARGET SPECIFICATION:
  Can pass hostnames, IP addresses, networks, etc.
  Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254
  -iL <inputfilename>: Input from list of hosts/networks
  -iR <num hosts>: Choose random targets
  ...

주목해야 할 주요 섹션

도움말 정보를 검토할 때 다음 중요한 섹션에 특히 주의하세요.

  1. 대상 지정 (Target Specification): 다양한 유형의 대상 (단일 호스트, IP 범위 등) 을 지정하는 방법을 보여줍니다.
  2. 스캔 기술 (Scan Techniques): Nmap 이 수행할 수 있는 다양한 유형의 스캔.
  3. 출력 옵션 (Output Options): Nmap 이 결과를 표시하는 방식을 제어하는 방법.
  4. 타이밍 템플릿 (Timing Templates): 스캔 속도와 공격성을 제어하는 옵션.

도움말 정보 효과적으로 사용하기

도움말 문서는 방대하므로 모든 옵션을 암기할 필요는 없습니다. 대신, 일반적인 범주를 이해하고 필요할 때 도움말에 빠르게 액세스하는 방법을 아는 데 집중하세요.

이 랩의 다음 단계에서는 이 도움말 문서에서 볼 수 있는 옵션 중 일부, 특히 자세한 정보 표시 (-v) 및 디버깅 (-d) 옵션을 사용하게 됩니다.

nmap -v 로 상세 정보 표시 (127.0.0.1)

이 단계에서는 -v 옵션을 사용하여 Nmap 스캔의 자세한 정보 표시 수준을 높이는 방법을 배우게 됩니다. 자세한 정보 표시 수준은 Nmap 이 스캔 프로세스 중에 표시하는 정보의 양을 제어하며, 이는 백그라운드에서 무슨 일이 일어나고 있는지 이해하는 데 매우 유용합니다.

Nmap 에서 자세한 정보 표시 이해

Nmap 과 같은 명령줄 도구를 실행할 때 기본 출력은 종종 필수 정보만 제공합니다. 그러나 다음과 같은 더 자세한 정보가 필요한 경우가 있습니다.

  • 각 단계에서 도구가 수행하는 작업
  • 스캔에 대한 타이밍 정보
  • 발견된 호스트 및 서비스에 대한 추가 세부 정보
  • 경고 메시지 및 사소한 문제

-v 플래그 ( "verbose"의 약자, 자세한 정보 표시) 는 Nmap 이 작업 중에 더 자세한 출력을 제공하도록 지시합니다.

자세한 정보 표시 수준 증가의 이점

자세한 정보 표시 수준을 높이는 것은 특히 다음과 같은 경우에 유용합니다.

  1. 스캔 문제 해결
  2. Nmap 작동 방식 학습
  3. 네트워크 동작에 대한 더 깊은 통찰력 얻기
  4. 스캔 구성의 잠재적 문제 식별
  5. 분석을 위한 더 포괄적인 데이터 수집

자세한 정보 표시 수준을 높여 Nmap 실행

자세한 정보 표시 수준을 높여 Nmap 스캔을 실행해 보겠습니다.

  1. 이전 단계에서 사용하던 터미널 창에 있는지 확인합니다.

  2. 필요한 경우, 기본 프로젝트 디렉토리로 다시 이동합니다.

cd ~/project
  1. 로컬 호스트에 대한 자세한 정보 표시 스캔을 수행하려면 다음 명령을 실행합니다.
nmap -v 127.0.0.1

자세한 정보 표시 출력 분석

자세한 정보 표시 옵션을 활성화하면 1 단계에서 수행한 기본 스캔에 비해 훨씬 더 많은 출력을 볼 수 있습니다. 다음은 표시될 수 있는 내용의 부분적인 예입니다.

Starting Nmap 7.80 ( https://nmap.org ) at 2023-09-21 16:45 UTC
Initiating Ping Scan at 16:45
Scanning 127.0.0.1 [2 ports]
Completed Ping Scan at 16:45, 0.00s elapsed (1 total hosts)
Initiating Connect Scan at 16:45
Scanning localhost (127.0.0.1) [1000 ports]
Discovered open port 22/tcp on 127.0.0.1
Discovered open port 80/tcp on 127.0.0.1
Discovered open port 3306/tcp on 127.0.0.1
Completed Connect Scan at 16:45, 0.03s elapsed (1000 total ports)
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00016s latency).
Not shown: 997 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
3306/tcp open  mysql

Read data files from: /usr/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 0.12 seconds

자세한 정보 표시 출력의 주요 차이점

표준 스캔에 없었던 다음 추가 정보를 확인하세요.

  1. 스캔 단계 (Scan Phases): 자세한 정보 표시 출력은 "Initiating Ping Scan" 및 "Initiating Connect Scan"과 같은 뚜렷한 단계를 보여줍니다.
  2. 실시간 발견 (Real-time Discoveries): 최종 보고서뿐만 아니라 각 열린 포트가 발견되는 것을 볼 수 있습니다.
  3. 타이밍 정보 (Timing Information): 각 단계가 얼마나 오래 걸렸는지에 대한 더 자세한 정보.
  4. 기술적 세부 정보 (Technical Details): 스캔이 수행된 방식에 대한 정보.

여러 자세한 정보 표시 수준

Nmap 은 여러 수준의 자세한 정보 표시를 지원합니다. 여러 -v 옵션을 사용하여 자세한 정보 표시 수준을 더욱 높일 수 있습니다.

nmap -vv 127.0.0.1  ## Even more verbose (더욱 자세하게)
nmap -vvv 127.0.0.1 ## Extremely verbose (극도로 자세하게)

대부분의 경우, 단일 -v는 과도한 세부 정보로 압도하지 않으면서 적절한 정보 균형을 제공합니다.

다음 단계에서는 스캔 프로세스에 대한 더 많은 정보를 제공하는 추가 Nmap 옵션을 살펴보겠습니다.

nmap -d 로 디버깅 활성화 (127.0.0.1)

이 단계에서는 -d 옵션을 사용하여 Nmap 에서 디버깅 모드를 활성화하는 방법을 배우게 됩니다. 이전 단계에서 사용한 자세한 정보 표시 옵션 -v가 더 많은 작업 세부 정보를 제공하는 반면, 디버깅은 Nmap 의 내부 작동 방식을 노출하여 한 단계 더 나아갑니다.

Nmap 에서 디버깅 이해

디버깅은 자세한 정보 표시보다 더 고급 수준의 정보 출력입니다. 자세한 정보 표시는 Nmap 이 수행하는 작업에 대한 더 많은 작업 세부 정보를 제공하는 데 중점을 두는 반면, 디버깅은 다음을 보여줍니다.

  • 내부 알고리즘 및 의사 결정 프로세스
  • 패킷 수준 정보
  • Nmap 이 시스템과 상호 작용하는 방식에 대한 기술적 세부 정보
  • 낮은 수준의 프로토콜 정보
  • 메모리 및 리소스 할당 세부 정보

디버깅 모드를 사용해야 하는 경우

디버깅 출력은 다음과 같은 시나리오에서 특히 유용합니다.

  1. 복잡한 스캔 문제 해결
  2. Nmap 이 특정 방식으로 작동하는 이유 이해
  3. 네트워크 프로토콜 및 스캔 기술 학습
  4. Nmap 용 스크립트 또는 확장 개발
  5. 특이한 네트워크 동작 조사

디버깅을 활성화하여 Nmap 실행

디버깅을 활성화하여 Nmap 스캔을 실행해 보겠습니다.

  1. 이전 단계에서 사용하던 터미널 창에 있는지 확인합니다.

  2. 필요한 경우, 기본 프로젝트 디렉토리로 다시 이동합니다.

cd ~/project
  1. 로컬 호스트에 대한 디버그 활성화 스캔을 수행하려면 다음 명령을 실행합니다.
nmap -d 127.0.0.1

디버그 출력 분석

명령을 실행하면 이전 단계에서 사용한 자세한 정보 표시 모드보다 훨씬 더 많은 출력을 볼 수 있습니다. 디버깅 정보는 매우 기술적이며 다음 세부 정보를 포함합니다.

Starting Nmap 7.80 ( https://nmap.org ) at 2023-09-21 17:30 UTC
--------------- Timing report ---------------
  hostgroups: min 1, max 100000
  rtt-timeouts: init 1000, min 100, max 10000
  max-scan-delay: TCP 1000, UDP 1000, SCTP 1000
  parallelism: min 0, max 0
  max-retries: 10, host-timeout: 0
  min-rate: 0, max-rate: 0
---------------------------------------------
NSOCK INFO [0.0100s] nsock_iod_new2(): nsock_iod_new (IOD #1)
NSOCK INFO [0.0100s] nsock_connect_tcp(): TCP connection requested to 127.0.0.1:80 (IOD #1) EID 8
NSOCK INFO [0.0100s] nsock_trace_handler_callback(): Callback: CONNECT SUCCESS for EID 8 [127.0.0.1:80]
NSOCK INFO [0.0100s] nsock_read(): Read request from IOD #1 [127.0.0.1:80] (timeout: -1ms) EID 18
NSOCK INFO [0.0100s] nsock_iod_delete(): nsock_iod_delete (IOD #1)
...

디버그 출력의 주요 구성 요소

디버그 출력에는 몇 가지 주요 구성 요소가 포함됩니다.

  1. 타이밍 보고서 (Timing Reports): 스캔에 사용된 타이밍 매개변수에 대한 자세한 정보
  2. NSOCK 정보 (NSOCK Information): 네트워크 소켓 작업에 대한 세부 정보
  3. 원시 패킷 데이터 (Raw Packet Data): 전송 및 수신되는 패킷에 대한 정보
  4. 메모리 작업 (Memory Operations): 메모리 할당 및 사용에 대한 세부 정보
  5. 프로토콜별 정보 (Protocol-Specific Information): Nmap 이 다양한 프로토콜과 상호 작용하는 방식에 대한 낮은 수준의 세부 정보

Nmap 의 디버그 레벨

자세한 정보 표시와 마찬가지로 Nmap 은 여러 디버깅 레벨을 지원합니다. 다음을 사용하여 디버깅 세부 정보를 더욱 늘릴 수 있습니다.

nmap -dd 127.0.0.1  ## More detailed debugging (더 자세한 디버깅)
nmap -ddd 127.0.0.1 ## Extremely detailed debugging (극도로 자세한 디버깅)

대부분의 문제 해결 시나리오에서 단일 -d는 과도한 기술적 세부 정보로 압도하지 않으면서 충분한 정보를 제공합니다.

디버그 정보의 실용적인 사용

디버그 정보는 처음에는 압도적으로 보일 수 있지만 특정 구성 요소는 매우 유용할 수 있습니다.

  • 네트워크 연결 문제는 종종 NSOCK 섹션에 나타납니다.
  • 스캔 타이밍 문제는 타이밍 보고서를 사용하여 진단할 수 있습니다.
  • 프로토콜별 문제는 프로토콜 섹션에서 식별할 수 있습니다.

다음 단계에서는 자세한 정보 표시 및 디버깅 옵션을 결합하여 스캔 프로세스에 대한 더욱 포괄적인 보기를 얻는 방법을 배우게 됩니다.

nmap 옵션 조합: -v -d 사용 (127.0.0.1)

이 단계에서는 단일 스캔에서 자세한 정보 표시와 디버깅의 이점을 모두 얻기 위해 여러 Nmap 명령줄 옵션을 결합하는 방법을 배우게 됩니다. 이 강력한 접근 방식은 Nmap 스캔 중에 발생하는 상황에 대한 가장 포괄적인 보기를 제공합니다.

Nmap 에서 명령줄 옵션 결합

Nmap 과 같은 명령줄 도구의 큰 장점 중 하나는 다양한 옵션을 결합하여 명령의 동작과 출력을 사용자 정의할 수 있다는 것입니다. 이전 단계에서 다음을 사용했습니다.

  • -v (자세한 정보 표시, verbosity) 는 더 많은 작업 세부 정보를 얻기 위해 사용
  • -d (디버깅, debugging) 은 내부 기술 정보를 보기 위해 사용

이러한 옵션은 별도의 스캔을 실행할 필요 없이 두 가지 모두의 이점을 얻기 위해 단일 명령으로 결합할 수 있습니다.

옵션 결합의 이점

자세한 정보 표시와 디버깅을 결합하면 다음과 같은 몇 가지 이점이 있습니다.

  1. 완전한 정보 (Complete Information): 높은 수준의 작업 세부 정보와 낮은 수준의 기술 정보를 모두 얻을 수 있습니다.
  2. 효율적인 스캔 (Efficient Scanning): 여러 스캔을 실행하는 대신 단일 작업으로 모든 정보를 수집할 수 있습니다.
  3. 상관된 출력 (Correlated Output): 정보가 시간 순서대로 표시되므로 이벤트를 연결하기가 더 쉽습니다.
  4. 포괄적인 문제 해결 (Comprehensive Troubleshooting): 네트워크 문제를 해결할 때 모든 정보를 한 번에 사용할 수 있으면 문제 해결 속도를 높일 수 있습니다.

결합된 옵션으로 Nmap 실행

자세한 정보 표시와 디버깅을 모두 활성화하여 Nmap 스캔을 실행해 보겠습니다.

  1. 이전 단계에서 사용하던 터미널 창에 있는지 확인합니다.

  2. 필요한 경우, 기본 프로젝트 디렉토리로 다시 이동합니다.

cd ~/project
  1. 자세한 정보 표시와 디버깅을 모두 활성화하여 스캔을 수행하려면 다음 명령을 실행합니다.
nmap -v -d 127.0.0.1

결합된 출력 분석

명령을 실행하면 두 옵션의 이점을 결합한 매우 자세한 출력을 볼 수 있습니다.

Starting Nmap 7.80 ( https://nmap.org ) at 2023-09-21 18:15 UTC
--------------- Timing report ---------------
  hostgroups: min 1, max 100000
  rtt-timeouts: init 1000, min 100, max 10000
  max-scan-delay: TCP 1000, UDP 1000, SCTP 1000
  parallelism: min 0, max 0
  max-retries: 10, host-timeout: 0
  min-rate: 0, max-rate: 0
---------------------------------------------
Initiating Ping Scan at 18:15
Scanning 127.0.0.1 [2 ports]
NSOCK INFO [0.0100s] nsock_iod_new2(): nsock_iod_new (IOD #1)
NSOCK INFO [0.0100s] nsock_connect_tcp(): TCP connection requested to 127.0.0.1:80 (IOD #1) EID 8
NSOCK INFO [0.0100s] nsock_trace_handler_callback(): Callback: CONNECT SUCCESS for EID 8 [127.0.0.1:80]
Completed Ping Scan at 18:15, 0.00s elapsed (1 total hosts)
Initiating Connect Scan at 18:15
Scanning localhost (127.0.0.1) [1000 ports]
Discovered open port 22/tcp on 127.0.0.1
Discovered open port 80/tcp on 127.0.0.1
...

결합된 출력 비교

이제 출력에 다음이 포함되어 있는지 확인하세요.

  1. 타이밍 보고서 (Timing Reports): 디버깅 옵션 (-d) 에서
  2. 스캔 단계 정보 (Scan Phase Information): 자세한 정보 표시 옵션 (-v) 에서
  3. NSOCK 정보 (NSOCK Information): 디버깅 옵션 (-d) 에서
  4. 포트 검색 정보 (Port Discovery Information): 자세한 정보 표시 옵션 (-v) 에서

이 결합된 출력은 높은 수준과 낮은 수준의 관점에서 Nmap 이 수행하는 작업에 대한 가장 포괄적인 보기를 제공합니다.

대체 순서 및 형식

옵션을 다른 순서로 지정하거나 단일 플래그로 결합할 수도 있습니다. 다음 명령은 모두 동일합니다.

nmap -v -d 127.0.0.1
nmap -d -v 127.0.0.1
nmap -vd 127.0.0.1

가장 읽기 쉽거나 입력하기 편리한 형식을 선택하세요.

두 레벨을 동시에 증가

자세한 정보 표시와 디버깅 레벨을 동시에 높일 수도 있습니다.

nmap -vv -dd 127.0.0.1

이렇게 하면 훨씬 더 자세한 정보가 제공되지만 대부분의 경우 각 레벨을 하나씩 사용하는 것으로 충분합니다.

실용적인 응용 프로그램

이 결합된 접근 방식은 특히 다음과 같은 경우에 유용합니다.

  1. 학습 (Learning): Nmap 이 무엇을 하고 있는지와 어떻게 하고 있는지 모두 이해
  2. 문제 해결 (Troubleshooting): 사용 가능한 모든 정보를 사용하여 복잡한 스캔 문제 진단
  3. 네트워크 분석 (Network Analysis): 네트워크가 다양한 유형의 스캔에 어떻게 반응하는지에 대한 자세한 통찰력 얻기
  4. 문서화 (Documentation): 분석 또는 비교를 위해 네트워크 동작에 대한 포괄적인 기록 생성

다음 단계에서는 배운 내용을 적용하여 네트워크의 다른 대상을 스캔합니다.

nmap 구문 테스트: 로컬 네트워크 스캔 (-v 192.168.1.1)

이 단계에서는 로컬 호스트만 스캔하는 대신 로컬 네트워크의 장치를 대상으로 하여 Nmap 스캔 지식을 확장합니다. Nmap 과 같은 네트워크 스캔 도구는 주로 원격 호스트를 검색하고 분석하도록 설계되었으므로 이는 중요한 발전입니다.

로컬 네트워크 스캔 이해

지금까지는 자체 머신을 나타내는 루프백 주소 127.0.0.1을 스캔했습니다. 로컬 네트워크를 스캔하려면 컴퓨터와 동일한 네트워크에 연결된 다른 장치를 대상으로 해야 합니다.

주소 192.168.1.1은 많은 가정 및 소규모 사무실 네트워크에서 기본 게이트웨이 (라우터) 주소로 일반적으로 사용됩니다. 이는 네트워크에서 종종 응답하므로 연습에 유용한 대상입니다.

네트워크 주소와 로컬 호스트 비교

다음은 네트워크 주소를 스캔하는 방법과 로컬 호스트를 스캔하는 방법의 차이점입니다.

측면 로컬 호스트 (127.0.0.1) 네트워크 주소 (192.168.1.1)
대상 자체 머신 네트워크의 다른 장치
트래픽 내부 전용 (네트워크 패킷 없음) 인터페이스를 통한 네트워크 트래픽
보안 방화벽/NAT 트래버설 없음 네트워크 경계를 넘을 수 있음
응답 시간 매우 빠름 네트워크 조건에 따라 다름
결과 더 예측 가능 대상 구성에 따라 다름

네트워크 스캔 실행

자세한 정보 표시에 대해 배운 내용을 사용하여 일반적인 네트워크 주소를 스캔해 보겠습니다.

  1. 이전 단계에서 사용하던 터미널 창에 있는지 확인합니다.

  2. 필요한 경우, 기본 프로젝트 디렉토리로 다시 이동합니다.

cd ~/project
  1. 자세한 정보 표시를 활성화하여 일반적인 기본 게이트웨이 주소를 스캔하려면 다음 명령을 실행합니다.
nmap -v 192.168.1.1

출력 분석

LabEx 환경에서 이 명령을 실행하면 다음과 유사한 출력이 표시될 수 있습니다.

Starting Nmap 7.80 ( https://nmap.org ) at 2023-09-21 19:30 UTC
Initiating Ping Scan at 19:30
Scanning 192.168.1.1 [2 ports]
Completed Ping Scan at 19:30, 3.01s elapsed (1 total hosts)
Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn
Nmap done: 1 IP address (0 hosts up) scanned in 3.12 seconds

"Host Seems Down" 이해

컨테이너인 LabEx 환경에서는 "Host seems down" 메시지가 표시될 수 있습니다. 그 이유는 다음과 같습니다.

  1. 컨테이너 네트워크는 일반적인 LAN 환경과 격리되어 있습니다.
  2. IP 주소 192.168.1.1 이 컨테이너의 네트워크에 존재하지 않을 수 있습니다.
  3. 외부 주소로의 네트워크 트래픽이 필터링될 수 있습니다.

이는 랩 환경에서 정상적이고 예상되는 동작입니다. 192.168.1.1 이 존재하는 실제 네트워크에서는 다른 결과를 보게 됩니다.

-Pn 을 사용하여 호스트 검색 건너뛰기

Nmap 이 호스트가 작동 중인지 확인할 수 없는 경우 -Pn 옵션을 사용하여 호스트 검색 단계를 건너뛰고 어쨌든 포트 스캔을 진행할 수 있습니다.

nmap -v -Pn 192.168.1.1

이렇게 하면 Nmap 이 호스트가 작동 중이라고 가정하고 핑 응답에 관계없이 포트를 스캔하려고 시도합니다.

대체 대상 스캔

컨테이너 환경에서는 일반적인 네트워크 주소에 연결하지 못할 수 있습니다. 시도해 볼 수 있는 몇 가지 대안은 다음과 같습니다.

  1. 공용 DNS 서버를 스캔합니다 (주의해서 교육 목적으로만 사용).
nmap -v 8.8.8.8
  1. 다른 루프백 주소를 스캔합니다.
nmap -v 127.0.0.2

배운 내용

이 랩 환경에서 스캔이 실제 호스트에 도달하지 않더라도 다음과 같은 중요한 개념을 배웠습니다.

  1. 로컬 호스트를 넘어 네트워크 주소를 스캔하도록 Nmap 을 지시하는 방법
  2. 로컬 호스트와 네트워크 장치를 스캔하는 방법의 차이점
  3. "host seems down"과 같은 일반적인 스캔 결과를 해석하는 방법
  4. 네트워크 스캔과 함께 자세한 정보 표시를 사용하는 방법
  5. 스캔 도구를 사용할 때 네트워크 컨텍스트의 중요성

이러한 기술은 권한이 있는 실제 환경에서 보다 고급 네트워크 스캔의 기반을 형성합니다.

윤리적 고려 사항

실제 시나리오에서는 소유하거나 스캔할 명시적인 권한이 있는 네트워크 및 장치만 스캔해야 합니다. 무단 스캔은 다음과 같을 수 있습니다.

  1. 네트워크 제공업체의 서비스 약관 위반
  2. 일부 관할 구역에서 잠재적으로 불법
  3. 네트워크 관리자가 의심스럽거나 적대적인 것으로 간주
  4. 네트워크 운영에 잠재적으로 지장을 줄 수 있음

항상 책임감 있는 스캔을 수행하십시오.

요약

이 랩에서는 참가자들이 Nmap 명령 구문을 배웁니다. Xfce 데스크톱 환경에서 터미널을 열고 nmap 127.0.0.1 명령을 사용하여 로컬 머신에서 기본 Nmap 스캔을 실행하는 것으로 시작합니다. 또한 네트워크 인벤토리, 열린 포트 찾기, 보안 감사와 같은 Nmap 의 일반적인 사용법에 대해 배웁니다. 또한 -h를 사용하여 도움말 표시, -v를 사용하여 자세한 정보 표시 증가, -d를 사용하여 디버깅 활성화, 옵션 결합, nmap -v 192.168.1.1을 사용하여 로컬 네트워크에서 구문 테스트와 같은 다양한 옵션을 탐색합니다.