Nmap 스캔 통계 분석

NmapBeginner
지금 연습하기

소개

이 랩에서는 Nmap 에서 스캔 통계를 분석하는 방법을 배우게 됩니다. 이 랩은 --stats-every 옵션을 사용하여 정기적인 간격으로 스캔 통계를 표시하고, -v 옵션을 사용하여 상세도를 높이며, 통계 출력을 파일에 저장하는 방법을 다룹니다. 또한 타이밍 통계를 검토하고, 서로 다른 타이밍 템플릿으로 통계를 비교하며, 스캔 지속 시간을 분석합니다.

이 랩은 통계가 활성화된 상태로 스캔을 실행하는 것으로 시작하여, 출력에 상세도를 추가합니다. 다음으로, 나중에 분석할 수 있도록 통계를 파일에 저장하는 방법을 배우게 됩니다. 마지막으로, 다양한 타이밍 템플릿을 살펴보고 스캔 지속 시간에 미치는 영향을 이해하기 위해 스캔 지속 시간을 분석합니다.

nmap --stats-every 5s 192.168.1.0/24로 통계와 함께 스캔 실행

이 단계에서는 Nmap 에서 --stats-every 옵션을 사용하여 정기적인 간격으로 스캔 통계를 표시하는 방법을 배우게 됩니다. 이는 특히 대규모 네트워크를 스캔할 때 스캔 진행 상황을 모니터링하는 데 유용합니다.

먼저, 기본 구문을 이해해 보겠습니다.

nmap --stats-every <time> <target>
  • --stats-every <time>: Nmap 이 스캔 통계를 표시해야 하는 간격 (초) 을 지정합니다.
  • <target>: 스캔하려는 대상 IP 주소 또는 네트워크입니다.

이 단계에서는 192.168.1.0/24 네트워크를 스캔하고 5 초마다 통계를 표시합니다.

터미널에서 다음 명령을 실행합니다.

sudo nmap --stats-every 5s 192.168.1.0/24

Nmap 이 네트워크 스캔을 시작하고 5 초마다 통계를 출력하는 것을 볼 수 있습니다. 통계에는 스캔된 호스트 수, 활성 호스트 수, 예상 남은 시간과 같은 정보가 포함됩니다.

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:00 UTC
Nmap scan report for 192.168.1.1
Host is up (0.00020s latency).
Not shown: 999 closed ports
PORT   STATE SERVICE
22/tcp open  ssh

Stats: 0:00:05 elapsed; 0 hosts completed (0 up), 256 hosts total
Stats: 0:00:10 elapsed; 0 hosts completed (0 up), 256 hosts total
Stats: 0:00:15 elapsed; 0 hosts completed (0 up), 256 hosts total
...

참고: 출력은 네트워크 구성에 따라 다릅니다. 스캔을 완료하는 데 시간이 걸릴 수 있습니다. Ctrl+C를 눌러 언제든지 스캔을 중지할 수 있습니다. 이는 데모이므로 스캔이 완료될 때까지 기다릴 필요는 없습니다.

nmap -v 로 상세 정보 추가 및 통계 확인 (nmap -v --stats-every 5s 127.0.0.1)

이 단계에서는 --stats-every를 사용하여 정기적인 간격으로 스캔 통계를 표시하는 동시에 -v 옵션을 사용하여 Nmap 출력의 상세도를 높이는 방법을 배우게 됩니다. 상세도는 스캔 프로세스에 대한 더 자세한 정보를 제공하며, 문제 해결 또는 Nmap 의 동작 이해에 도움이 될 수 있습니다.

-v 옵션은 상세도 레벨을 높입니다. 더 자세한 출력을 위해 여러 번 사용할 수 있습니다 (예: -vv).

터미널에서 다음 명령을 실행하여 상세도와 함께 localhost (127.0.0.1) 를 스캔하고 5 초마다 통계를 표시합니다.

sudo nmap -v --stats-every 5s 127.0.0.1

