中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

nmap軟件常見用法有哪些

發布時間:2021-11-23 09:48:43 來源:億速云 閱讀:172 作者:小新 欄目:安全技術

這篇文章主要介紹nmap軟件常見用法有哪些,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

二、常見用法

1、使用nslookup 解析出域名的IP地址

2、使用 nmap -sL 查詢該IP網段中包含的ip地址(不檢測存活狀態,僅列表)

3、使用nmap -sn 查詢網段中關注主機或者整個網段的IP存活狀態

    nmap -sn

    nmap針對局域網和廣域網(會根據源目的是否在同一網段進行判斷)有兩種不同的掃描方式

    當目標主機與源主機不在同一網段時:

    Nmap會發送四種不同類型的數據包來探測目標主機是否在線。

    1)  ICMP echo request

    2)  a TCP SYN packet to port 443

    3)  a TCP ACK packet to port 80

    4)  an ICMP timestamp request

    舉例:以掃描某個公網IP為例

    nmap -sn IP

    nmap軟件常見用法有哪些

    當目標主機與源主機在同一網段時

    

    nmap -sn 192.168.1.103

    Nmap 將通過發送arp請求,來檢查ip是否在線

    nmap軟件常見用法有哪些

4、掃描感興趣主機的端口

    需要注意,nmap在端口掃描前,首先會自動對ip的存活狀態掃描,如果發現目標ip不存活,將不再進行端口掃描。在進行ip存活掃描時(同-sn時的掃描,不過是nmap自動的),會發送2次掃描,以判斷ip的存活。

    下面是對未存活ip的掃描抓包,使用的nmap -sS -p 80 [ip] 來掃描80端口,但實際nmap先進行了ip存活的掃描

nmap -sS -p 80 [ip]             #掃描TCP 80端口

nmap軟件常見用法有哪些 

這是返回的結果,針對這種未存活的ip,nmap建議 使用 -Pn ,即不進行主機存活判斷,直接掃描端口。

nmap軟件常見用法有哪些

下圖是使用-Pn 選項來掃描80端口

nmap -Pn -sS -p 80 113.11.*.*

nmap軟件常見用法有哪些

nmap軟件常見用法有哪些

從nmap的掃描結果看,該端口被過濾,即不確定是否存活,但該主機是存活的。

但從抓包來看,該主機沒有任何回包,說明該端口被過濾或未開啟,同時,也無該ip的其他回包信息,所以,判斷nmap的主機存活結論是錯誤的(個人認為)。從抓包來看,nmap當未受到數據包時,默認都發送2次請求包。當未收到回復包時,說明發送過去的數據包被防火墻等設備過濾掉了,如果沒有被過濾,應該回復rest包,nmap顯示的端口則是關閉。

nmap端口掃描結果的說明:

Nmap通過探測將端口劃分為6個狀態:
open:                    端口是開放的。
closed:                  端口是關閉的。
filtered:                 端口被防火墻IDS/IPS屏蔽,無法確定其狀態。
unfiltered:             端口沒有被屏蔽,但是否開放需要進一步確定。
open|filtered:       端口是開放的或被屏蔽。
closed|filtered :    端口是關閉的或被屏蔽。

 nmap常見的端口掃描方式有以下幾種:

    -P     指定端口號,如果不指定端口,默認是掃描1000個常用的tcp或udp端口(根據掃描項)
    -F     快速模式,當不指定端口時,僅掃描TOP 100的端口
    -sS    TCP端口掃描,使用SYN 方式掃描,不建立TCP連接
    -sT    TCP端口掃描,tcp connect 通過3次握手,建立tcp連接
    -sU   UDP端口掃描
  
    
   其他端口掃描方式:
   -sA/sW/sM:指定使用 ACK/Window/Maimon scans的方式來對目標主機進行掃描。

   -sN/sF/sX: 指定使用TCP Null, FIN, and Xmas scans秘密掃描方式來協助探測對方的TCP端口狀態。

  --scanflags <flags>: 定制TCP包的flags。

  -sI <zombiehost[:probeport]>: 指定使用idle scan方式來掃描目標主機(前提需要找到合適的zombie host)

  -sY/sZ: 使用SCTP INIT/COOKIE-ECHO來掃描SCTP協議端口的開放的情況。

  -sO: 使用IP protocol 掃描確定目標機支持的協議類型。

  -b <FTP relay host>: 使用FTP bounce scan掃描方式

 

端口掃描原理

TCP SYN scanning

這是Nmap默認的掃描方式,通常被稱作半開放掃描(Half-open scanning)。該方式發送SYN到目標端口,如果收到SYN/ACK回復,那么判斷端口是開放的;如果收到RST包,說明該端口是關閉的。如果沒有收到回復,那么判斷該端口被屏蔽(Filtered)。因為該方式僅發送SYN包對目標主機的特定端口,但不建立的完整的TCP連接,所以相對比較隱蔽,而且效率比較高,適用范圍廣。

