기본 콘텐츠로 건너뛰기

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


이 블로그의 인기 게시물

드라큘라(Dracula)의 기원

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

불가사리(不可殺伊)

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

숲의 여인들 이엘레(Iele)

그리스 신화에 보면 님프, 나이아드 및 드라이어드라는 정령 내지 신들이 나옵니다. 모두 여성을 모티브로 한 초자연적인 생물이며, 오늘 소개해드릴 괴물과 비슷합니다. 이엘레는 루마니아 신화에 나오는 여성 정령입니다. 초자연적인 존재로서 위의 님프, 나이아드 및 드라이어드와 유사한 마법 기술과 속성을 가지며 남성을 유혹하는 힘을 가지고 있습니다. 이들은 마법을 힘을 가지고 있기에, 자신들을 화나게 하면 마법으로 장난을 칠 수 있습니다. 이엘레는 밤에만 볼 수 있다고 합니다. 부드럽고 반투명한 드레스를 입고 풍만한 몸매와 느슨한 머리, 수정 같이 청아한 목소리, 말로 표현하기 힘든 아름다움을 지녔고, 춤추는 것을 즐긴다고 합니다. 춤을 출 때는 벌거벗은 채로 춤을 추며 가슴을 거의 덮은 채로 다닌다고 합니다. 진정한 숲의 여신으로 여겨지며, 이들의 기원은 역사가와 민속학자 사이에서 항상 뜨거운 논쟁으로 여겨졌습니다. 일부 역사가들은 이엘레가 저주받았으며 내세에서 결코 평화를 찾지 못한 여성의 영혼이라고 주장하는 반면, 다른 이들은 이들이 알렉산더 대왕의 딸이라고 주장한다고 합니다. 이엘레들은 춤추는 모습을 들키는 것을 싫어하면, 혹시 외지인이 이들의 춤추는 모습을 염탐한다면 엄하게 처벌한다고 합니다. 이들이 내리는 처벌은 평생 벙어리로 남기게 하는 저주를 내린다고 합니다. 더불어 우연히 상처 잎은 이엘레와 만난 남자들에 대한 이야기도 많이 있습니다. 이엘레를 보았다고 주장하는 사람들은 보통 3, 5, 7명 또는 9명의 그룹으로 배회한다고 이야기하면 그 이상의 무리는 거의 본 적이 없다고 합니다. 그녀들이 가장 선호하고 좋아하는 곳은 외로운 절벽, 산, 빙하 호수, 햇볕이 잘 드는 초원이며 손을 잡고 원을 그리며 호라 춤(발칸 반도에서 시작된 원형 춤, 한국의 강강술래와 비슷함)을 춘다고 합니다. 그녀들이 춤을 추는 곳에서는 풀이 사라지고 땅은 불타고 원의 모양으로 지나간 표시가 남는다고 합니다. 그녀들이 지나간 곳을 행여나 넘어가는 사람들이 있다면, 그 사람을 원인...