Nmap 이 스캔을 시작하고 5 초마다 통계와 함께 스캔의 각 단계에 대한 더 자세한 정보를 출력하는 것을 볼 수 있습니다.

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:05 UTC
Initiating Ping Scan at 10:05
Scanning 127.0.0.1 [4 ports]
Completed Ping Scan at 10:05, 0.00s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 10:05
Completed Parallel DNS resolution of 1 host. at 10:05, 0.00s elapsed
Initiating Connect Scan at 10:05
Scanning localhost (127.0.0.1) [1000 ports]
Discovered open port 22/tcp on 127.0.0.1
Completed Connect Scan at 10:05, 0.00s elapsed (1000 total ports)
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000083s latency).
Not shown: 999 closed ports
PORT   STATE SERVICE
22/tcp open  ssh

Stats: 0:00:05 elapsed; 1 hosts completed (1 up), 1 hosts total
Stats: 0:00:10 elapsed; 1 hosts completed (1 up), 1 hosts total
Stats: 0:00:15 elapsed; 1 hosts completed (1 up), 1 hosts total
...

-v 옵션으로 제공되는 추가 정보, 예를 들어 다양한 스캔 단계의 시작 및 완료를 확인하십시오. 이는 Nmap 이 무엇을 하고 있는지 이해하고 문제를 진단하는 데 매우 유용할 수 있습니다.

Ctrl+C를 눌러 언제든지 스캔을 중지할 수 있습니다. 이는 데모이므로 스캔이 완료될 때까지 기다릴 필요는 없습니다.

nmap 통계 결과 파일 저장 (nmap --stats-every 5s -oN stats.txt 192.168.1.1)

이 단계에서는 --stats-every로 표시되는 통계를 포함하여 Nmap 스캔의 출력을 -oN 옵션을 사용하여 파일에 저장하는 방법을 배우게 됩니다. 이를 통해 나중에 스캔 결과와 통계를 분석할 수 있습니다.

-oN 옵션은 출력을 "normal" 형식으로 지정된 파일에 저장하도록 지정합니다.

터미널에서 다음 명령을 실행하여 호스트 192.168.1.1을 스캔하고, 5 초마다 통계를 표시하고, 출력을 ~/project 디렉토리의 stats.txt 파일에 저장합니다.

sudo nmap --stats-every 5s -oN stats.txt 192.168.1.1

Nmap 은 스캔을 시작하고 터미널에 통계를 표시하지만, 전체 스캔 출력을 stats.txt 파일에도 저장합니다.

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:10 UTC
Nmap scan report for 192.168.1.1
Host is up (0.00020s latency).
Not shown: 999 closed ports
PORT   STATE SERVICE
22/tcp open  ssh

Stats: 0:00:05 elapsed; 0 hosts completed (0 up), 1 hosts total
Stats: 0:00:10 elapsed; 0 hosts completed (0 up), 1 hosts total
Stats: 0:00:15 elapsed; 0 hosts completed (0 up), 1 hosts total
...

스캔 후 (또는 Ctrl+C로 중단한 후) cat 명령을 사용하여 stats.txt 파일의 내용을 볼 수 있습니다.

cat ~/project/stats.txt

그러면 스캔 보고서와 스캔 중에 표시된 통계를 포함하여 Nmap 스캔 출력이 표시됩니다.

## Nmap 7.80 scan initiated Fri Oct 27 10:10:00 2023 as: nmap --stats-every 5s -oN stats.txt 192.168.1.1
Nmap scan report for 192.168.1.1
Host is up (0.00020s latency).
Not shown: 999 closed ports
PORT   STATE SERVICE
22/tcp open  ssh

## Nmap done at Fri Oct 27 10:10:15 2023 -- 1 IP address (1 host up) scanned in 15.00 seconds

참고: stats.txt의 출력은 주기적인 통계 업데이트가 아닌 최종 스캔 보고서가 됩니다. 통계는 --stats-every를 사용할 때만 터미널에 표시됩니다.

Xfce 터미널에서 타이밍 통계 검토

이 단계에서는 Nmap 이 스캔 중에 표시하는 타이밍 통계를 관찰하고 해석하는 방법을 배우게 됩니다. --stats-every 옵션을 사용하여 Xfce 터미널에서 이러한 통계를 주기적으로 표시합니다.

