기본 콘텐츠로 건너뛰기

Nmap 어플리케이션 소개



Nmap은 네트워크 탐색 및 보안 감사를 위한 오픈 소스 유틸리티입니다. 단일 호스트에 잘 작동하지만,  대규모 네트워크를 빠르게 스캔하도록 설계되었습니다. Nmap은 일반적으로 보안 감사과 네트워크 스캔에 사용되지만 많은 시스템 및 네트워크 관리자는 네트워크 인벤토리, 서비스 업그레이드 일정 관리, 호스트 또는 서비스 가동 시간 모니터링과 같은 일상적인 작업에 유익합니다. 저의 경우는 네트워크의 포트를 스캔하는 목적으로 자주 사용합니다.

Nmap의 특징은 아래와 같습니다.

  • Free - 무료입니다..
  • Many Function - 네트워크 점검, OS검색, Version 점검 등의 기능을 포함합니다.
  • Powerful - 네트워크에 HOST가 많아도 고속으로 Scan이 가능합니다.
  • Flexible - 대부분의 OS에서 사용 가능합니다. (Windows, macOS, Linux (RPM), Etc)
  • Easy - 그래픽 유저 인터페이스가 간편하고 사용자 친화적입니다.
  • Popular - 많은 사용자들이 이미 사용하고 있습니다.

아래의 링크를 클릭하여 Nmap을 설치할 수 있습니다. 자신의 OS를 확인 후 설치하세요.

Nmap 설치

nmap은 옵션에 따라 스캔된 호스트의 추가 정보를 출력합니다. 스캔된 포트번호, 프로토콜, 서비스이름, 상태(state)를 출력합니다. 

State에는 Open, Filtered, Closed, Unfiltered가 있습니다. 스캔 결과 출력 시 하나의 상태가 아닌 조합된 값(open|filtered, closed|filtered)을 출력할 수도 있습니다.

  • open: 스캔된 포트가 listen 상태이며, 포트가 열려있다는 의미입니다.
  • filtered: 방화벽이나 필터에 막혀 해당 포트의 open, close 여부를 알 수 없습니다.
  • closed: 포트스캔을 한 시점에는 listen 상태가 아님 즉 포트가 닫혀있다는 의미입니다.
  • unfiltered: nmap의 스캔에 응답은 하지만 해당 포트의 open, close 여부는 알 수 없습니다.
Nmap 예시 및 설명

단일 대상

명령어예시설명
nmap 192.168.1.1단일 IP 스캔
nmap 192.168.1.1 192.168.2.1특정 IP 스캔
 nmap 192.168.1.1-254범위 스캔
 nmap scanme.nmap.org도메인 스캔
 nmap 192.168.1.0/24CIDR 표기법을 사용하여 스캔
-iLnmap -iL target.txt파일에서 대상 스캔
-iRnmap -iR 100100개의 임의 호스트 스캔
-excludenmap –exclude 192.168.1.1나열된 호스트 제외

 스캔 기술

명령어예시설명
-sSnmap 192.168.1.1 -sSTCP SYN 포트 스캔(기본값)
-sTnmap 192.168.1.1 -sTTCP 연결 포트 스캔(루트 권한이 없는 기본값)
-sUnmap 192.168.1.1 -SUUDP 포트 스캔
-sAnmap 192.168.1.1 -sATCP ACK 포트 스캔
-sWnmap 192.168.1.1 -sWTCP 윈도우 포트 스캔
-sMnmap 192.168.1.1 -sMTCP 마이몬 포트 스캔

 호스트 검색

명령어예시설명
-SLnmap 192.168.1.1-3 -sL스캔하지 않습니다. 대상만 나열
-snnmap 192.168.1.1/24 -sn포트 스캔을 비활성화합니다. 호스트 검색 전용.
-Pnnmap 192.168.1.1-5 -Pn호스트 검색을 비활성화합니다. 포트 스캔 전용.
-PSnmap 192.168.1.1-5 -PS22-25,80포트 x에서 TCP SYN 검색.
기본적으로 포트 80
-PAnmap 192.168.1.1-5 -PA22-25,80포트 x에서 TCP ACK 검색.
기본적으로 포트 80
-PUnmap 192.168.1.1-5 -PU53포트 x에서 UDP 검색.
기본적으로 포트 40125
-PRnmap 192.168.1.1-1/24 -PR로컬 네트워크에서 ARP 검색
-Nnmap 192.168.1.1 -n절대 DNS 확인 하지마세요

 포트 대상

