기본 콘텐츠로 건너뛰기

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


이 블로그의 인기 게시물

판타지: 아오( 鳌)

중국의 신화에 나오는 산과 대륙을 떠받치는 고대 거북입니다. 중국의 신화에서 천하가 창조되는 시기에 남중국해에 살았던 생물이며, 인류를 창조한 여와 여신이 많은 재앙과 재난 후 하늘을 수리할 때, 아오의 네 다리를 잘라 하늘을 떠받치는데 사용했다고 전해집니다.

진실만을 전달하라

오직 진실만을 전달하라 개인생활과 직장생활에서 사람들이 자기 생각을 솔직하게 있는 그대로 말했으면 좋겠다고 생각했던 적이 있는가? 그들이 솔직하지 않았을 때, 그들에 대한 신뢰는 어땠는가? 그들이 솔직했을 때, 그들에 대한 신뢰는 어떻게 되었는가? '솔직하게 말하라'는 정직성을 행동으로 보이는 것이다. 이는 성실성, 정직성, 솔직성의 원칙에 기초를 두고 있으며 진실을 말하고 말 뜻을 제대로 전달하는 것을 의미한다. 간혹 진실을 말하고도 말 뜻을 잘못 전달할 수도 있다. 말 뜻을 제대로 전달한다는 것은 오해가 없도록 분명하게 말하는 것을 의미 한다. 워렌 버핏 역시 솔직하게 말하는 타입이다. 그는 매년 회사의 연례 보고서에 첨부되는 경영자 편지에 사실을 있는 그대로 설명한다. 예를 들면 이런식이다. 나는 몇 번 이런 거래를 했습니다. 그리고 내 행동은 결국 회사에 손해를 불러왔습니다. 나는 지난해 그 일을 성공하지 못했습니다. 우리가 이미 확보한 수익원 외에 새로 굵직한 수익원을 추가하기 위해 수십억 달러 규모의 기업을 여러 개 인수하려 했지만 실패하고 말았습니다. 그 사업을 매각하고자 했지만 상황에 정면 대응하지 못해 몇 년을 그냥 흘려보내고 말았습니다. 이처럼 지체된 것은 내 잘못입니다. 솔직함과 반대로 거짓말을 하거나 속이는 행동은 즉시, 혹은 나중에 거짓임이 드러났을 때 부정적인 엄청난 결과를 만들어낸다. 사람들은 대개 노골적으로 거짓말을 하진 않는다. 최소한 뻔뻔하지는 않다는 애기다. 대신 솔직히 말하는 척 가짜 행동을 한다. 가짜 행동에는 에둘러 말하기, 정보 숨기기, 한 입으로 두 말하기, 아첨, 선전, 시늉만 하기 등이 포함된다. 그중 으뜸은 다른 사람의 생각, 감정, 행동을 조작 및 왜곡하는 것이다. 또 다른 가짜 행동은 진실을 말하되 말뜻을 잘못 전달하는 것이다. 겉으로 점잔을 빼면서 쓸데없이 자세히 말하는 것이 여기에 해당한다. 이 모든 행동은 늘 신뢰를 떨어뜨린다. 가정에서 솔직하게 말하기 솔직하게 말하는 것은 조직은 물론 개...

쿤 아눈(Cŵn Annwn)

오늘 소개해드릴 괴물은 웨일스 신화와 민담에 나오는 쿤 아눈입니다. 쿤 아눈은 웨일지 신화의 지하 세계의 암흑 왕인 그윈압누드(누드의 아들 그윈 또는 아라온으로도 불립니다)의 정령 사냥개, 또는 다른 세계로 여행하는 영혼의 호위자로 간주하였습니다. 지하 세계는 웨일스 신화의 다른 세계인데, 질병이 없고, 식량이 항상 풍부한 곳으로 기쁨과 영원환 젊음의 세계입니다. 이곳은 낙원으로 여겨졌고, 기독교인의 사후 세계와 동일시되었습니다. 신화에서 이 괴물은 피로 덮인 빨간 귀를 가진 크고 하얀 사냥개로 4마리가 한 그룹으로 묘사됩니다. 악한 정도에 따라 묘사가 약간 틀린 데, 사악한 종류로는 검은색에 거대한 붉은 반점이 있는 매우 못생긴 모습 또는 잉크가 튀는 것처럼 큰 검은 반점이 있는 몸에 색은 붉은색이 있으며, 최악은 용암과 같은 눈을 가졌으며 피처럼 붉은색에 피가 뚝뚝 떨어지는 모습이었다고 합니다. 이 하얀 정령 사냥개는 죽은 사람과 곧 죽을 사람들을 보거나, 그들의 이야기를 들을 수 있습니다. 사냥개들의 짖는 소리와 애절한 울부짖음을 듣는다는 것은 웨일스 신화에서 요정 왕인 그윈압누드이 영혼을 저승으로 데려가러 오고 있다는 의미라고 합니다. 살아 있는 사람이 쿤 아눈의 짖는 소리가 들린다며, 그것은 죽음이 임박한 것이며, 그 운명은 피할 수 없다고 합니다. 이 사냥개는 1년 중 특정한 밤에만 사냥하며 웨일스의 시골을 무리를 지어 돌아다녔다고 합니다. 특정한 밤은 웨일스의 달력 기준으로 성 요한의 날 이브, 성 마틴의 날 이브, 성 미카엘 대천사의 날 이브, 성도의 날 이브, 크리스마스, 새해, 성 아그네스의 날, 성 다비드의 날, 성금요일, 그리고 가을 절기를 의미한다고 합니다. 사냥개는 멀리서 더 크게 들리고, 목표물에 가까워지면 으르렁거리며 울부짖는 소리가 사라진다고 합니다. 마비노기란 웨일스 신화에서 웨일스 북부의 귀네드와 남부의 더베드가 치열한 전투의 이야기를 뜻하며 총 4부작으로 구성되어있다고 합니다. 마비노기의 1부작에서 더베드의 왕자 프윌는 실수...