1. 程式人生 > >Kali學習筆記16:Nmap詳細講解

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(有時可以欺騙防火牆)

其他的引數沒什麼好說的,都是些雜項用不著的