본문 바로가기

약간 전문적인 지식/IT

nmap 사용법

nmap
 

 

 

1. nmap 은 네트워크 어떤포트가 열려있는가 listening되고 있는가를 스캔하기 위한 tool입니다.

nmap을 다운받는곳은 (www.insercuer.org)

2. 설치 방법
#tar xvfj nmap-3.27.tar.bz2
#./configure --prefix=/usr/local/nmap
# make
#make install

3. 옵션
-sT : TCP connection() scan: 가장 기본적인 형태 포트가 listenning상태라면 Connection() 그렇지 않으면 rechable 되지않는다.
-sS : TCP SYN scan : full Tcp 접속을 하지 않으므로 "half-open" 스캐닝이라 한다.
-sF : stealth FIN, xmax tree, null scan: 이들은 syn packet을 막아놓은 방화벽이나 패킷
-sX 필터 또는 synlogger와 courteny 같은 스캔을 탐지하는 프로그램을 무사히 통과 할 수
-sN 있다. open 포트로 FIN 패킷을 보내면 이 패킷을 무시하고, closed port로 보내면 RST 패킷이 온다. 이들 스캔은 주로 유닉스 계열 OS에서만 사용 가능하며, 루트퀀한이 필요
-sU : 이것은 호스트의 어떠한 UDP포트가 열려있는지 결정하기위해 사용한다. 이 기술은 시스템의 각 포트에 0 바이트 UDP 패킷을 보낸다. 만일 ICMP port unrechable메세지를 받았다면 close된거다.
-sA : ACK scan : 이것은 방화벽의 rool set을 정밀하게 계획하기 위해 사용한다. 특히 방화벽이 stateful한지 아니면 단순히 들어오는 syn패킷을 차단하는 패킷필터인지를 점검하하는데 도움이 된다. 포트에 ACK 패킷을 보내어 RST응답을 받으면 그 포트는 "unfilter"이다. nmap "unfilterd', 포트는 프린트 하지 않는다.
-sW : window scan : TCP window 크기의 변칙 때문에 filtered/nonfiltered 이며, 아무런 응답이 없으면 filtered이다.
-sR : RPC scan : 이것은 열려져 있는 TCP/UDP포트에 대해 그들이 RPC포트인지, 서비스를 제공하는 프로그램은 무엇이며, 버젼은 무엇인지 등을 확인하기 위해 SunRPC program NULL, commands을 계속 보내게 된다. 따라서 호스트 portmaper방화벽(또는 TCP wrapper)안에 있다 하더라고 'rpcinfo -p'와 같은 정보를 얻을 수 있다.
-b : FTP bounce attack : 익명 ftp 서버를 이용해 그 FTP서버를 경유해서 호스트를 스캔 .
f : packet을 조그만하게나눈어 사용하라는 것으로 필터링을 피하거나 침입탐지시스템을 피해가기 위한 것이다.
-P0 : 방화벽에 의해 ICMP echo requests( or responses)을 막아놓는 네트워크 스캔을 가능하게 한다. ping을 막아놓은 호스트를 스캔하가ㅣ 위해서는 -P0, -PT80을 사용한다.
-PT : 어느호스트가 살아 있는가를 알기 위해 TCP "ping"을 사용한다, 이것은 ICMP echo request 패킷을 보내고 응답을 기다리는 대신에, 네트워크에 TCP ACK를 보내어 응답이 오기를 기다린다. 이 옵션은 ping 패킷을 차단하는 네트워크나 호스트를 스캔하는 동안은 호스트가 살아 있는것고 같다. -PT를 사용하며, default port 80
-PI : 이것은 살아있는 호스트를 찾으며, 또한 네트워크 subnet-directed broadcast address를 찾는다. 이들은 들어오는 IP패킷을 컴퓨터의 서브넷으로 broadcast 하기 위한 ip주소
-PB : ping을 기본형태 ACK(-PT)와 ICMP(-PI) 모두를 사용한다.
-O : TCP/IP fingerprinting을 통한 호스트를 파악하는데 사용된다.
-v : verbose mode: interactive한 사용에 매우 유용한 옵션이다.
-p : 접속하고자 하는 포트를 지정하는 옵션이다. -p 20-30,139,60000 -'은 20에서 30사이의 포트와 139번 포트,60000번 이상의 포트에 대해 스캔한다.
-n/-R dns lookup을 하지 않는다 / dns lookup을 한다.
-S : packet source 주소를 지정한다.
-e : 네트워크의 interface을 지정한다.
-g : packet의 소스 포트번호를 지정한다.
-oN : 스캔한 결과를 logfile에 남긴다.
-D : scan을 당하는 상태 호스트가 어디에서 진짜 scan을 했는지 판단하기 힘들게 만든다.