명령어예시설명
-pnmap 192.168.1.1 -p 21포트 x에 대한 포트 스캔
-pnmap 192.168.1.1 -p 21-100포트 범위
-pnmap 192.168.1.1 -p U:53,T:21-25,80포트 스캔 여러 TCP 및 UDP 포트
-p-nmap 192.168.1.1 -p-포트 스캔 모든 포트
-pnmap 192.168.1.1 -p http,https서비스 이름에서 포트 스캔
-Fnmap 192.168.1.1 -F빠른 포트 스캔(100개 포트)
–top-portsnmap 192.168.1.1 –top-ports 2000포트 스캔 상위 x 포트
-p-65535nmap 192.168.1.1 -p-65535범위의 초기 포트를 생략하면 포트 1에서 스캔이 시작됩니다.
-p0-nmap 192.168.1.1 -p0-범위의 끝 포트를 벗어나면 스캔이 포트 6553까지 합니다.

 서비스 및 버전 감지

명령어예시설명
-sVnmap 192.168.1.1 -sV포트에서 실행 중인 서비스 버전 확인 시도
-sV –version-intensitynmap 192.168.1.1 -sV –version-intensity 8Intensity 레벨 0 ~ 9. 숫자가 높을수록 정확도가 높아집니다.
-sV –version-lightnmap 192.168.1.1 -sV –version-light조명 모드를 활성화합니다. 정확성의 가능성이 낮습니다. 더 빠르게
-sV -version-allnmap 192.168.1.1 -sV –version-all강도 레벨 9를 활성화합니다. 정확성의 가능성이 더 높습니다. 느리게
-Anmap 192.168.1.1 -AOS 감지, 버전 감지, 스크립트 스캔 및 경로 추적 가능

 OS 감지

명령어예시설명
-Onmap 192.168.1.1 -OTCP/IP 스택 핑거프린팅을 사용한 원격 OS 감지
-O -osscan-limitnmap 192.168.1.1 -O -osscan-limit하나 이상의 열린 TCP 포트와 하나의 닫힌 TCP 포트가 없으면 호스트에 대해 OS 감지를 시도하지 않습니다.
-O -osscan-guessnmap 192.168.1.1-O -osscan-guessNmap이 더 적극적으로 추측하도록 합니다.
-O –max-os-triesnmap 192.168.1.1 -O –max-os-tries 1대상에 대한 OS 감지 시도의 최대 x 수 설정
-Anmap 192.168.1.1 -AOS 감지, 버전 감지, 스크립트 스캔 및 경로 추적 가능

 타이밍 및 성능

명령어     예시설명
-T0 

nmap 192.168.1.1 -T0편집증 (0) 침입 탐지 시스템 회피
-T1nmap 192.168.1.1 -T1교활한 (1) 침입 탐지 시스템 회피
-T2nmap 192.168.1.1 -T2폴라이트(2)는 더 적은 대역폭을 사용하고 더 적은 대상 시스템 리소스를 사용하도록 스캔 속도를 늦춥니다.
-T3nmap 192.168.1.1 -T3기본 속도인 일반(3)
-T4nmap 192.168.1.1 -T4공격적(4) 스캔 속도를 높입니다. 합리적으로 빠르고 안정적인 네트워크에 있다고 가정합니다.
-T5nmap 192.168.1.1 -T5미친 (5) 스캔 속도; 매우 빠른 네트워크에 있다고 가정합니다.
명령어예시 입력설명
–host-timeout <time>1초; 4m; 2h이 시간이 지나면 목표물을 포기하십시오.
–min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>1초; 4m; 2h프로브 왕복 시간 지정
–min-hostgroup/max-hostgroup <size<size>50; 1024병렬 호스트 스캔 그룹 크기
–min-parallelism/max-parallelism <numprobes>10; 1프로브 병렬화
–scan-delay/–max-scan-delay <time>20ms; 2초; 4m; 5h프로브 간 지연 조정
–max-retries <tries>3최대 포트 스캔 프로브 재전송 횟수 지정
–min-rate <number>100초당 <numberr>보다 느리지 않은 패킷 전송
–max-rate <number>100초당 <숫자>보다 빠르지 않은 패킷 전송

 방화벽 / IDS 회피 및 스푸핑

