在命令窗口下輸入命令等待,可以用回車來查看進度
nmap進行探測之前要把域名通過dns服務器解析為ip地址,我們也可以使用指定的dns服務器進行解析。
nmap --dns-servers 主機地址 需要掃描的目標地址
對於已經知道主機存活或者防火牆開啟,可以使用-Pn參數來停止探測之前的icmp的請求。已達到觸不到防火牆安全機制
nmap -Pn www.baidu.com
nmap列舉遠程機器開放端口
對於默認端口范圍,並不能滿足日常工作需要。可以使用-p m-n 來指定探測端口范圍為m到n之間的所有端口可以在具體某個范圍用
端口狀態
open、close不解釋了,主要是filtered是過濾狀態
nmap掃描技術查看
nmap -h查看幫助信息
主要幫助里的SCAN TECHNIQUES
服務指紋
為了確保有一個成功的滲透測試或網絡設備監控,需要我們知道目標系統中服務信息指紋。服務指紋信息包含服務端口、服務名和版本等。
通過分析目標往nmap發送的數據包中的某些協議標記、選項和數據,我們可以推斷這些數據包的操作系統。
nmap通過向目標主機發送多個udp和tcp數據包並分析響應來進行系統指紋工作。
nmap識別服務指紋
nmap -sV IP地址來自目標機器的服務信息
就用虛擬機的kali吧。。。。當實驗吧。。
真的很慢。。。
通過掃描知道我用的是vmware,竟然還有個漏洞端口,445可以通過端口溢出進行攻擊
nmap侵略性探測
nmap -A -v -T4 IP地址
-A表示使用侵略的方式,嗯。。可以理解為英文單詞attack其中包括操做系統識別,端口服務、指紋識別等
-v表示持續輸出返回的解析的詳略程度。
-T4是加速(數字范圍是1到5)
可以掃到目標機器的開機時間,MAC地址,系統版本等。。。
nmap -sC -sV -O(是o不是0) IP地址
sC參數表示使用nmap腳本進行探測,sV表示探測目標機器上的服務信息,O表示探測目標機器的操作系統
主機發現
局域網有許多設備,如何獲取開機狀態
1.ping
2.使用工具批量探測
明白CIDR含義:
無類別域間路由,(class inter-domain routing)可以快速地表示一個網絡
舉例:
172.16.1.1/24 表示172.16.1.1到172.16.1.255之間的所有ip地址
nmap主機發現
nmap -sP CIDR
對該網絡的所有主機進行ping掃描,以探測主機存活性。掃描中用了tcp syn掃描、icmp echo request 來探測主機存活。
也可以使用
nmap -sn CIDR
對該網絡中的所有主機進行ping掃描,以探測主機的存活性。
nmap主機發現輸出結果
nmap -sn CIDR -oX 文件名.xml
對該網絡中的所有主機進行ping掃描,以探測主機的存活性。同時結果以文件名.xml輸出,以便后記使用
ps:注意路徑
端口探測技巧
nmap -p80 目標
把網站解析成IP地址,厲害。我們也可以看到狀態是開放的
多個端口以逗號隔開
范圍端口
nmap -p1-100 目標地址
所有端口
nmap -p- 目標地址
指定協議探測端口
nmap -p T:端口,U:端口 目標地址
通過協議名來掃描端口
nmap -p 協議名字 目標地址
這個牛逼
通過名稱范圍掃描
nmap -p s* 目標地址
這里的s*值得是所有以s開頭的協議
掃描百度會有許多過濾
掃描注冊在nmap中的端口
nmap -p [1-65535] 目標地址
NSE介紹
nse就是nmap script engine )nmap腳本引擎,內置很多可以用來掃描的、針對特定任務的腳本。通過nse可以不斷地拓展nmap的掃描策略,加強nmap的功能
nse使用
使用nmap探測web服務的title信息。
nmap --script http-title 目標主機
nmap --script http-headers 目標主機
可以獲得目標的使用版本信息等
nse分類使用
對於目標使用多個分類腳本進行探測,可以更快的找到目標信息和弱點
nmap -sV --script vuln 目標
不展示。。
使用下面的命令可以發現版本信息分類進行探測
nmap -sV --script="version,discovery" 目標
使用nmap可以進行篩選掃描檢測
nmap -sV --script="not exploit" 目標
還有更詳細的。。
要使用http*的腳本,除了http-brute和http-slowers
nmap -sV --script "(http*) and not (http-slowlors and http-brute)" 目標
nse調試功能的使用
使用nmap中的exploit,但是在與此同時開啟調試模式。
nmap -sV --script ecploit -d 3 --script-trace 目標
-d(debug范圍0到9)
--script-trace可以隨時看到掃描過程
nse參數的使用
使用nmap的http-title腳本,並且指定使用對應的user-agent
nmap -sV --script http-title --script-args http.useragent="mozilla 999" 目標
此代碼使用可以突破某些網站的限制設備登陸
nse更新
nmap --script-updatedb
nse腳本分類
在nmap的script的目錄下。
或者官網https://nmap.org/nsedoc/
有具體解釋和內容,不過得FQ,我進不去。。
nmap指定特定網卡進行探測
使用場景
這種功能需要網卡支持混雜模式,或者當計算機上有兩張卡,並且兩張卡對應不同的網絡
指定網卡進行探測
nmap -e 網卡信息 CIDR
切換使用特定網卡進行探測的參數 -e
kali中操作
ndiff
對之前的數據參數進行二次比較,減少了人工的比較,節省大量時間
上我們最愛的百度翻譯
用法:ndiff[option]FILE1 FILE2
比較兩個Nmap XML文件並顯示它們的差異列表。
不同之處包括主機狀態更改、端口狀態更改和
服務和操作系統檢測。
-h、 --幫助顯示此幫助
-v、 --verbose還顯示未更改的主機和端口。
--文本格式的文本顯示輸出(默認)
--xml格式的xml顯示輸出
指定文件輸出加侵略性查看
nmap -A -v -T4 目標地址 -oX 文件輸出名.xml
然后對kali輸入命令
service apache2 start
來打開阿帕奇服務
nmap上面的命令
然后用工具nidff
ndiff 文件 文件
首行加+表示第二個比較的文件的不同
-表示第一個文件的不同
之前開啟服務,apache,所以會有不同。
可視化nmap的使用
使用zenmap
在配置中設置腳本,從而在可視化程序中快速指定配置進行掃描
也可以使用自帶策略
ping scan來驗證主機的存活性
等等等
window下網卡
通過命令ipconfig /all 與nmap irlist比較知道是哪些網卡名稱從而進行探測。
不指定網卡,直接探測也可以,首先依次嘗試這些網卡發送數據包,如果連通,才會繼續探測,否則就換下一個網卡。直到網卡都被嘗試后,才算結束。