Nmap은 오늘날 최고의 호스트 검색 및 포트 검색 도구입니다. Nmap을 사용하면 네트워크의 컴퓨터에 대한 많은 양의 정보를 얻을 수 있으며, 어떤 호스트가 작동 중인지 검사 할 수 있으며, 포트를 필터링하고 있는지 여부를 확인할 수 있습니다. 방화벽 활성화 됨), 특정 대상을 사용하는 운영 체제도 알 수 있습니다. Nmap에 대한 모든 정보와 사용 방법을 알고 싶으십니까? 이 기사에서는이 도구에 대해 알아야 할 모든 것을 설명합니다.
주요 기능
Nmap은 완전히 무료이며 오픈 소스 유틸리티이므로 네트워크와 호스트를 검색하고 보안 감사를 수행 할 수 있습니다. 이 프로그램은 Linux, Windows 및 macOS 운영 체제이지만 모두 명령 줄을 통해 사용되지만 설치할 가능성이 있습니다. 젠맵, 그래픽 사용자 인터페이스를 통해 포트 스캔을 수행하는 Nmap의 그래픽 유틸리티입니다. 콘솔을 통해 명령과 싸우고 싶지 않다면이 그래픽 사용자 인터페이스가이 훌륭한 프로그램의 첫 번째 단계에 유용 할 수 있지만, 더 많은 경험이 있으면 터미널에서 직접 모든 명령을 실행하게됩니다.
Nmap을 사용하면 로컬 네트워크에서 호스트를 감지 할 수 있으며 인터넷을 통해 이러한 호스트 (컴퓨터, 서버, 라우터, 스위치, 만약 IoT 장치)가 현재 인터넷 또는 로컬 네트워크에 연결되어 있습니다. 이 도구를 사용하면 다른 호스트에 대한 포트 스캔을 수행하고, 포트 상태를 알려주기 때문에 해당 호스트에서 활성화 된 서비스를 확인할 수 있으며, 특정 컴퓨터가 사용중인 운영 체제를 알 수 있습니다. , 우리는 장비의 안전을 확인하기 위해 다양한 테스트를 자동화 할 수 있습니다.
Nmap은 TCP 세그먼트, UDP 데이터 그램 또는 ICMP 패킷을 통해 수행 할 수있는 다양한 유형의 포트 스캔을 제공합니다. 또한 숨겨진 방법으로 스캔을 수행 할 수 있으므로 방화벽에서 감지하기 어렵습니다. 물론 열려있는 TCP 포트를 찾기 위해 SYN 외에 TCP null, FIN, Xmas 및 ACK 패킷을 사용할 수있는 가능성, 포트 범위, IP 주소 범위 사이의 특정 포트에서 포트 스캔을 수행 할 수 있습니다.
이 도구가 제공하는 다른 기능은 완전한 네트워크 인벤토리를 만들고 특정 호스트 또는 서비스가 여전히 실행 중인지 확인할 수 있다는 것입니다. 이 프로그램은 많은 호스트를 스캔하도록 설계되었으므로 여러 대상을 스캔해야하는 경우 문제가 없습니다. 이 프로그램은 매우 유연하며 호스트 및 포트를 스캔하는 수십 가지 고급 기술을 통합하고 있으며 NSE (Nmap Search Engine)를 통한 감사도 허용하므로 정말 강력합니다.
Nmap은 포트 스캔을 할 때 나타날 포트에 다양한 상태를 가지고 있습니다. Nmap의 각 상태가 의미하는 바를 아는 것이 중요합니다. 포트 스캔을 통해 다른 상태를 반환하기 때문입니다.
Nmap을 사용한 포트 상태
- 엽니다 – 응용 프로그램이 TCP 또는 UDP 연결을 적극적으로 수락하고 있습니다. 포트가 열려 있고 사용할 수 있으며, 침투 테스터는이 열린 포트를 사용하여 시스템을 이용할 수 있습니다. 액세스를 차단하는 방화벽이없는 경우 기본 상태입니다.
- 휴무 : 닫힌 포트는 Nmap에 응답하기 때문에 액세스 할 수 있지만 해당 포트에서 실행중인 응용 프로그램이 없습니다. 호스트가 작동 중인지 감지하거나 운영 체제 감지의 일부로 유용합니다. 시스템 관리자의 경우 액세스 할 수 없도록 방화벽으로 이러한 포트를 필터링하는 것이 좋습니다. 펜 테스터와 관련하여 새 서비스를 추가 할 경우 나중에 분석 할 수 있도록 이러한 포트를 "닫힌"상태로 두는 것이 좋습니다.
- 필터링 :이 상태에서 Nmap은 해당 포트에 Nmap 패킷을 필터링하는 방화벽이 있기 때문에 포트가 열려 있는지 확인할 수 없습니다. 이러한 필터링 된 포트는 방화벽이 활성화되었을 때 나타나는 포트입니다. Nmap은 반복적으로 연결을 시도하므로 포트 스캔이 매우 느려집니다.
- 열기 | 필터링 : Nmap은 포트가 열려 있는지 또는 필터링되었는지 알지 못합니다. 이것은 열린 포트가 응답을 보내지 않기 때문에 발생하며 이러한 응답 부족은 방화벽에서 발생할 수 있습니다. 이 상태는 UDP 및 IP를 사용하고 FIN, NULL 및 Xmas 스캔을 사용할 때 나타납니다.
- 휴무 | 필터링 :이 상태에서는 포트가 닫히거나 필터링되었는지 알 수 없습니다. 이 상태는 IP 유휴 검색에서만 사용됩니다.
Nmap의 주요 기능과 사용 가능한 포트의 상태를 확인했으면이를 설치하고 사용할 것입니다.
모든 시스템에 Nmap 다운로드 및 설치
이 강력한 프로그램을 사용하기 위해 가장 먼저해야 할 일은 다운로드 한 다음 설치하는 것입니다. 에서 Nmap 다운로드 섹션 Windows, Linux 및 MacOS 운영 체제에 설치하기위한 모든 링크, 바이너리 및 소스 코드를 찾을 수 있습니다. 현재 Linux 기반 운영 체제의 모든 저장소에서이 프로그램을 사용할 수 있으므로 설치가 정말 간단합니다. 이 프로그램을 Ubuntu그러나 단순히 운영 체제의 설치 명령을 실행하고 "nmap"을 실행하면 문제없이 프로그램을 설치할 수 있습니다.
sudo apt install nmap
일단 설치되면 Windows, Linux 또는 macOS의 터미널에서 사용할 수 있습니다. 아래에서 제공 할 모든 예에서는 Ubuntu 운영 체제를 사용했지만 Windows 및 macOS에서 변경없이 동일한 명령을 사용할 수 있습니다.
Nmap 사용 예
빠른 포트 스캔
특정 호스트에 대한 빠른 포트 스캔을 수행하려면 다음 명령을 입력해야합니다.
nmap [ip]
예를 들어, IP 주소가 192.168.1.2 인 호스트에 대한 기본 포트의 빠른 스캔을 수행하려는 경우 순서는 다음과 같습니다.
nmap 192.168.1.2
프로그램은 대상 컴퓨터에서 열려있는 포트를 반환합니다.
다양한 포트 스캔
모든 포트를 스캔하는 대신 확인할 포트 범위를 설정할 수 있습니다. 이를 위해 다음을 실행합니다.
nmap -p [rango] [ip]
IP 주소 20에서 TCP 200에서 TCP 192.168.1.2으로 포트 스캔을 수행하려면 다음 명령을 실행하십시오.
nmap -p 20-200 192.168.1.2
프로그램은 해당 범위 내에서 열려있는 포트를 표시합니다.
운영 체제 및 추가 호스트 데이터 감지
Nmap에게 운영 체제를 감지하도록 지시 할 수 있습니다. 패킷을 전송하고 반환하는 방식을 분석하여이를 수행하며 각 시스템에서 완전히 다릅니다. 이와 함께 취약점에 대한 포트 및 서비스 스캔을 수행합니다. 또한 스캔은 유용한 정보를 반환합니다. 이를 위해 다음을 실행해야합니다.
nmap -A -v [ip]
IP 주소 192.168.1.2에 대해이 스캔을 수행하려면 다음 명령을 실행할 수 있습니다.
nmap -A -v 192.168.1.2
모든 명령 목록 s
이 프로그램은 정말 완전합니다. 지금까지 우리는 기본 명령을 사용하여 호스트를 검색하고 포트가 열려 있는지 확인했습니다. 그러나이 방법은 그대로 유지되지 않으며이를 최대한 활용할 수있는 많은 명령 목록이 있습니다. 수단.
목표 선택
IP 주소 또는 범위, 시스템 이름, 네트워크 등
- 예 : scanme.nmap.org, microsoft.com/24, 192.168.0.1, 10.0.0-255.1-254
- -iL 파일 목록 -iR n 무작위로 대상 선택, 0은 끝나지 않음
- –Exclude –excludefile 파일 파일에서 시스템 제외
시스템 발견
- -PS n tcp 동기화
- -PA n 핑 TCP ACK
- -PU n 핑 UDP
- -PM 넷 마스크 요청
- -PP 타임 스탬프 요청
- -PE 에코 요청
- -sL 목록 분석
- -프로토콜 당 PO 핑
- -PN 핑 안 함
- -n DNS를하지 마십시오
- -R 모든 대상 시스템에서 DNS 확인
- –Traceroute : 시스템에 대한 경로 추적 (네트워크 토폴로지 용)
- -sP ping, –PP –PM –PS443 –PA80과 동일
포트 분석 기술
- -sS는 TCP SYN을 사용하여 구문 분석
- -sT TCP CONNECT를 사용한 구문 분석
- UDP를 사용한 -sU 분석
- -s SCTP INIT를 사용한 AND 분석
- SCTP에서 COOKIE ECHO를 사용하는 -sZ
- -sO IP 프로토콜
- -sW TCP 창 -sN
- –SF -sX 널, 핀, 크리스마스
- -SA TCP ACK
분석 할 포트 및 분석 순서
- -p n-mrango
- -p– 모든 포트
- -pn, m, z 지정
- -p U : nm, z T : n, m U UDP, T는 TCP
- -F 빨리, 일반적인 100
- –Top-ports n 가장 많이 사용되는 포트 분석
- -r 무작위가 아님
기간 및 실행 :
- -T0 편집증
- -T1 스텔스
- -T2 정교한
- -T3 정상
- -T4 공격적
- -T5 광기
- – 최소 호스트 그룹
- – 최대 호스트 그룹
- – 최소 속도
- – 최대 속도
- – 최소 평행도
- – 최대 병렬성
- -Min-rtt-timeout
- -Max-rtt-timeout
- – 초기 -rtt- 시간 초과
- – 최대 재시도
- – 호스트 시간 초과 – 스캔 지연
서비스 및 버전 감지
- -sV : 서비스 버전 감지
- – 모든 포트는 포트를 제외하지 않습니다.
- – 각 스캔의 모든 버전 테스트
- – 버전 추적 추적 버전 분석 활동
- -또는 운영 체제 감지 활성화
- – 퍼지 추측 OS 감지
- –Max-os-tries는 대상 시스템에 대한 최대 시도 횟수를 설정합니다.
방화벽 / IDS 회피
- -f 조각 패킷
- -D d1, d2 미끼를 이용한 망토 분석
- -S ip 스푸핑 소스 주소
- –G 소스 스푸핑 소스 포트
- – 무작위 화 호스트 순서
- –Spoof-mac mac 변경 소스 MAC
세부 수준 및 디버깅 매개 변수
- -v 세부 수준을 높입니다.
- – 시스템 및 포트 별 이유 이유
- -d (1-9) 디버깅 수준 설정
- – 패킷 추적 패킷 경로
다른 옵션
- – 파일 계속 분석 중단 (-oN 또는 -oG로 출력 형식 가져 오기)
- -6 IPV6 스캔 활성화
- -A 공격적, -O -sV -sC –traceroute와 동일
대화 형 옵션
- v / V 분석 세부 수준 증가 / 감소
- d / D 디버깅 레벨 증가 / 감소
- p / P 패킷 추적 활성화 / 비활성화
스크립트
- -sC 기본 스크립트로 분석 수행
- – 스크립트 파일 실행 스크립트 (또는 모두)
- –Script-args n = v 인수 제공
- – 스크립트 추적은 수신 및 발신 통신을 보여줍니다.
출력 형식
- -oN 일반 형식으로 저장
- -oX XML 형식으로 저장
- -oG 나중에 Grep을 사용하기 위해 형식으로 저장
- -oA 모든 이전 형식으로 저장
주로 Nmap에서 사용할 수있는 명령입니다. 완료하기 전에 Nmap에는 완전한 네트워크 분석을 수행 할 수있는 다양한 옵션이 있습니다. 다음을 입력하여 사용 가능한 모든 옵션을 참조 할 수 있습니다.
nmap --help
Nmap은 의심 할 여지없이 네트워크 감사를 수행하는 매우 간단하고 완전한 도구이지만, 여기서 끝나지 않으며 고급 침투 테스트를 수행하는 데 사용할 수있는 Nmap NSE도 있습니다.
Nmap NSE : 정의 및 용도
Nmap 검색 엔진 또는 Nmap NSE는 시스템 및 네트워크에 대한 침투 테스트를 자동화 할 수있는 수천 개의 스크립트가 포함 된 대규모 데이터베이스입니다. 이 스크립트 세트를 사용하면 Samba 서버, FTP 서버, SSH 서버에 대한 무차별 대입 공격 수행, 웹 서버에 알려진 취약점이 있는지 확인하는 등의 많은 작업을 자동화 할 수 있습니다.
예를 들어, 사용자 목록 (users.txt 파일 사용)과 테스트 할 암호 목록 (keys.txt 파일 사용)을 기반으로 무차별 대입 공격을 수행하려는 경우 IP가 99.99.99.99 인 특정 컴퓨터의 경우 다음 명령을 입력 할 수 있습니다.
nmap -p 22 --script ssh-brute --script-args userdb=usarios.txt,passdb=claves.txt --script-args ssh-brute.timeout=4s 99.99.99.99
우리는 당신이 방문하는 것이 좋습니다 NSE 공식 웹 사이트 현재이 대규모 데이터베이스에있는 모든 스크립트를 찾을 수 있으며 사용 방법에 대한 예제도 제공됩니다.