타이밍 통계를 검토하려면 터미널에서 다음 명령을 실행합니다.

sudo nmap --stats-every 2s 192.168.1.1

이 명령은 호스트 192.168.1.1을 스캔하고 2 초마다 스캔 통계를 표시합니다.

Xfce 터미널에서 다음과 유사한 출력을 볼 수 있습니다.

Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-27 10:15 UTC
Nmap scan report for 192.168.1.1
Host is up (0.00020s latency).
Not shown: 999 closed ports
PORT   STATE SERVICE
22/tcp open  ssh

Stats: 0:00:02 elapsed; 0 hosts completed (0 up), 1 hosts total
Stats: 0:00:04 elapsed; 0 hosts completed (0 up), 1 hosts total
Stats: 0:00:06 elapsed; 0 hosts completed (0 up), 1 hosts total
Stats: 0:00:08 elapsed; 0 hosts completed (0 up), 1 hosts total
Nmap done at Fri Oct 27 10:15:10 2023 -- 1 IP address (1 host up) scanned in 10.00 seconds

이러한 통계의 의미를 자세히 살펴보겠습니다.

  • Starting Nmap ...: 이 줄은 Nmap 버전과 스캔이 시작된 시간을 보여줍니다.
  • Nmap scan report for ...: 이는 대상 호스트에 대한 열린 포트 및 기타 정보를 보여주는 표준 Nmap 스캔 보고서입니다.
  • Host is up ...: 대상 호스트에 연결할 수 있음을 나타냅니다.
  • Not shown: 999 closed ports: 기본적으로 Nmap 은 출력을 줄이기 위해 닫힌 포트를 표시하지 않습니다.
  • Stats: 0:00:02 elapsed; 0 hosts completed (0 up), 1 hosts total: 이는 이 단계의 핵심 부분입니다.
    • elapsed: 스캔이 시작된 이후의 경과 시간 (시간:분:초 형식) 을 보여줍니다.
    • hosts completed: 완전히 스캔된 호스트 수를 보여줍니다.
    • (0 up): 완료된 호스트 중 몇 개가 작동 중인지 나타냅니다.
    • hosts total: 스캔 중인 총 호스트 수를 보여줍니다.
  • Nmap done at ...: 이 줄은 스캔이 완료된 시간과 총 소요 시간을 보여줍니다.

이러한 통계를 관찰함으로써 스캔에 걸리는 시간과 진행 속도를 파악할 수 있습니다. 이는 더 큰 스캔에 필요한 시간을 추정하고 성능 문제를 해결하는 데 유용할 수 있습니다.

Ctrl+C를 눌러 언제든지 스캔을 중단할 수 있습니다.

Xfce 터미널에서 다양한 타이밍 템플릿으로 통계 비교

이 단계에서는 Nmap 의 타이밍 템플릿이 스캔 속도와 정확도에 어떤 영향을 미치는지 살펴봅니다. Nmap 은 스캔의 공격성을 제어하는 여러 타이밍 템플릿을 제공합니다. 이러한 템플릿은 -T 옵션과 0 에서 5 까지의 숫자를 사용하여 지정됩니다.

다음은 타이밍 템플릿에 대한 간략한 개요입니다.

  • -T0 (paranoid): 가장 느린 템플릿으로, 탐지를 피하는 데 사용됩니다.
  • -T1 (sneaky): paranoid 와 유사하지만 약간 더 빠릅니다.
  • -T2 (polite): 대역폭과 리소스를 절약하기 위해 스캔 속도를 늦춥니다.
  • -T3 (normal): 기본 템플릿으로, 속도와 정확도 사이의 균형을 제공합니다.
  • -T4 (aggressive): 스캔을 더 공격적으로 만들어 스캔 속도를 높입니다.
  • -T5 (insane): 가장 빠른 템플릿이지만, 탐지될 가능성이 가장 높고 네트워크 문제를 일으킬 수도 있습니다.

다양한 타이밍 템플릿의 영향을 비교하기 위해 127.0.0.1 (localhost) 에 대해 두 번의 스캔을 실행합니다. 한 번은 -T2 (polite) 를 사용하고 다른 한 번은 -T4 (aggressive) 를 사용하여 통계를 관찰합니다.

