NMAP 常用掃瞄簡介(二)

2021-09-23 16:23:25 字數 3115 閱讀 2950

下面列出了最常用的四種掃瞄型別:

ping 掃瞄(-sp

tcp syn 掃瞄(-ss

tcp connect() 掃瞄(-st

udp 掃瞄(-su

當我們利用 nmap 來執行掃瞄的時候,這四種掃瞄型別是我們需要熟練掌握的。更重要的是需要知道這些命令做了什麼,並且需要知道這些命令是怎麼做的。在這篇文章中將介紹兩種 tcp 掃瞄 — tcp syn 掃瞄和 tcp connect() 掃瞄。

tcp syn 掃瞄是預設的 nmap 掃瞄方式。為了執行 tcp syn 掃瞄,你需要有 root 許可權。

tcp syn 掃瞄的目的是找到被掃瞄系統上的已開啟埠。使用 nmap 掃瞄可以掃瞄在防火牆另一側的系統。當掃瞄通過防火牆時,掃瞄時間會延長,因為資料報會變慢。

tcp syn 掃瞄的工作方式是啟動乙個「三次握手」。正如在另一篇文章中所述,「三次握手」發生在兩個系統之間。首先,源系統傳送乙個包到目標系統,這是乙個同步(syn)請求。然後,目標系統將通過同步/應答(syn/ack)響應。接下來,源系統將通過應答(ack)來響應,從而建立起乙個通訊連線,然後,可以在兩個系統之間傳輸資料。

tcp syn 掃瞄通過執行下面的步驟來進行工作:

源系統向目標系統傳送乙個同步請求,該請求中包含乙個埠號。

如果新增在上一步中的所請求的埠號是開啟的,那麼目標系統將通過同步/應答(syn/ack)來響應源系統。

源系統通過重置(rst)來響應目標系統,從而斷開連線。

目標系統可以通過重置/應答(rst/ack)來響應源系統。

這種連線已經開始建立,所以這被認為是半開放連線。因為連線狀態是由 nmap 來管理的,所以你需要有 root 許可權。

如果被掃瞄的埠是關閉的,那麼將執行下面的步驟:

源系統傳送乙個同步(syn)請求到目標系統,該請求中包含乙個埠號。

目標系統通過重置(rst)響應源系統,因為該埠是關閉的。

如果目標系統處於防火牆之後,那麼 icmp 傳輸或響應會被防火牆禁止,此時,會執行下面的步驟:

源系統傳送乙個同步(syn)請求到目標系統,該請求中包含乙個埠號。

沒有任何響應,因為請求被防火牆過濾了。

在這種情況下,埠可能是被過濾、或者可能開啟、或者可能沒開啟。防火牆可以設定禁止指定埠所有包的傳出。防火牆可以禁止所有傳入某個指定埠的包,因此目標系統不會接收到請求。

注:無響應可能發生在乙個啟用了防火牆的系統上。即使在本地網路,你也可能會發現被過濾的埠。

我將向 1那樣執行對單一系統(10.0.0.2)的 tcp syn 掃瞄。使用命令sudo nmap -ss

你可以看到它表明 997 個被過濾埠沒有顯示在下面。nmap 找到兩個開啟的埠:139 和 445 。

注:請記住,nmap 只會掃瞄絕大多數熟知的 1000 多個埠。以後,我們會介紹可以掃瞄所有埠或者指定埠的其它掃瞄。

該掃瞄會被 wireshark 俘獲,正如2所展示的那樣。在這兒,你可以看到對目標系統的初始位址解析協議(arp)請求。在 arp 請求下面的是一長列到達目標系統埠的 tcp 請求。第 4 行是到達http-alt埠(8080)。源系統的埠號為 47128 。正如3 展示的,許多 syn 請求只有在做出響應以後才會傳送。

在3的第 50 行和第 51 行,你可以看到,重置(rst)包被傳送給了目標系統。第 53 行和第 55 行顯示目標系統的 rst/ack(重置/應答)。第 50 行是針對 『microsoft-ds』 埠(445),第 51 行是針對 『netbios-ssn』 埠(135),我們可以看到,這兩個埠都是開啟的。(lctt 譯註:在 50 行和 51 行之前,目標系統發回了 syn/ack 響應,表示埠開啟。)除了這些埠,沒有其他 ack(應答)是來自目標系統的。每乙個請求均可傳送超過 1000 次。

正如4所展示的,目標系統是 windows 系統,我關閉了系統防火牆,然後再次執行掃瞄。現在,我們看到了 997 個已關閉埠不是 997 個被過濾埠。目標系統上的 135 埠之前被防火牆禁止了,現在也是開啟的。

儘管 tcp syn 掃瞄需要 root 許可權,但 tcp connect() 掃瞄並不需要。在這種掃瞄中會執行乙個完整的「三次握手」。因為不需要 root 許可權,所以在無法獲取 root 許可權的網路上,這種掃瞄非常有用。

tcp connect() 掃瞄的工作方式也是執行「三次握手」。正如上面描述過的,「三次握手」發生在兩個系統之間。源系統傳送乙個同步(syn)請求到目標系統。然後,目標系統將通過同步/應答(syn/ack)來響應。最後,源系統通過應答(ack)來響應,從而建立起連線,然後便可在兩個系統之間傳輸資料。

tcp connect 掃瞄通過執行下面的步驟來工作:

源系統傳送乙個同步(syn)請求到目標系統,該請求中包含乙個埠號。

如果上一步所請求的埠是開啟的,那麼目標系統將通過同步/應答(syn/ack)來響應源系統。

源系統通過應答(ack)來響應目標系統從而完成會話建立。

然後,源系統向目標系統傳送乙個重置(rst)包來關閉會話。

目標系統可以通過同步/應答(syn/ack)來響應源系統。

若步驟 2 執行了,那麼源系統就知道在步驟 1 中的指定埠是開啟的。

如果埠是關閉的,那麼會發生和 tcp syn 掃瞄相同的事。在步驟 2 中,目標系統將會通過乙個重置(rst)包來響應源系統。

可以使用命令nmap -st tcp connect() 掃瞄的結果可以在5中看到。在這兒,你可以看到,有兩個已開啟埠:139 和 445,這和 tcp syn 掃瞄的發現一樣。埠 80 是關閉的。剩下沒有顯示的埠是被過濾了的。

讓我們關閉防火牆以後再重新掃瞄一次,掃瞄結果展示在6中。

關閉防火牆以後,我們可以看到,更多的埠被發現了。就和 tcp syn 掃瞄一樣,關閉防火牆以後,發現 139 埠和 445 埠是開啟的。我們還發現,埠 2869 也是開啟的。也發現有 996 個埠是關閉的。現在,埠 80 是 996 個已關閉埠的一部分 — 不再被防火牆過濾。

在一些情況下, tcp connect() 掃瞄可以在乙個更短的時間內完成。和 tcp syn 掃瞄相比,tcp connect() 掃瞄也可以找到更多的已開啟埠

原文發布時間為:2017-04-12

Nmap掃瞄埠常用指令

實驗所用nmap版本 7.80 這是預設的方法是,通過試圖與目標主機相應的tcp埠建立乙個完整的tcp連線,從而判斷目標主機埠的開放資訊。結果 列出開放的埠號 掃瞄截圖 可以一次掃瞄多台主機,只要將目標主機網域名稱或者ip位址隔開即可,比如 nmap 192.168.0.1,2 與上一條指令效果一樣...

埠掃瞄之Nmap(二)

open 開放的 意味著目標機器上的應用程式正在該埠監聽連線 報文 filtered 被過濾的 意味著防火牆,過濾器或者其他網路障礙阻止了該埠被訪問,nmap無法得知它的真實狀態。當nmap收到icmp報文主機不可達報文或者目標主機無應答,常常會將目標主機的狀態設定為filtered。closed ...

Nmap之基礎掃瞄

指定目標掃瞄 1.單個目標掃瞄 由上可知,目標主機172.16.204.208上開啟的埠有3580 8080及占用埠的服務 目標主機的mac位址為68 a3 c4 f5 b3 88 目標主機是活動的 up 掃瞄目標主機的時間為27.48秒。持 ipv6協議 2.多個目標掃瞄 第一台是膝上型電腦,其裝...