TCP SYN探測到端口關閉:

nmap軟件常見用法有哪些

TCP SYN探測到端口開放:

nmap軟件常見用法有哪些

TCP connect scanning

TCP connect方式使用系統網絡API connect向目標主機的端口發起連接,如果無法連接,說明該端口關閉。該方式掃描速度比較慢,而且由于建立完整的TCP連接會在目標機上留下記錄信息,不夠隱蔽。所以,TCP connect是TCP SYN無法使用才考慮選擇的方式。

TCP connect探測到端口關閉:

nmap軟件常見用法有哪些

TCP connect探測到端口開放:

nmap軟件常見用法有哪些

 TCP ACK scanning

向目標主機的端口發送ACK包,如果收到RST包,說明該端口沒有被防火墻屏蔽;沒有收到RST包,說明被屏蔽。該方式只能用于確定防火墻是否屏蔽某個端口,可以輔助TCP SYN的方式來判斷目標主機防火墻的狀況。

TCP ACK探測到端口被屏蔽:

nmap軟件常見用法有哪些

TCP ACK探測到端口未被屏蔽:

nmap軟件常見用法有哪些

   TCP FIN/Xmas/NULL scanning

這三種掃描方式被稱為秘密掃描(Stealthy Scan),因為相對比較隱蔽。FIN掃描向目標主機的端口發送的TCP FIN包或Xmas tree包/Null包,如果收到對方RST回復包,那么說明該端口是關閉的;沒有收到RST包說明端口可能是開放的或被屏蔽的(open|filtered)。

其中Xmas tree包是指flags中FIN URG PUSH被置為1的TCP包;NULL包是指所有flags都為0的TCP包。

TCP FIN探測到主機端口是關閉的:

nmap軟件常見用法有哪些

TCP FIN探測到主機端口是開放或屏蔽的:

 nmap軟件常見用法有哪些

  UDP scanning

UDP掃描方式用于判斷UDP端口的情況。向目標主機的UDP端口發送探測包,如果收到回復“ICMP port unreachable”就說明該端口是關閉的;如果沒有收到回復,那說明UDP端口可能是開放的或屏蔽的。因此,通過反向排除法的方式來斷定哪些UDP端口是可能出于開放狀態。

UDP端口關閉:

nmap軟件常見用法有哪些

UDP端口開放或被屏蔽:

nmap軟件常見用法有哪些

隱藏自身IP的掃描

