Kali學習筆記16:Nmap詳細講解
在前面十五篇部落格中,幾乎每一篇都有介紹Nmap,這裡系統地介紹下每個引數:
注意:區分每個引數的大小寫
-iL:列好的IP放在一個文本里面,可以直接掃描這個文字
用法:namp -iL <文字名>
-iR:隨機掃指定數目的IP:
用法:nmap -iR <IP數量>
示例:我現在隨機掃描50個IP的80埠,把其中是open的顯示出來
顯然,隨機的這50個IP沒有開放80埠的或者開了防火牆
--exclude:指定不掃描的IP
用法:nmap <IP> --exclude <IP/IPs>
示例:我現在要掃描192.168.163這一網段,但我不想掃描192.168.163.1-100:
--excludefile:類似上一條,不過把不掃描的IP放在一個文字檔案中
用法:類似上一條
主機發現系列:
-sL:並不掃描,只是把要掃描的IP列出來
用法:nmap <IP> -sL
示例:
-sn:掃描目標,但不掃描埠
用法:nmap <IP> -sn
-Pn:有時候目標開啟防火牆,無法收到回包,Nmap會不再掃描該目標,但是我向徹底掃描這個目標,需要這個引數
用法:nmap <IP> -Pn
-PS/-PA/-PU/-PY:使用相對應的協議掃描發現:PS:TCP[SYN]、PA:TCP[ACK]、PU:UDP、PY:SCTP
用法:nmap <IP> -PS/-PA/-PU/-PY
以下內容,如果可以直接加的引數,不在寫用法(比如-Pn和-sn)
-PE:使用ICMP的echo
-PP:使用時間戳
-PM:查子網掩碼(通常掃不到結果)
-PO:使用IP協議
-n:不做DNS解析
-R:反向DNS解析
--dns-servers:掃描的時候不使用本地配置的DNS伺服器而使用指定的
示例:使用美國的DNS伺服器掃描新浪
--traceroute:路由追蹤(類似Kali的traceroute命令)
埠掃描系列:
-sS:使用TCP【SYN】掃描
-sT:使用TCP掃描:建立完整的三次握手
-sA:使用TCP【ACK】掃描
-sW:TCP:window掃描(沒用過)
-sM:TCP:maimon掃描(沒用過)ACK+FIN(17)
-sU:使用UDP掃描(事實證明沒有TCP協議準確)
-sN:使用TCP空FLAG掃描
-sF:TCP:FIN掃描
-sX:xMas掃描(沒用過,使用罕見的TCP的FLAG的組合)
--scanflags:自定義FLAG掃描(高手才可以用:需要熟練了解協議,針對不同情況使用)
-sI:殭屍掃描:具體殭屍掃描和實現這裡是我寫的案例:
-sY/-sZ:SCTP相關的掃描
-sO:IP協議掃描
-b:FTP中繼掃描
-p:指定掃描埠,天天有,方法就不說了
不過可以有多種寫法:
-F:快速掃描(掃描常見的少量埠)
-r:按順序掃描埠(Nmap預設隨意掃描指定範圍的埠)
--top-ports:掃描指定數量的埠
示例:只掃描常見一千埠中的前十個:
-sV:已經掃描到埠之後,探測服務
--version-intensity:配合sV引數,探測服務程度(1-9表示程度深淺)
示例:我要非常詳細地掃描某IP的服務
這裡可以看出,的確是非常的詳細
--version-trace:顯示更多的過程
指令碼掃描:指令碼在/usr/share/nmap/scripts裡面
-sC=:和--scrip=t引數一樣
--script-args=:指令碼引數
具體指令碼有哪些,可以上網檢視當前版本對於的指令碼
--script-updatedb:更新nmap的指令碼(沒有掃描作用)
--script-help:指令碼幫助
-O:檢測作業系統
-f:設定最大傳輸單元
-D:偽造源地址(需要一些混淆IP)
示例:我設定了三個虛假的IP,用來掩護我的IP來進行掃描
可以抓包發現確實存在偽造源地址:
-S:欺騙源地址
示例:
這裡還用了-e引數:指定網絡卡
缺陷:收不到回包
-g:使用源埠傳送
示例:我指定所有發出的包都是8888埠:
--proxies:代理(不推薦)
如果要代理的話,建議用proxychains方便使用
我以前這篇文章有介紹如何在Kali中使用代理:
--data=:給掃描包加上資料
--data-string=/--data-length:類似上邊
--spoof-mac:欺騙mac地址:
示例:
--badsum:故意傳送錯誤的checksum(有時可以欺騙防火牆)
其他的引數沒什麼好說的,都是些雜項用不著的