我正在嘗試使用nmap查找網絡中的實時主機。我正在使用命令 sudo nmap -sP 192.168.2.1/24
在Ubuntu中掃描網絡。但是,我找不到實時主機。我只是實時獲得自己PC的網絡地址。當我通過瀏覽器看到DHCP客戶端列表(可以使用網絡IP通過瀏覽器訪問路由器)時,網絡上大約有10個活動主機。誰能告訴我發生這種情況的原因,以及如何在網絡上找到實時主機?
我正在嘗試使用nmap查找網絡中的實時主機。我正在使用命令 sudo nmap -sP 192.168.2.1/24
在Ubuntu中掃描網絡。但是,我找不到實時主機。我只是實時獲得自己PC的網絡地址。當我通過瀏覽器看到DHCP客戶端列表(可以使用網絡IP通過瀏覽器訪問路由器)時,網絡上大約有10個活動主機。誰能告訴我發生這種情況的原因,以及如何在網絡上找到實時主機?
這是使用nmap執行主機發現的最簡單方法。
nmap -sP 192.168.2.1/24
為什麼它總是不能正常工作?
運行此命令時,nmap嘗試對給定的IP地址範圍執行ping操作,以檢查主機是否還活著。如果ping失敗,它將嘗試將syn數據包發送到端口80(SYN掃描)。這不是百分百可靠的,因為現代的基於主機的防火牆會阻止ping和端口80。Windows防火牆默認會阻止ping。您網絡上的主機正在阻止ping,端口80不接受連接。因此,nmap假定主機未啟動。
那麼是否有解決此問題的方法?
是。您擁有的選項之一是使用-P0標誌,該標誌跳過主機發現過程,並嘗試對所有IP地址執行端口掃描(在這種情況下,甚至將掃描空的IP地址)。顯然,即使您位於小型(20-50台主機)網絡中,這也將花費大量時間來完成掃描。
更好的選擇是指定要掃描的自定義端口。 Nmap允許您使用SYN / UDP數據包探測特定端口。通常建議探測常用端口,例如TCP-22(ssh)或TCP-3389(Windows遠程桌面)或UDP-161(SNMP)。
sudo nmap -sP -PS22,3389 192.168.2.1/24 #custom TCP SYN掃描sudo nmap -sP -PU161 192.168.2.1/24 #custom UDP掃描
NB即使指定了要掃描的自定義端口,您也可能無法獲得活動主機。在很大程度上取決於主機的配置方式以及所使用的服務。因此,您只需要不斷嘗試使用不同的組合即可。請記住,請勿在未經適當授權的情況下對網絡執行掃描。
更新:掃描網絡時,您永遠無法確定特定命令會為您提供所有想要的結果。該方法應該從基本的ping掃描開始,如果它不起作用,請嘗試猜測主機上可能正在運行的應用程序,並探查相應的端口。使用Wireshark的想法也很有趣。您可能要嘗試發送ACK數據包。
nmap -sP -PA21,22,25,3389 192.168.2.1/24#21由ftp使用
更新兩個:標誌-sP和-P0現在分別稱為-sn和-Pn。但是,仍然發現較舊的標誌在較新的版本中有效。
最簡單的檢查方法是使用nmap執行ping掃描後驗證ARP表:
arp -a -n
此列表列出了所有響應ARP查詢的主機,甚至包括過濾ICMP的主機。
您可能想看看 Wireshark。它記錄本地網絡上的所有流量。它將告訴您正在廣播的節點。您還可以查看正在傳輸的內容。它可以在Ubuntu軟件中心中獲得。
此外,這是有關通過命令行在Ubuntu上安裝Wireshark的鏈接。
您的DHCP路由表記住,許多虛擬機將在列表中顯示為單獨的計算機。通常在默認的24小時租賃時間內(對於大多數WiFi路由器)連接到網絡的所有內容仍會顯示在列表中。您可能要檢查路由器中租約的期限。它可能會告訴您是否有人隔夜在您的網絡上。在某些具有雙NIC或NIC和無線網卡的設備上,如果同時啟用了兩個接口,它們將顯示兩次。
許多人忘記了在網絡上的其他情況:
大約6年前,在辦公室中,由於所有多餘的流量,我在3mb的小連接中工作的時間減少到128k。業主想知道是否有可能看到正在發生的事情。這位兼職的IT老手聳了聳肩,因為並非所有流量都通過他們的Windows 2000 Server。他檢查了服務器中的路由表和流量日誌,卻一無所獲。他們沒有足夠奇怪地使用路由器,因此網絡上的任何東西都可以從調製解調器獲得地址。他在服務器中查看的路由表僅用於幾年前已存在的靜態映射。我注意到它們不在同一子網中。然後,我向他們顯示DHCP未在服務器中打開。我的一位同事在不知不覺中在他的機器上託管了一個日本色情網站。攻擊者在他安裝了後門以及高端視頻編輯軟件的破解版後,才將他的機器紮根。我們還發現它們在不同時間,不同部門的各種機器上運行 Tor
, demonoid
和 bitTorrent
。 Wireshark發現了一切。第二天,互聯網達到了全速。我們還安裝了路由器。
如果您不喜歡Wireshark,則可能還想嘗試 tcpdump
。
此bash腳本將輸出網絡上所有活動主機的IP地址。
#!/ bin / bashnmap $ 1 -n -sP | grep報告| awk'{print $ 5}'
rwilson @ rwilson-Aspire-E5-521:〜/ Scripts / Utils $ Mon Jul 27 06 :41 AM> ./livehosts.sh 192.168.1.1/24192.168.1.1192.168.1.11192.168.1.12192.168.1.13192.168.1.14192.168.1.15192.168.1.118192.168.1.122192.168.1.123192.168.1.126192.168.1.129192.168.1.133192.168。 1.134192.168.1.156192.168.1.159192.168.1.168192.168.1.170
一旦擁有管理員權限(即 root
),就可以將 netdiscover(8)
與 -r
標誌一起使用以指定不同的類和麵具。默認情況下,它使用網絡類C / 24。
例如:
$ sudo netdiscover -r 172.16.17.0/24
輸出將如下所示:
當前正在掃描:已完成! |屏幕視圖:唯一主機3個主機中的3個捕獲的ARP Req / Rep數據包。總大小:180 _____________________________________________________________________________ IP在MAC地址計數Len MAC供應商/主機名----------------------------------- ------------------------------------------ 172.16.17.1 00:50:56 :c0:00:08 1 60 VMware,Inc. 172.16.17.2 00:50:56:f9:b9:b6 1 60 VMware,Inc. 172.16.17.254 00:50:56:fc:e4:76 1 60 VMware,公司
有時 arp -a -n
不會獲取IP地址。執行 nmap -sP 192.168.1.1/24
將檢索活動主機,然後如果您嘗試 arp
,它將顯示實時主機。那就是它如何在Linux Mint中對我起作用。但是您可以隨時依靠 nmap
。
在網絡上查找主機的示例:
arp-scan 192.168.12.0/24#如果vlan標記的接口使用-Q vlanid
etherape (GUI)顯示了網絡活動的圖表。
這裡上面也提到了一些其他工具。