使用idle scan方式借助僵尸主機(zombie host,也被稱為idle host,該主機處于空閑狀態并且它的IPID方式為遞增。詳細實現原理參見:http://nmap.org/book/idlescan.html)來掃描目標在主機,達到隱蔽自己的目的;

或者使用FTP bounce scan,借助FTP允許的代理服務掃描其他的主機,同樣達到隱藏自己的身份的目的。

5、版本偵測

版本偵測,用于確定目標主機開放端口上運行的具體的應用程序及版本信息。

  • Nmap提供的版本偵測具有如下的優點:

  • 高速。并行地進行套接字操作,實現一組高效的探測匹配定義語法。

  • 盡可能地確定應用名字與版本名字。

  • 支持TCP/UDP協議,支持文本格式與二進制格式。

  • 支持多種平臺服務的偵測,包括Linux/Windows/Mac OS/FreeBSD等系統。

  • 如果檢測到SSL,會調用openSSL繼續偵測運行在SSL上的具體協議(如HTTPS/POP3S/IMAPS)。

  • 如果檢測到SunRPC服務,那么會調用brute-force RPC grinder進一步確定RPC程序編號、名字、版本號。

  • 支持完整的IPv6功能,包括TCP/UDP,基于TCP的SSL。

  • 通用平臺枚舉功能(CPE)

  • 廣泛的應用程序數據庫(nmap-services-probes)。目前Nmap可以識別幾千種服務的簽名,包含了180多種不同的協議。


5.1   版本偵測原理

簡要的介紹版本的偵測原理。

版本偵測主要分為以下幾個步驟:

  1. 首先檢查open與open|filtered狀態的端口是否在排除端口列表內。如果在排除列表,將該端口剔除。

  2. 如果是TCP端口,嘗試建立TCP連接。嘗試等待片刻(通常6秒或更多,具體時間可以查詢文件nmap-services-probes中Probe TCP NULL q||對應的totalwaitms)。通常在等待時間內,會接收到目標機發送的“WelcomeBanner”信息。nmap將接收到的Banner與nmap-services-probes中NULL probe中的簽名進行對比。查找對應應用程序的名字與版本信息。

  3. 如果通過“Welcome Banner”無法確定應用程序版本,那么nmap再嘗試發送其他的探測包(即從nmap-services-probes中挑選合適的probe),將probe得到回復包與數據庫中的簽名進行對比。如果反復探測都無法得出具體應用,那么打印出應用返回報文,讓用戶自行進一步判定。

  4. 如果是UDP端口,那么直接使用nmap-services-probes中探測包進行探測匹配。根據結果對比分析出UDP應用服務類型。

  5. 如果探測到應用程序是SSL,那么調用openSSL進一步的偵查運行在SSL之上的具體的應用類型。

  6. 如果探測到應用程序是SunRPC,那么調用brute-force RPC grinder進一步探測具體服務。

5.2    版本偵測的用法

版本偵測方面的命令行選項比較簡單

-sV: 指定讓Nmap進行版本偵測

--version-intensity <level>: 指定版本偵測強度(0-9),默認為7。數值越高,探測出的服務越準確,但是運行時間會比較長。

--version-light: 指定使用輕量偵測方式 (intensity 2)

--version-all: 嘗試使用所有的probes進行偵測 (intensity 9)

--version-trace: 顯示出詳細的版本偵測過程信息。

下面以掃描80端口的版本為例,顯示snmp的掃描結果和抓包結果

snmp -sV -p 80 113.11.*.*        #指定掃描80端口

從抓包可以看出,在未指定 -Pn 參數時,默認限制性的ip存活性檢測,只有當確認主機存活后才進行版本檢測。

nmap軟件常見用法有哪些

nmap軟件常見用法有哪些

使用snmp -sV 113.11.*.* 時,默認檢查存活狀態,根據存活狀態再掃描TCP常見的1000端口,根據端口狀態再掃描版本(在http版本確認中,首先建立了tcp連接,然后關閉tcp連接,再建立連接3次握手,并發出get請求后進行4次揮手)

6、OS偵測

命令nmap -O 113.11.*.*

nmap首先檢測主機存活狀態,然后掃描常見的1000端口,最后判斷OS系統,下圖是運行后的結果。根據結果,里面的端口都能夠掃描出是開啟或是關閉,說明未架設防火墻等安全防護設備。

nmap軟件常見用法有哪些

7、Nmap 高級用法

防火墻與IDS規避為用于繞開防火墻與IDS(***檢測系統)的檢測與屏蔽,以便能夠更加詳細地發現目標主機的狀況。

Nmap提供了多種規避技巧,通常可以從兩個方面考慮規避方式:數據包的變換(Packet Change)與時序變換(Timing Change)。

7.1 分片(Fragmentation)

將可疑的探測包進行分片處理(例如將TCP包拆分成多個IP包發送過去),某些簡單的防火墻為了加快處理速度可能不會進行重組檢查,以此避開其檢查。

-f; --mtu <val>: 指定使用分片、指定數據包的MTU.
nmap -sn -f --mtu 16 113.11.*.*          #注意 mtu后的數值必須是8的倍數,如下圖提示

nmap軟件常見用法有哪些

下圖中,首先是正常命令時的抓包,然后是采用分片后的抓包:

nmap -sn 113.11.*.*

nmap  -sn -f --mtu 16 113.11.*.*

nmap軟件常見用法有哪些從抓包中,可以看出data的數據包為16byte,與分片設定的字節是一致的,同時抓包中也有提示分片包"Reassembled in #878"

7.2 IP誘騙(IP decoys)

在進行掃描時,將真實IP地址和其他主機的IP地址(其他主機需要在線,否則目標主機將回復大量數據包到不存在的主機,從而實質構成了拒絕服務***)混合使用,以此讓目標主機的防火墻或IDS追蹤檢查大量的不同IP地址的數據包,降低其追查到自身的概率。注意,某些高級的IDS系統通過統計分析仍然可以追蹤出掃描者真實IP地址。

-D <decoy1,decoy2[,ME],...>: 用一組IP地址掩蓋真實地址,其中ME填入自己的IP地址。 

nmap -sn -D 1.1.1.1 113.11.*.*        #這里如果不添加[ME]自己的地址也會使用自己的地址,同時也會發送誘騙的地址,即2個地址都將作為源地址

nmap軟件常見用法有哪些

下圖是抓包截圖,可以看出源地址有兩個,一個是誘騙的地址,另一個是自己的真實地址,利用偽裝地址可以發動反射形dos***

nmap軟件常見用法有哪些這是源地址為內網地址,當源地址為公網地址時,不填寫源地址是否可行,需要驗證。

7.3 指定源端口

某些目標主機只允許來自特定端口的數據包通過防火墻。例如FTP服務器配置為:允許源端口為21號的TCP包通過防火墻與FTP服務端通信,但是源端口為其他端口的數據包被屏蔽。所以,在此類情況下,可以指定Nmap將發送的數據包的源端口都設置特定的端口。

-g/--source-port <portnum>: 使用指定源端口  

nmap -sn -g  11111 113.11.*.*        #指定源端口為11111,向外發送

nmap軟件常見用法有哪些

下圖是抓包,從中可以看出tcp的源端口都是51111,這個可以通過指定源端口來符合防火墻的ACL訪問列表,從而躲避防火墻的檢測。

nmap軟件常見用法有哪些

7.4 掃描延時

某些防火墻針對發送過于頻繁的數據包會進行嚴格的偵查,而且某些系統限制錯誤報文產生的頻率(例如,Solaris 系統通常會限制每秒鐘只能產生一個ICMP消息回復給UDP掃描),所以,定制該情況下發包的頻率和發包延時可以降低目標主機的審查強度、節省網絡帶寬。

<待補實例>

7.5 IP偽裝(IP Spoofing)

顧名思義,IP偽裝即將自己發送的數據包中的IP地址偽裝成其他主機的地址,從而目標機認為是其他主機在與之通信。需要注意,如果希望接收到目標主機的回復包,那么偽裝的IP需要位于統一局域網內。另外,如果既希望隱蔽自己的IP地址,又希望收到目標主機的回復包,那么可以嘗試使用idle scan或匿名代理(如TOR)等網絡技術。

-S <IP_Address>: 偽裝成其他IP地址 

nmap -sn -S 1.1.1.1 113.11.*.*        #當源地址偽裝成其他ip時,目標機認為是其他主機在與之通信。

<實例不成功>,下面是未成功的抓圖,如有知曉的同學,請指點nmap軟件常見用法有哪些

提示如果是偽裝的源ip地址,必須要使用-Pn 和 -e 選項

nmap軟件常見用法有哪些

當使用了-Pn 和 -e 選項后,依然提示報錯,不能夠分配地址。

nmap -sn -Pn -e wlan0 -S 1.1.1.1 113.11.*.*

nmap -sn -Pn -e eth0 -S 1.1.1.1 113.11.*.*

nmap軟件常見用法有哪些

7.6 其他技術

Nmap還提供多種規避技巧,比如指定使用某個網絡接口來發送數據包、指定發送包的最小長度、指定發包的MTU、指定TTL、指定偽裝的MAC地址、使用錯誤檢查和(badchecksum)。

更多信息http://nmap.org/book/man-bypass-firewalls-ids.html

-f; --mtu <val>: 指定使用分片、指定數據包的MTU.

-D <decoy1,decoy2[,ME],...>: 用一組IP地址掩蓋真實地址,其中ME填入自己的IP地址。

-S <IP_Address>: 偽裝成其他IP地址

-e <iface>: 使用特定的網絡接口

-g/--source-port <portnum>: 使用指定源端口

--data-length <num>: 填充隨機數據讓數據包長度達到Num。

--ip-options <options>: 使用指定的IP選項來發送數據包。

--ttl <val>: 設置time-to-live時間。

--spoof-mac <mac address/prefix/vendor name>: 偽裝MAC地址

--badsum: 使用錯誤的checksum來發送數據包(正常情況下,該類數據包被拋棄,如果收到回復,說明回復來自防火墻或IDS/IPS)。

8 NSE腳本引擎 

<待補充>

NSE腳本引擎(Nmap Scripting Engine)是Nmap最強大最靈活的功能之一,允許用戶自己編寫腳本來執行自動化的操作或者擴展Nmap的功能。

NSE使用Lua腳本語言,并且默認提供了豐富的腳本庫,目前已經包含14個類別的350多個腳本。

NSE的設計初衷主要考慮以下幾個方面:

  • 網絡發現(Network Discovery)

  • 更加復雜的版本偵測(例如skype軟件)

  • 漏洞偵測(Vulnerability Detection)

  • 后門偵測(Backdoor Detection)

  • 漏洞利用(Vulnerability Exploitation)

以上是“nmap軟件常見用法有哪些”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

琼海市| 玛沁县| 忻城县| 山阳县| 顺义区| 海口市| 蒲江县| 泰兴市| 麦盖提县| 凌云县| 吉林省| 金平| 高安市| 姜堰市| 邵阳县| 莎车县| 安庆市| 临澧县| 德钦县| 绥中县| 马鞍山市| 苍梧县| 靖边县| 长子县| 富裕县| 泉州市| 蕲春县| 长兴县| 丹阳市| 陈巴尔虎旗| 盘锦市| 乌海市| 汶川县| 胶州市| 乐亭县| 重庆市| 东源县| 南京市| 儋州市| 镇巴县| 闵行区|