명령어예시설명
-fnmap 192.168.1.1 -f요청된 스캔(ping 스캔 포함)은 작은 조각난 IP 패킷을 사용합니다. 패킷 필터의 경우 더 어렵습니다.
-mtunmap 192.168.1.1 –mtu 32나만의 오프셋 크기 설정
-Dnmap -D 192.168.1.101,192.168.1.102,192.168.1.103,192.168.1.23 192.168.1.1스푸핑된 IP에서 스캔 보내기
-Dnmap -D decoy-ip1, decoy-ip2, your-own-ip, decoy-ip3, decoy-ip4 remote-host-ip위의 예 설명
-Snmap -S www.microsoft.com www.facebook.comMicrosoft에서 Facebook 스캔(-e eth0 -Pn이 필요할 수 있음)
-gnmap -g 53 192.168.1.1주어진 소스 포트 번호 사용
-proxiesnmap -proxies http://192.168.1.1:8080, http://192.168.1.2:8080 192.168.1.1HTTP/SOCKS4 프록시를 통한 릴레이 연결
-data-lengthnmap -data-length 200 192.168.1.1전송된 패킷에 임의의 데이터 추가

IDS 회피 명령의 예제

nmap -f -t 0 -n -Pn - 데이터 길이 200 -D
192.168.1.101,192.168.1.102,192.168.1.103,192.168.1.23 192.168.1.1

 산출

스위치예시설명
-oNnmap 192.168.1.1 -on normal.filenormal.file 파일에 대한 일반 출력
-oXnmap 192.168.1.1 -oX xml.filexml.file 파일에 대한 XML 출력
-oGnmap 192.168.1.1 -oG grep.filegrep.file 파일에 대한 Grepable 출력
-oAnmap 192.168.1.1 -oA results한 번에 3가지 주요 형식으로 출력
-oG -nmap 192.168.1.1 -oG -화면에 Grepable 출력. -oN -, -oX - 사용 가능
-append-outputnmap 192.168.1.1 -on file.file -append-output이전 스캔 파일에 스캔 추가
-Vnmap 192.168.1.1 -v자세한 수준을 높입니다(효과를 높이려면 -vv 이상 사용).
-dnmap 192.168.1.1 -d디버깅 수준을 높입니다(효과를 높이려면 -dd 이상 사용).
-reasonnmap 192.168.1.1 -reason-vv와 동일한 출력으로 포트가 특정 상태에 있는 이유를 표시합니다.
-opennmap 192.168.1.1 -open열려 있는(또는 열려 있는) 포트만 표시
-packet-tracenmap 192.168.1.1 -T4-packet-trace전송 및 수신된 모든 패킷 표시
-iflistnmap -iflist호스트 인터페이스 및 경로 표시
-resumenmap –resume result.file스캔 재개

유용한 Nmap 출력 예제

명령설명
nmap -p80 -sV -oG – –open 192.168.1.1/24 | grep open웹 서버를 검색하고 웹 서버를 실행 중인 IP를 표시하기 위해 grep
nmap -iR 10 -n -oX out.xml | grep "Nmap" | 컷 -d " " -f5 > live-host.txt라이브 호스트의 IP 목록 생성
nmap -iR 10 -n -oX out2.xml | grep "Nmap" | 컷 -d " " -f5 >> live-hosts.txt라이브 호스트 목록에 IP 추가
ndiff scanl.xml scan2.xmlndif를 사용하여 nmap의 출력 비교
xsltproc nmap.xml -o nmap.htmlnmap xml 파일을 html 파일로 변환
grep "open" results.nmap | sed -r 's/ +/ /g' | sort | uniq -c | sort -rn | less포트가 나타나는 빈도의 역순 목록

 기타 옵션

스위치예시설명
-6nmap -6 2607:f0d0:1002:51::4IPv6 스캔 활성화
-hnmap -hnmap 도움말 화면

 기타 유용한 Nmap 명령

