arp-scan列出區域網內主機
阿新 • • 發佈:2019-01-13
剛接觸kali,對kali上的工具很好奇。比如,ettercap有個列出區域網所有主機的功能,原以為該功能由ettercap實現,後來才知道是ettercap藉助arp-scan的輸出,如我的kali主機通過wifi連線到區域網,IP地址:10.0.0.3;路由器IP10.0.0.1;區域網中另一臺主機IP:10.0.0.2
1.列出kali上的網絡卡:
[email protected]:~# ettercap -I #其實可以用ifconfig代替ettercap -I命令 ettercap 0.8.2 copyright 2001-2015 Ettercap Development Team List of available Network Interfaces: wlan0 wlan0 lo Local Loopback eth0 eth0 bluetooth0 Bluetooth adapter number 0 usbmon1 USB bus number 1 usbmon2 USB bus number 2
2.arp-scan列出區域網內主機:
[email protected]:~# arp-scan --interface=wlan0 --localnet Interface: wlan0, datalink type: EN10MB (Ethernet) Starting arp-scan 1.9 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/) 10.0.0.1 a0:40:a0:83:44:2f (Unknown) 10.0.0.2 e4:70:b8:c1:8a:63 (Unknown) 2 packets received by filter, 0 packets dropped by kernel Ending arp-scan 1.9: 256 hosts scanned in 2.179 seconds (117.49 hosts/sec). 2 responded
我好奇的是arp-scan是如何搜尋主機的?感覺可以通過抓包瞭解它實現機制,於是我架起了wireshark,並得到了如下結果:
看輸出,原來arp-scan向區域網中所有可能的ip地址發出arp請求包,如果得到arp迴應,就證明區域網中某臺主機使用了該ip。比如,我收到了來自10.0.0.1和10.0.0.2的迴應。
等等,還沒結束,輸出中的89#楨是什麼情況?
Gratuitous ARP可以翻譯為免費ARP,主機發送一個Gratuitous arp請求,請求自己的IP地址的MAC地址,是不是覺得這有點明知故問?發出這麼蠢的包的作用之一是:驗證IP是否衝突。一個主機能夠通過它來確定區域網中是否還有另一個主機設定了同樣的IP地址。傳送主機並不須要一定收到此請求的回答。
a.假設收到一個回答,表示網路中存在與自身IP同樣的主機,如果你的主機是windows,你可能會見到如下熟悉的提示:
b.假設沒有收到應答,則表示本機所使用的IP與網路中其他主機並不衝突。