먼저, polite 템플릿으로 스캔을 실행합니다.

sudo nmap -T2 --stats-every 5s 127.0.0.1

Xfce 터미널에서 출력을 관찰합니다. 경과 시간과 포트가 스캔되는 속도를 확인합니다. 스캔이 비교적 느리게 진행되는 것을 볼 수 있습니다.

다음으로, aggressive 템플릿으로 스캔을 실행합니다.

sudo nmap -T4 --stats-every 5s 127.0.0.1

다시 Xfce 터미널에서 출력을 관찰합니다. 경과 시간과 스캔 속도를 이전 스캔과 비교합니다. aggressive 템플릿을 사용하면 스캔이 훨씬 더 빠르게 진행되는 것을 알 수 있습니다.

이 두 스캔의 통계를 비교하여 타이밍 템플릿이 Nmap 스캔의 속도와 공격성에 어떤 영향을 미치는지 확인할 수 있습니다. 더 공격적인 템플릿을 사용하면 탐지 위험이 증가하고 대상 네트워크에 문제가 발생할 수 있다는 점을 명심하십시오. 특정 요구 사항과 스캔하는 환경에 따라 적절한 템플릿을 선택하십시오.

Ctrl+C를 눌러 언제든지 스캔을 중단할 수 있습니다.

Xfce 터미널에서 스캔 시간 분석

이 단계에서는 Nmap 스캔의 스캔 지속 시간을 분석하는 방법을 배웁니다. 스캔에 얼마나 걸리는지 이해하는 것은 네트워크 평가를 계획하고 최적화하는 데 매우 중요합니다. Nmap 은 스캔 중 및 스캔 후에 시작 시간, 종료 시간 및 총 경과 시간을 포함한 자세한 통계를 제공합니다.

스캔 지속 시간을 분석하기 위해 스캔을 수행한 다음 관련 타이밍 정보를 위해 출력을 검토합니다.

먼저, --stats-every 옵션을 사용하여 127.0.0.1 (localhost) 에 대해 스캔을 실행하여 통계를 주기적으로 표시합니다.

sudo nmap --stats-every 5s 127.0.0.1

스캔이 실행되는 동안 5 초마다 Xfce 터미널에 출력되는 통계를 관찰합니다. 이러한 통계에는 스캔 진행 상황, 스캔된 포트 수 및 예상 잔여 시간에 대한 정보가 포함됩니다.

스캔이 완료되면 Nmap 은 총 경과 시간을 포함하여 결과 요약을 출력합니다. "Nmap done"으로 시작하는 줄을 찾습니다. 이 줄은 스캔 완료에 걸린 시간을 알려줍니다.

예를 들어:

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

이 예에서 스캔을 완료하는 데 2.54 초가 걸렸습니다.

이전 단계에서 설명한 것처럼 -oN 옵션을 사용하여 출력을 파일에 저장하여 스캔 지속 시간을 분석할 수도 있습니다. 스캔이 완료된 후 파일을 열고 "Nmap done" 줄을 찾아 경과 시간을 확인할 수 있습니다.

스캔 지속 시간을 분석하여 Nmap 스캔의 성능에 대한 통찰력을 얻고 잠재적인 병목 현상을 식별할 수 있습니다. 이 정보는 스캔 설정을 최적화하고 네트워크 평가의 효율성을 개선하는 데 사용할 수 있습니다.

요약

이 랩에서는 Nmap 에서 --stats-every 옵션을 사용하여 정기적인 간격으로 스캔 통계를 표시하는 방법을 배웠습니다. 이를 통해 특히 대규모 네트워크를 스캔할 때 스캔 진행 상황을 모니터링할 수 있습니다. 이 랩에서는 5 초마다 통계를 표시하여 스캔을 실행하는 방법을 보여주었으며, 스캔된 호스트, 활성 호스트 및 예상 잔여 시간과 같은 정보를 표시했습니다.

또한, 이 랩에서는 -v 옵션을 도입하여 자세한 정보를 제공함으로써 정기적인 통계 업데이트와 함께 스캔 프로세스에 대한 더 자세한 정보를 제공했습니다.