Nmap提供了四項基本功能(主機發現、端口掃描、服務與版本偵測、OS偵測)及豐富的腳本庫。Nmap既能應用于簡單的網絡信息掃描,也能用在高級、復雜、特定的環境中:例如掃描互聯網上大量的主機;繞開防火墻/IDS/IPS;掃描Web站點;掃描路由器等等。
簡要回顧Nmap簡單的掃描方式:
全面掃描:nmap-T4 -A targetip
主機發現:nmap-T4 -sn targetip
端口掃描:nmap-T4 targetip
服務掃描:nmap-T4 -sV targetip
操作系統掃描:nmap-T4 -O targetip
上述的掃描方式能滿足一般的信息搜集需求。而若想利用Nmap探索出特定的場景中更詳細的信息,則需仔細地設計Nmap命令行參數,以便精確地控制Nmap的掃描行為。
下面列舉比較實用的高級應用場景和技巧。
1 Nmap高級選項
1.1 查看本地路由與接口
Nmap中提供了--iflist選項來查看本地主機的接口信息與路由信息。當遇到無法達到目標主機或想選擇從多塊網卡中某一特定網卡訪問目標主機時,可以查看nmap --iflist中提供的網絡接口信息。
nmap --iflist |
1.2 指定網口與IP地址
在Nmap可指定用哪個網口發送數據,-e 選項。接口的詳細信息可以參考--iflist選項輸出結果。
示例:
nmap -e eth0 targetip |
Nmap也可以顯式地指定發送的源端IP地址。使用-S 選項,nmap將用指定的spoofip作為源端IP來發送探測包。
另外可以使用Decoy(誘騙)方式來掩蓋真實的掃描地址,例如-D ip1,ip2,ip3,ip4,ME,這樣就會產生多個虛假的ip同時對目標機進行探測,其中ME代表本機的真實地址,這樣對方的防火墻不容易識別出是掃描者的身份。
nmap -T4 -F -n -Pn -D192.168.1.100,192.168.1.101,192.168.1.102,ME 192.168.1.1 |
1.3 定制探測包
Nmap提供--scanflags選項,用戶可以對需要發送的TCP探測包的標志位進行完全的控制??梢允褂脭底只蚍栔付═CP標志位:URG, ACK, PSH,RST, SYN,and FIN。
例如,
nmap -sX -T4 --scanflags URGACKPSHRSTSYNFINtargetip |
此命令設置全部的TCP標志位為1,可以用于某些特殊場景的探測。
另外使用--ip-options可以定制IP包的options字段。
使用-S指定虛假的IP地址,-D指定一組誘騙IP地址(ME代表真實地址)。-e指定發送探測包的網絡接口,-g(--source-port)指定源端口,-f指定使用IP分片方式發送探測包,--spoof-mac指定使用欺騙的MAC地址。--ttl指定生存時間。
2 掃描防火墻
防火墻在今天網絡安全中扮演著重要的角色,如果能對防火墻系統進行詳細的探測,那么繞開防火墻或滲透防火墻就更加容易。所以,此處講解利用Nmap獲取防火墻基本信息典型的用法。
為了獲取防火墻全面的信息,需盡可能多地結合不同掃描方式來探測其狀態。在設計命令行參數時,可以綜合網絡環境來微調時序參數,以便加快掃描速度。
SYN掃描
首先可以利用基本的SYN掃描方式探測其端口開放狀態。
nmap -sS -T4 |
掃描輸出為:
All 997 ports are filtered PORT STATE SERVICE 80/tcp open http 113/tcp closed auth 507/tcp open crs |
原文轉自:http://www.anti-gravitydesign.com