더 높은 상세 수준 탐색 및 실용적인 활용
이 단계에서는 Nmap 의 기능을 더 깊이 파고들 것입니다. 먼저, 훨씬 더 높은 상세 수준을 사용하여 스캔 프로세스 중에 더 자세한 정보를 얻을 것입니다. 그런 다음, 다양한 상세 수준 설정의 실제 적용 사례에 대해 배우므로, 실제 시나리오에서 각 수준을 언제 사용해야 하는지 알 수 있습니다.
최대 상세 수준으로 스캔 실행
상세 수준 2 로 스캔을 실행해 보겠습니다. Nmap 에서 -vv 옵션을 사용하여 상세 수준을 설정할 수 있습니다. 상세 수준 2 는 스캔에 대한 상당한 양의 자세한 정보를 제공합니다. 스캔을 실행하는 명령은 다음과 같습니다.
nmap -p 8080 localhost -vv > /home/labex/project/verbosity-2.txt
이 명령에서 -p 8080은 Nmap 에게 포트 8080 을 스캔하도록 지시합니다. localhost는 스캔하는 대상이며, 로컬 머신을 나타냅니다. -vv 옵션은 상세 수준을 2 로 높입니다. > 기호는 스캔의 출력을 /home/labex/project/verbosity-2.txt 파일로 리디렉션합니다.
이제 스캔 결과를 살펴보겠습니다. cat 명령을 사용하여 파일의 내용을 표시할 수 있습니다.
cat /home/labex/project/verbosity-2.txt
출력을 보면 스캔 프로세스에 대한 훨씬 더 많은 기술적 세부 정보가 포함되어 있음을 알 수 있습니다. 이러한 세부 정보에는 다음이 포함됩니다.
- 더 심층적인 타이밍 정보: 이를 통해 스캔의 서로 다른 부분이 얼마나 걸렸는지 이해할 수 있습니다.
- 추가 디버깅 정보: 스캔 중에 문제가 발생하면 유용할 수 있습니다.
- 더 자세한 프로토콜 정보: 이를 통해 스캔에 관련된 네트워크 프로토콜을 더 잘 이해할 수 있습니다.
다양한 상세 수준의 실제 적용 사례
다양한 상세 수준은 서로 다른 시나리오에서 유용합니다. 각 수준과 실제 적용 사례를 살펴보겠습니다.
-
기본 수준 (0):
- 기본 상세 수준은 빠른 스캔에 가장 적합합니다. 특정 포트가 열려 있는지 또는 닫혀 있는지와 같이 대상에 대한 기본 정보만 필요한 경우 이 수준으로 충분합니다.
- 또한 일상적인 검사 및 간단한 네트워크 매핑에도 유용합니다. 예를 들어, 서버의 포트 상태를 빠르게 확인하려면 기본 수준을 사용할 수 있습니다.
- 사용 사례의 예는 서버에서 특정 포트가 열려 있는지 확인하는 것입니다. 너무 많은 세부 사항에 얽매이지 않고 빠르게 개요를 얻을 수 있습니다.
-
상세 수준 1 (-v):
- 이 수준은 더 자세한 분석에 유용합니다. 기본 수준보다 더 많은 정보를 제공하여 스캔 타임라인을 더 잘 이해하는 데 도움이 됩니다.
- 연결 문제를 해결하는 경우 이 수준의 추가 정보가 매우 유용할 수 있습니다. 스캔의 어떤 부분이 더 오래 걸리는지 또는 오류가 있는지 확인할 수 있습니다.
- 사용 사례의 예는 연결 문제를 해결하는 것입니다. 추가 세부 정보를 사용하여 문제의 원인을 파악할 수 있습니다.
-
더 높은 상세 수준 (-vv, -vvv):
- 이러한 수준은 심층 분석 및 디버깅에 이상적입니다. 최대 양의 정보를 제공하므로 보안 감사에 매우 유용합니다.
- 자세한 보안 평가를 수행하거나 스캔이 대상과 정확히 어떻게 상호 작용하는지 이해해야 하는 경우 더 높은 상세 수준을 사용하는 것이 좋습니다.
- 사용 사례의 예는 자세한 보안 평가 또는 스캔이 대상과 정확히 어떻게 상호 작용하는지 이해해야 하는 경우입니다. 스캔 프로세스에 대한 포괄적인 보기를 얻을 수 있습니다.
다른 Nmap 옵션과 상세 수준 결합
상세 수준 옵션은 다른 Nmap 옵션과 결합하여 더 강력한 스캔을 수행할 수 있습니다. 다음 명령을 사용하여 더 고급 스캔을 시도해 보겠습니다.
nmap -p 8080 -sV localhost -v > /home/labex/project/advanced-scan.txt
이 명령을 자세히 살펴보겠습니다.
-p 8080은 포트 8080 을 스캔하려는 것을 지정합니다.
-sV는 버전 감지를 활성화합니다. 이 옵션은 스캔된 포트에서 실행되는 서비스의 버전을 확인하려고 시도합니다.
-v는 상세 수준을 1 로 높이므로 스캔 프로세스에 대한 더 자세한 정보를 얻을 수 있습니다.
> 기호는 스캔의 출력을 /home/labex/project/advanced-scan.txt 파일로 리디렉션합니다.
이제 스캔 결과를 살펴보겠습니다.
cat /home/labex/project/advanced-scan.txt
-sV를 추가하면 포트 8080 에서 실행되는 서비스 버전에 대한 정보가 제공됩니다. 동시에 -v 옵션은 스캔 프로세스에 대한 자세한 정보를 얻을 수 있도록 하여 결과를 더 쉽게 분석할 수 있습니다.
정리
이 실험을 마치기 전에, 이전에 생성한 HTTP 서버를 제대로 종료해야 합니다. 다음 명령을 사용하여 이 작업을 수행할 수 있습니다.
pkill -f "python -m http.server"
이 명령은 포트 8080 에서 실행되는 Python HTTP 서버 프로세스를 종료합니다. 향후 충돌 또는 리소스 사용 문제를 방지하려면 적절하게 정리하는 것이 중요합니다.