명령설명
nmap -iR 10 -PS22-25,80,113,1050,35000 -v -sn포트 x에서만 검색, 포트 스캔 없음
nmap 192.168.1.1-1/24 -PR -sn -vv로컬 네트워크에서만 Arp 검색, 포트 스캔 없음
nmap -iR 10 -sn -추적 경로임의의 대상으로 추적, 포트 스캔 없음
nmap 192.168.1.1-50 -sL -dns-server 192.168.1.1호스트에 대한 내부 DNS 쿼리, 대상만 나열

참조 자료: StationX


이 블로그의 인기 게시물

불사조(Phoenix)

불사조의 이야기는 매우 전설적이며, 현대에 알려진 신화중 가장 잘 알려진 신화중 하나일 것입니다. 불사조에 관한 전설은 항상 삶과 죽음, 창조와 파괴, 시간, 제국, 부활, 그리스도 등, 여러 요소로 유명합니다. 불사조는 눈물에 치유력이 있으며, 불사조 앞에서 누구도 거짓말을 할 수 없다고 합니다. 이 세상의 새들과 다른 식생활을 하는 것으로 알려져 있습니다. 일반 새들이 먹는 과일과 견과류 대신, 불사조는 유황과 올리바늄을 먹는다고 합니다. 불사조는 수백 년을 살다가 화염에 휩싸여 죽어가다 잿더미에서 다시 태어나는 능력으로 매우 잘 알려진 전설적인 존재입니다. 가장 흔한 신화에 따르면 불사조는 낙원에 살았던 독수리나 공작과 비슷한 밝은색의 불멸의 새와 같은 생물이었다고 합니다. 낙원에 사는 다른 모든 생물과 마찬가지로 영원한 삶과 좋은 삶을 살았습니다. 낙원은 상상할 수 없는 완벽함과 아름다움의 땅으로 태양의 찬란함을 넘어선 어딘가에 존재한다고 합니다. 시간이 지나면서 새는 삶에 대한 고찰과 세월의 영향을 느끼기 시작했습니다. 약 천년 후, 불사조는 불멸에 지쳐서 계속 나아가고자 하였고, 결국 낙원을 떠나 필멸의 세계로 향했다고 합니다.  필멸의 세계에서도 불사조는 진정으로 죽을 수 없었습니다. 헬리오폴리스에서 둥지를 틀고 해가 뜨기를 기다렸다, 태양신이 마차를 끌고 하늘을 가로질러 갈 때, 불사조는 태양신 아폴로가 멈추어 귀를 기울일 정도로 아름다운 노래를 불렀습니다. 아폴로는 불사조의 의중을 이해하고 여행을 재개했을 때, 하늘에서 불꽃이 떨어져 둥지에 불을 붙이고 불사조를 집어삼켰습니다, 하지만 3일 후 불사조는 잿더미에서 다시 태어나 천년을 더 살게 되었습니다. 불사조 전설의 가장 초기 버전은 고대 이집트에서 유래했습니다. 베누(Bennu)라고 불리는 왜가리 새는 태양신 라(Ra)와 연결되어 지하 세계의 신인 오시리스(Osiris)의 살아있는 상징으로 여겨졌습니다. 베누는 나일강의 범람을 통해서 주변의 땅을 비옥하게 하였습니다. 이러한 행동들을 ...

드라큘라(Dracula)의 기원

