arp-scan列出局域网内主机

刚接触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上的网卡:

root@kali:~# 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列出局域网内主机:

root@kali:~# 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列出局域网内主机_第1张图片

看输出,原来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与网络中其他主机并不冲突。

你可能感兴趣的:(抓包,协议分析)