Nmap

nmap -sn 列出我網路上的所有活動主機,但 nmap -sL 沒有

  • January 10, 2015

當我執行nmap -sn 192.168.1.1-255時,我得到:

Nmap scan report for router (192.168.1.1)
Host is up (0.037s latency).
Nmap scan report for 192.168.1.17   # This is my smart TV
Host is up (0.054s latency).
Nmap scan report for prometheus (192.168.1.164)
Host is up (0.0020s latency).
Nmap done: 255 IP addresses (3 hosts up) scanned in 9.71 seconds

此輸出是當時我家庭網路上所有線上主機的準確說明。但是,當我nmap -sL 192.168.1.1-255立即執行時,我得到:

Nmap scan report for router (192.168.1.1)
…
Nmap scan report for android-cae4e91f5179dac4 (192.168.1.81)
…
Nmap scan report for Owner-PC (192.168.1.118)
Nmap scan report for prometheus (192.168.1.164)
…
Nmap scan report for kindle-707ed367c (192.168.1.187)
…
Nmap done: 255 IP addresses (0 hosts up) scanned in 8.33 seconds

androidOwner-PC之前Kindle都已連接到我的網路(儘管在我執行nmap -sL時,它們還沒有啟動)。同時,智能電視(192.168.1.17列出。閱讀這些選項的手冊頁並沒有讓我明白為什麼會這樣。誰能給我一個更直覺的解釋這兩個選項之間的區別?

當我閱讀 的“幫助”輸出時nmap,“-sL”列出了可能的掃描目標。在我的小 Intranet 上,nmap顯然會進行 DNS 查找:除了 IP 地址之外,它還提供了我分配的 DNS 名稱,即使這些主機甚至沒有插入。但無論如何,nmap -sL只列出 IP 地址和主機名,它實際上並沒有發送數據包來查看會發生什麼。nmap -sn對指定的子網進行 ping 掃描。 nmap將 ICMP ECHO_REQUEST 數據包發送到 IP 地址,並向您顯示回答的內容。

在上面的列表中,您已經省略了所有普通 IP 地址,那些沒有 DNS 名稱的地址。我的猜測是 IP 地址 192.168.1.117 是普通 IP 地址之一——您的“智能電視”沒有使用進入 DNS/DHCP 伺服器表的暱稱進行 DHCP。由於nmap -sL所做的只是列出 IP 地址,以及它可能從 DNS 獲取的主機名,因此“智能電視”“不會出現”,而不是 IP 地址。

這就是人們想要的行為nmap。使用“-sn”執行它會顯示哪些 IP 地址回答 ICMP ECHO_REQUEST 數據包。使用“-sL”執行它只列出 IP 地址。嘗試使用不同子網的“-sL”,例如“192.168.1.0/24”和“192.168.1.0/28”以查看差異。發瘋,nmap -sL 10.0.0.0/24看看它說了什麼。由於您的 DHCP 提供 192.168.1.x 地址,而 10.xyz 地址不可路由,您應該確信您只是看到一個列表。

引用自:https://unix.stackexchange.com/questions/178424