2010年6月30日 星期三

網路安全工具 - nmap

nmap - Network Mapper

Network exploration tool and security / port scanner


-PN [No Ping]
$ nmap
This option skips the Nmap discovery stage altogether.
Normally, nmap uses this stage to determine active machines for heavier scanning.
Used to be -P0 <- it's a nubmer zero, not a character O


-sL [List Scan]
$ nmap -sL 192.168.1.0/24
列出子網路所有IP及對應的主機名稱,但不作ping及通訊埠偵測
(degenerate form of host discovery without sending any packets)


-sP [Port Scan]
$ nmap -sP 192.168.1.0/24
僅使用ping掃瞄子網路內的所有IP,並列出有回應的IP,不作進一步測試


-PS [TCP SYN Ping]
$ nmap -PS 192.168.1.1
偵測遠端主機已開啟的通訊埠
為縮短掃瞄時間,可指定特定的port number,例如 -PS22,23,80,25
This option sends an empty TCP packet with the SYN flag set.
-remote host responds with a RST packet (The queried port is closed)
-remote host responds with a SYN/ACK packet (The queried port is open)
利用的原理是 TCP 3-way-handshake mechanism
A --SYN--> B
A <--SYN/ACK-- B
A --ACK--> B


-PU [UDP Ping]
$ nmap -PU 192.168.1.0/24
使用UDP協定 ping 遠端的主機。


-sS [TCP SYN scan]
$ nmap -sS 192.168.1.0/24
使用 TCP SYN packet 掃瞄,這是一個半開放的掃瞄方式,
三方交握不會完成,所以掃瞄速度較快,也比較常被使用。
此選項可以列出有回應的遠端主機已開啟的網路服務埠。


-sT [TCP connect scan]
$ nmap -sT 192.168.1.0/24
如無法以 TCP SYN packet 掃瞄時,就得改用 socket API connect() 來掃瞄
在這種情況底下,connection 會被正式建立完成,花費的時間也較- sS 選項多


-sU [UDP scan]
$ nmap -sU 192.168.1.0/24
用 UDP 協定掃瞄遠端主機群


-sO [IP protocol scan]
$ nmap -sO 192.168.1.1
偵測遠端主機已開啟哪些通訊協定 TCP,UDP,ICMP,等等


-O [Enable OS detection]
nmap -O 192.168.1.1
nmap -A 192.168.1.1
偵測遠端主機的作業系統類型


-v -vv -vvv [Increase verbosity level]
nmap -v scanme.nmap.org
掃瞄遠端主機,並列出相關詳細的資訊


[example]

$ nmap -sS -O 192.168.1.0/24
以 SYN 掃瞄網域為192.168.1.0所屬 C class 網段的所有存在的主機作業系統類型

-sV [Version detection]
-p [Only scan specified ports]
$ nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127
進行主機列表及TCP掃瞄特定網路服務,-p 指定 22,53,110,143,4564 這幾個 port
遠端主機的網路含括 198.116.(0-255).(1-127) 網段
(version detection is used to determine what application is running)

-iR [Choose random targets]
$ nmap -v -iR 100000 -P0 -p 80
隨機選擇100000台主機,偵測是否開啟 Web 服務,
由於此掃瞄較耗時,所以加上 -P0(ie,-PN) 不作 active machines detection。
(The argument -iR 0(zero) can be specified for a never-ending scan)


[Reference]
http://nmap.org/book/man.html
http://idobest.pixnet.net/blog/post/22040775

沒有留言:

張貼留言