二层发现
1.Netdiscover
工作场景更加丰富
- 专用于二层发现
- 可用于有线和无线的网络环境下
- 可以实现主动和被动的发现
主动发现
netdiscover -i eth0 -r 1.1.1.0/24
netdiscover -l iplist.txt
#这两个命令类似于nmap的二层发现命令
主动式的扫描总是会引起网络管理员的注意,netdiscover也支持被动发现。
被动发现
他不主动发arp包,只是在网络里默默侦听。原理就是把自己的网卡制成混杂模式,他就可以收取非本网卡ip地址、非本网卡MAC地址的数据包。而arp协议本身的通信机制是基于广播的,所以只要网络中某一台机器发了arp的广播包,那么你这台开着netdiscover做侦听的电脑就可以侦听到该数据包,因为做了混杂模式,所以会收取该数据包。
即默默侦听,等待别人发arp包,我听到后,就把他记录下来,基于该方式做被动式的二次发现。
响应速度会慢,因为需要等待别人发arp包。
netdiscover -p
2.scapy
- 作为python库进行调用
- 也可作为单独的工具使用
- 通过scapy,我们可以抓包、可以对每个数据包字段分析、同时可以单独创建一个数据包,把他插到网络中发出去、修改抓到的数据包然后重放、向网络里注入各种各样你想要的网络流量
scapy
#若是提示穿线python-gnulot相关报错,就执行以下命令
#apt-get install python-gnuplot
ARP().display() #查看arp的包结构中数据
sr1() #发包