우리가 흔히 아는 드라큘라는 1897년에 출판된 브램 스토커의 소설을 기반으로, 소설의 등장인물인 조나단 하커가 트란실바니아의 귀족인 드라큘라 백작의 성에 머물기 위해 출장 가는 것으로 소설은 시작됩니다. 이 소설에 나오는 괴물인 드라큘라는 우리가 흔히 아는 뱀파이어입니다. 하지만 뱀파이어의 기원이 어디에서 오는지 정확히 알지는 못합니다. 오늘은 뱀파이어의 기원에 대해 소개하려 합니다. 일반적인 뱀파이어는 인간의 피나 다른 정수(체액 또는 정신 에너지)를 섭취하며, 입안에는 날카로운 송곳니가 있습니다. 일반적으로 창백한 피부를 가지고 있으며, 민담에 따라 괴상한 모습에서 초자연적으로 아름다운 것까지 다양합니다. 사람은 다양한 방법으로 뱀파이어가 될수 있으며 가장 흔하게 알려진 것은 뱀파이어에게 물리는 것입니다. 다른 방법으로는 마법, 자살, 전염 또는 고양이가 사람의 시체 위로 뛰어오르게 하는 방법이 있습니다. 어떤 사람들은 치아가 있거나 크리스마스 또는 크리스마스와 주현절 사이에 태어난 아이가 뱀파이어가 되기 슆다고 믿었습니다.  뱀파이어는 일반적으로 질병이나 다른 정상적인 인간의 고통으로 죽지 않으며 실제로 보통 인간보다 빠른 치유 능력을 가지고 있습니다. 뱀파이어를 퇴치하는 방법을 실제로 많이 알려저있는데, 가장 인기 있는 방법은 나무 말뚝으로 심잠을 찔러 관통시키는것, 불로 태우거나, 머리를 참수하는것이 있습니다. 뱀파이어는 햇빛에 노출되는것과 마늘 흐르는 물, 십자가, 성수와 같은 기독교의 도구를 매우 싫어하며, 퇴치의 도구로 사용되기도 합니다. 블라드 드라큘라는 왈라키아 공국의 가장 유명한 통치자 중 한명이었으며 중세 시기, 성 주변의 많은 주민은 그가 실제로도 잔혹하며 무서운 흡혈귀인지 두려워했습니다. 이러한 두려움은 여러 세대에 걸쳐 지속되었고, 그를 드라큘라 백작이라고 부르기 시작하고, 사람들 사이에는 매우 논쟁적인 인물로 여러 세대의 마음속에 자리 잡게 됩니다. 루마니아의 트란실바니아 지역은 뱀파이어라고 불리는 이 초자연적이고 무서운 ...

불가사리(不可殺伊)

안녕하세요 오늘 소개해드릴 괴물은 한반도를 배경으로 한 전설적인 괴물인 불가사리(不可殺伊) 입니다. 이름의 의미를 해석하자면, 불가살(不可殺)은 절대 죽일 수 없는, 또는 불(火)로만 죽이는 게 가능하다(火可殺)는 의미가 담겨있다고 합니다. 한국의 많은 괴물 중 이무기, 구미호, 도깨비처럼 한국에서 가장 인기가 많은 초자연적인 존재 중 하나이며, 대중 매체에서 단역이나 괴물로 나온 경우가 많이 있습니다. 전해 내려오는 이야기에 따르면 여러 가지 모습으로 묘사하는데, 날개가 있고, 검은 벌레의 모습을 하고 있다는 이야기도 있으며, 개, 돼지, 소와 같은 가축의 모습을 한 복합적인 생물의 모습으로 묘사되기도 합니다. 경복궁 교태전의 후원인 아미산 굴뚝에 묘사된 괴수 중 코끼리를 닮은 불가사리 외에 곰과 사자를 섞은 듯한 외모의 괴물도 불가사리로 추정하였습니다. 일제 시기에 유행하던 소설 표지에는 미노타우로스를 닮은 모습으로 묘사하기도 하였습니다. 대체로 겉모습은 여러 동물을 섞어 놓은 키메라의 모습으로 보입니다. 하지만, 공통으로 이야기하는 것은 코끼리를 모티브로 하고 있다는 것인데, 신라시대의 전설적인 동물인 이수약우를 불가사리의 고대 종으로 보는 견해가 있습니다. 삼국사기 신라본기 소성왕 조에는 이렇게 묘사합니다. 소와 비슷한 짐승이 있는데, 몸체는 길고 크며, 꼬리 길이가 석 자 정도 되고, 털은 없으며 코가 긴데... 라고 묘사합니다. 정확한 연관성은 아직 발견되지 않았지만, 민속학자들은 코끼리를 섞어놓은 괴물일 거라고 생각하고 있습니다.  중국에서는 불가사리를 맥(貘)으로 부릅니다. 비슷한 동물로는 맹표(猛豹), 맥표(貘豹)가 있습니다. 중국 산해경에는 여러 종류의 초자연적인 생물을 설명하는데, 불가사리를 곰과 비슷하나 털은 짧고 광택이 나며 뱀과 동이나 철을 먹는다고 설명했으며, 사자 머리에 코끼리 코, 소의 꼬리를 가졌으며 흑백으로 얼룩졌다고 합니다. 동철을 먹는 동물인데, 똥으로 옥석도 자를 수 있다고 하며, 괴물의 가죽을 깔고 자면 급성 열...