4. 사용법
[root@www2 bin]# ./nmap -v localhost
No tcp, udp, or ICMP scantype specified, assuming SYN Stealth scan. Use -sP if you really don't want to portscan (and just want to see what hosts are up).

Starting nmap 3.27 ( www.insecure.org/nmap/ ) at 2003-05-19 17:53 KST
Host localhost.localdomain (127.0.0.1) appears to be up ... good.
Initiating SYN Stealth Scan against localhost.localdomain (127.0.0.1) at 17:53
Adding open port 22/tcp
Adding open port 21/tcp
Adding open port 873/tcp
Adding open port 80/tcp
Adding open port 3306/tcp
Adding open port 25/tcp
The SYN Stealth Scan took 2 seconds to scan 1623 ports.
Interesting ports on localhost.localdomain (127.0.0.1):
(The 1617 ports scanned but not shown below are in state: closed)
Port State Service
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
80/tcp open http
873/tcp open rsync
3306/tcp open mysql

Nmap run completed -- 1 IP address (1 host up) scanned in 2.355 seconds

# nmap -p 1-65535 localhost

Starting nmap V. 2.54BETA31 ( www.insecure.org/nmap/ )
Interesting ports on localhost.localdomain (127.0.0.1):
(The 65527 ports scanned but not shown below are in state: closed)
Port State Service
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
80/tcp open http
873/tcp open rsync
3306/tcp open mysql
20000/tcp open unknown
20001/tcp open unknown


Nmap run completed -- 1 IP address (1 host up) scanned in 5 seconds

#nmap -O localhost

Starting nmap V. 2.54BETA31 ( www.insecure.org/nmap/ )
Interesting ports on localhost.localdomain (127.0.0.1):
(The 1548 ports scanned but not shown below are in state: closed)
Port State Service
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
80/tcp open http
873/tcp open rsync
3306/tcp open mysql

Remote operating system guess: Linux Kernel 2.4.0 - 2.4.17 (X86)
Uptime 188.936 days (since Mon Nov 11 19:27:32 2002)

Nmap run completed -- 1 IP address (1 host up) scanned in 1 second

#nmap -sP -PT80 localhsot/25
#nmap -sT localhost
#nmap -sS localhost
#nmap -sF -sX -sN localhost

#nmap -sU localhost
#nmap -sT -sR -O -I -F localhost
#nmap -v -sF localhost -oN scan.txt
#nmap -sX -p 22,53,110,143,4564 192.168.*.1-27
#nmap -v --randomiz_hosts -p 80 '*.*.2.3-5'
#nmap -p 20,21,23,53,80,110 -PO -vv xxxx.com
#nmap -sP PT80 192.168.0.1/24
#nmap -f -sS -p 23 localhost

참고!!
 함부로 network scanning 하면 해킹으로 간주하기 때문에 조심해야 합니다

아래 책은 nmap 사용법에 관해 보아두어도 좋을만한 책입니다!

 

  •  

    네트워크 발견과 보안 스캐닝에 대한 공식 엔맵 프로젝트 가이드
    오픈소스인 엔맵 네트워크 스캐너는 네트워크 발견, 관리, 인벤토리, 보안 감사 용도로 수백만 명이 사용해왔다. 엔맵은 로우 IP 패킷을 새로운 방법으로 사용해 어느 호스트가 네트워크상에서 이용 가능한지와 해당 호스트에서 제공하는 서비스(애플리케이션 이름과 버전), 운영체제 종류, 패킷 필터나 방화벽의 종류가 무엇인지 식별한다. 엔맵은 리눅스 저널과 인포 월드에서 ‘올해의 정보 보안 제품’으로 평가받았다. 또한 매트릭스 리로디드, 다이 하드 4, 본 얼티메이텀 등 7개 영화에서 해커가 사용하는 툴로 소개됐다. 엔맵은 아미가(Amiga) 등 주요 컴퓨터 운영체제에서 실행되며, 전통적인 커맨드라인 인터페이스와 젠맵(Zenmap) GUI도 들어있다.

    소개
    『엔맵 네트워크 스캐닝』은 엔맵 보안 스캐너의 공식 가이드다. 초보자를 위한 포트 스캐닝의 기초 설명에서 고급 해커들이 사용하는 상세한 로우레벨 패킷 조작 방법에 이르기까지, 이 책은 모든 수준의 보안 전문가와 네트워크 전문가에게 적합하다. 70여 쪽에 이르는 레퍼런스 가이드(reference guide)는 엔맵의 모든 특성과 옵션을 문서화하고, 특성들을 실제 생활에 어떻게 적용해 문제를 빠르게 해결할 수 있는지 설명한다. 이 책에서 다루는 내용은 다음과 같다.

    ▶ 방화벽과 침입탐지 시스템 탐지와 무력화
    ▶ 엔맵 성능 최적화
    ▶ 엔맵 스크립팅 엔진으로 하는 네트워킹 작업 자동화


반응형