介紹
nmap是用來探測計算機網絡上的主機和服務的一種安全掃描器。為了繪制網絡拓撲圖Nmap的發送特制的數據包到目標主機然后對返回數據包進行分析。Nmap是一款枚舉和測試網絡的強大工具。
特點
- 主機探測
- 端口掃描
- 版本檢測
- 支持探測腳本的編寫
基本操作
基本快速掃描
Nmap 默認發送一個arp的ping數據包來探測目標主機在1-10000范圍內所開放的端口。
nmap 10.130.1.43
快速掃描多個目標
nmap <target ip1 address> <target ip2 address>nmap 10.130.1.28 10.130.1.43
詳細描述輸出掃描
簡單掃描并對返回的結果詳細描述輸出,這個掃描是可以看到掃描的過程的,漫長的掃描的過程中可以看到百分比 就不會顯得那么枯燥而且可以提升逼格。
nmap -vv 10.1.1.254
親測 -v和-vv掃描幾乎是一樣都都是列出了詳細的掃描過程。
指定端口和范圍掃描
nmap 默認掃描目標1-10000范圍內的端口號。我們則可以通過參數-p 來設置我們將要掃描的端口號
nmap -p(range) <target IP>
namp -p3389,20-100 10.130.1.43
掃描除過某一個ip外的所有子網主機
nmap 10.130.1.1/24 -exclude 10.130.1.1
掃描除過某一個文件中的ip外的子網主機
nmap 10.130.1.1/24 -excludefile gov.txt
顯示掃描的所有主機的列表
nmap -sL 10.130.1.1/24
sP ping 掃描
nmap 可以利用類似window/linux 系統下的ping方式進行掃描
nmap -sP <target ip>
一般來說 我們會用這個命令去掃描內網的一個ip范圍用來做內網的主機發現。
nmap -sP 10.130.1.1-255
PING掃描不同于其它的掃描方式因為它只用于找出主機是否是存在在網絡中的.它不是用來發現是否開放端口的.PING掃描需要ROOT權限如果用戶沒有ROOT權限,PING掃描將會使用connect()調用.
sS SYN半開放掃描
nmap -sS 192.168.1.1
Tcp SYN Scan (sS) 這是一個基本的掃描方式,它被稱為半開放掃描因為這種技術使得Nmap不需要通過完整的握手就能獲得遠程主機的信息。Nmap發送SYN包到遠程主機但是它不會產生任何會話.因此不會在目標主機上產生任何日志記錄,因為沒有形成會話。這個就是SYN掃描的優勢.如果Nmap命令中沒有指出掃描類型,默認的就是Tcp SYN.但是它需要root/administrator權限。
sT TCP掃描
nmap -sT 192.168.1.1
不同于Tcp SYN掃描,Tcp connect()掃描需要完成三次握手,并且要求調用系統的connect().Tcp connect()掃描技術只適用于找出TCP和UDP端口。
sU UDP掃描
nmap -sU 192.168.1.1
這種掃描技術用來尋找目標主機打開的UDP端口.它不需要發送任何的SYN包因為這種技術是針對UDP端口的。UDP掃描發送UDP數據包到目標主機并等待響應,如果返回ICMP不可達的錯誤消息說明端口是關閉的如果得到正確的適當的回應說明端口是開放的.
sF FIN標志的數據包掃描
nmap -sF 110.130.1.43
可以看出這個掃描的話 會漏掃許多~FIN掃描也不會在目標主機上創建日志(FIN掃描的優勢之一).個類型的掃描都是具有差異性的,FIN掃描發送的包只包含FIN標識,NULL掃描不發送數據包上的任何字節,XMAS掃描發送FIN、PSH和URG標識的數據包.
sV Version版本檢測掃描
nmap -sV 192.168.1.135
本檢測是用來掃描目標主機和端口上運行的軟件的版本.它不同于其它的掃描技術它不是用來掃描目標主機上開放的端口不過它需要從開放的端口獲取信息來判斷軟件的版本.使用版本檢測掃描之前需要先用TCPSYN掃描開放了哪些端口。
這個掃描的話速度會慢一些67.86秒掃一個IP。
O OS操作系統類型的探測
nmap -O 10.130.1.43
遠程檢測操作系統和軟件Nmap的OS檢測技術在滲透測試中用來了解遠程主機的操作系統和軟件是非常有用的通過獲取的信息你可以知道已知的漏洞。Nmap有一個名為的nmap-OS-DB數據庫該數據庫包含超過2600操作系統的信息。Nmap把TCP和UDP數據包發送到目標機器上然后檢查結果和數據庫對照。
osscan-guess 猜測匹配操作系統
nmap -O --osscan-guess 192.168.1.134
通過Nmap準確的檢測到遠程操作系統是比較困難的需要使用到Nmap的猜測功能選項,–osscan-guess猜測認為最接近目標的匹配操作系統類型。
PN No ping掃描
nmap -O -PN 192.168.1.1/24
如果遠程主機有防火墻IDS和IPS系統你可以使用-PN命令來確保不ping遠程主機因為有時候防火墻會組織掉ping請求.-PN命令告訴Nmap不用ping遠程主機。使用-PN參數可以繞過PING命令,但是不影響主機的系統的發現。
這個掃描整個c段局域網的話還是比較耗時的但是信息收集很詳細大概耗時9分鐘。
T 設置時間模板
nmap -sS -T<0-5> 192.168.1.134
優化時間控制選項的功能很強大也很有效但有些用戶會被迷惑。此外 往往選擇合適參數的時間超過了所需優化的掃描時間。因此Nmap提供了一些簡單的 方法使用6個時間模板使用時采用-T選項及數字(0 – 5) 或名稱。模板名稱有paranoid (0)、sneaky (1)、polite (2)、normal(3)、 aggressive (4)和insane (5)
- paranoid、sneaky模式用于IDS躲避
- Polite模式降低了掃描 速度以使用更少的帶寬和目標主機資源。
- Normal為默認模式因此-T3 實際上是未做任何優化。
- Aggressive模式假設用戶具有合適及可靠的網絡從而加速 掃描.
- nsane模式假設用戶具有特別快的網絡或者愿意為獲得速度而犧牲準確性。
網段掃描格式
nmap -sP <network address > </CIDR >
解釋CIDR 為你設置的子網掩碼(/24 , /16 ,/8 等)
10.1.1.0/24 = 10.1.1.1-10.1.1.255 #c段掃描10.1.1.0/16 = 10.1.1.1-10.1.255.255 #b段掃描10.1.1.0/8 = 10.1.1.1-10.255.255.255 #a段掃描
從文件中讀取需要掃描的IP列表
nmap -iL ip-address.txt
路由跟蹤掃描
路由器追蹤功能能夠幫網絡管理員了解網絡通行情況同時也是網絡管理人員很好的輔助工具通過路由器追蹤可以輕松的查處從我們電腦所在地到目標地之間所經常的網絡節點并可以看到通過各個節點所花費的時間
nmap -traceroute www.baidu.com
A OS識別,版本探測,腳本掃描和traceroute綜合掃描
此選項設置包含了1-10000的端口ping掃描操作系統掃描腳本掃描路由跟蹤服務探測。
nmap -A 10.130.1.43
命令混合式掃描
命令混合掃描可以做到類似參數-A所完成的功能但又能細化到我們所需特殊要求。所以一般高手選擇這個混合掃描
nmap -vv -p1-100,3306,3389 -O -traceroute 10.130.1.43
這些參數都是可以靈活調用的具體根據具體的掃描來使用各個參數。
nmap -p1-65535 -sV -sS -T4 10.130.1.134
使SYN掃描并進行Version版本檢測 使用T4(aggressive)的時間模板對目標ip的全端口進行掃描。
輸出格式
掃描的結果輸出到屏幕,同時會存儲一份到grep-output.txt
nmap -sV -p 139,445 -oG grep-output.txt 10.0.1.0/24
掃描結果輸出為html
nmap -sS -sV -T5 10.0.1.99 --webxml -oX - | xsltproc --output file.html
上述內容不知道大家學習到了嗎?網絡世界的安全漏洞每天都會出現,安全知識和安全意識每個公民都應該了解和學習,有想學習網絡安全技能的小伙伴可以隨時私信我哦!