端口掃描工具nmap的常用參數講解


轉載請注明出處:https://www.cnblogs.com/wangyanzhong123/p/12576406.html

nmap下載與安裝

這個沒什么好說的。很簡單官網上下載就ok了,需要注意的是winPcap可能會和nmap自帶的Npcap有沖突,這里我下載的版本是Nmap 7.80。它甚至給我們提供了一個GUI界面(雖然bug很多)。

nmap的基本指令

打開nmap的GUI,發現它會給你一個默認的指令nmap -T4 -A -v,這也是平時在使用nmap過程中最常使用的幾個指令之一,但是除了這些指令,我們還需要掌握一些更多的東西,下面將會逐漸進行介紹。

-T<0/1/2/3/4/5> :設置時間模板

簡單來說就是調整你的掃描時間等級,數字越大時間越快,但是相應就要犧牲一些別的東西。
-T0:paranoid,可以避免IDS報警,速度最慢,一個時間掃描一個端口,每個探測報文的發送間隔為5分鍾。
-T1:sneaky,可以避免IDS報警,速度很慢,探測報文發送間隔為15s。
-T2:polite,降低了掃描速度從而可以使用更少的帶寬和目標主機資源,速度較慢,探測報文發送間隔為0.4s。
-T3:normal,正常模式,未作任何改變和優化。
-T4:aggressive,假設用戶具有合適及可靠的網絡從而加速掃描,針對TCP端口禁止動態掃描延遲超過10ms,一般如果掃描可靠的網絡使用這個較好。
-T5:insane,假設用戶擁有特別快的網絡或者為了速度可以犧牲准確性等其他因素,可能會使目標主機崩潰。

掃描目標的選擇相關選項

-iL :從一個文件中輸入你的掃描目標信息(IP地址,主機名,CIDR,IPv6,或者八位字節范圍),文件中的每一項必須以一個或多個空格,制表符或換行符分開。比如你創建了一個文件test.txt,里面輸入了用換行符分開的一些IP地址,那么你就可以輸入nmap命令nmap -iL test.txt來掃描文件中的目標。

-iR :隨機生成 個的目標進行掃描,如果hostnum是0,則代表永無止盡的隨機掃描, 慎用慎用!!

--exclude <host1[,host2][,host3],...>:排除主機/網絡,如果在你掃描過程中有一些網絡/主機不是你想掃描的,那么就使用這個命令進行排除,舉個例子,比如我的test.txt有3個IP地址,現在我不想對其中的192.168.1.121進行掃描,那么我就可以輸入nmap命令nmap -iL test.txt --exclude 192.168.1.121

--excludefile :排除文件中的主機/網絡列表,原理和上面類似,如果我現在在test.txt中有一些IP地址不想掃描,那么我們可以把它們放在exclude.txt中並用適當的分隔符進行分割,舉個例子就是nmap -iL test.txt --excludefile exclude.txt

主機/網絡的發現和探測

可以理解為平時我們的ping命令,但是這里nmap有更多別的五花八門的方法來實現我們的“ping”。
-sL:列出指定網絡上的每台主機,不發送任何報文到目標主機,例如nmap -sL 192.168.1.1,當然很多網絡都對這個做了防護措施,或許你並掃不出來什么。

-sn:無端口掃描,也就是ping掃描,僅僅可以探測出目標是否可達,例如nmap -sn 192.168.1.112,早一些的版本這個命令叫-sP,在局域網內,該掃描可能並不會發送ICMP報文,而是會廣播ARP報文。

--dns-servers:指定DNS服務器來進行端口掃描,指定一個或者多個dns服務器可以讓你的掃描更快,例如nmap --dns-servers xxx.xxx.xxx.xxx -sn 192.168.1.112

掃描方式

-sT:TCP全連接掃描,主機會與目標端口進行三次握手,建立完整的TCP連接,這種方式掃描速度慢,網絡流量大,容易被發現,例如nmap -sT 192.168.1.112

-sS:TCP SYN掃描,主機向目標端口發送SYN報文,如果目標端口返回了[ACK,SYN],主機發送RST直接斷開,這種掃描方式速度較快,被廣泛使用,例如nmap -sS 192.168.1.112

-sA:TCP ACK掃描,主機向目標端口發送ACK報文,如果目標端口返回了RST,則說明目標端口開放,該方式可以用來繞過防火牆,例如nmap -sA 192.168.1.112

-sU:UDP掃描,通過向端口發送UDP數據包來判斷開啟了哪些UDP服務,UDP掃描通常比TCP掃描要慢,你可以將UDP掃描與TCP掃描同時進行,例如nmap -sS -sU 192.168.1.112

-sN-sF-sX:這是三種秘密掃描方式,分別為NULL掃描,FIN掃描和Xmas掃描掃描,它們相對比較隱蔽,除了探測報文的標志位不同,這三種掃描在行為上完全一致。如果收到一個RST報文,該端口被認為是關閉的,而沒有響應則意味着端口是開放或者被過濾的,這些掃描可以結合--scanflags進行使用,它的參數可以是URG,ACK,PSH,RST,SYN等。

掃描端口設置

-p:設置掃描端口范圍,設置掃描端口范圍有多種方式,比如nmap -sS -p 1-65535 192.168.1.112代表掃描1到65535這些端口。當然你也可以根據不同的協議指定的更細一點,比如nmap -sS -p U:53,111,137,T:21-25,80,139,8080 192.168.1.112代表掃描UDP的53,111,137端口和TCP的21到25,80。。。等端口,其中T代表TCP, U代表UDP, S代表SCTP, P代表IP協議。\

--exclude-ports :設置掃描要排除的端口,用法和上面類似,例如nmap -sS -p 1-65535 --exclude-ports 3306 192.168.1.112

-F:快速掃描,這里按照nmap內置的最常用端口表進行掃描,掃描數量比默認的更少,時間也會更短一些,例如nmap -sS -F 192.168.1.112

-r:正常情況下,為了掃描效率,端口掃描的順序是隨機的,這個參數可以讓掃描順序按照由低到高的順序進行掃描,例如nmap -sS -r 192.168.1.112

--top-ports :掃描nmap的端口表里最常見的前n個端口,例如nmap -sS --top-ports 10 192.168.1.105

版本與操作系統探測

-sV:檢測目標運行的服務版本,例如nmap -sV 192.168.1.105,它會檢測出目標主機端口號所運行的服務或軟件的版本

-O:檢測目標操作系統,例如nmap -O 192.168.1.105

掃描時間設置

--host-timeout :由於性能較差或不可靠的網絡硬件或軟件、帶寬限制、嚴格的防火牆等原因,一些主機需要很長的時間掃描。這些極少數的主機掃描往往占據了大部分的掃描時間。因此,最好的辦法是減少時間消耗並且忽略這些主機,使用--host-timeout選項來說明等待的時間(毫秒)。
--scan-delay :調整探測報文的時間間隔,將它設置小可以用來躲避防火牆。

其他常用設置

-v:提高輸出信息的詳細程度
-A:啟動強力掃描模式,該模式下會默認啟動操作系統檢測(-O) 和版本掃描(-sV)
-6:啟用IPv6掃描


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM