| 1. nmap 은 네트워크 어떤포트가 열려있는가 listening되고 있는가를 스캔하기 위한 tool입니다.
 nmap을 다운받는곳은 (http://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 하면 해킹으로 간주하기 때문에 조심해야 합니다.^^
 
  자료출처 : 한서버 |