主机发现
ISO分层介绍
OSI(Open System Interconnect),即开放式系统互联。
二层主机发现
二层主机发现指:利用ISO中链路层中的协议进行主机发现。一般使用ARP协议
优点:(局域网中通信使用ARP协议,利用MAC地址作为对应的识别地址) 1、速度快 2、可靠性高
缺点: 无法扫描经过路由的主机
二层发现-arping工具
Kali linux下自带工具arping可以进行对应的二层主机发现。缺点:无法多个主机同时扫描。
二层发现-netdiscover工具
Kali linux 自带工具netdiscover可以针对特定子网进行多主机扫描。
三层主机发现
三层主机发现指:利用ISO中网络中的协议进行主机发现。一般使用ICMP协议。
优点: 1、可以发现远程主机 经过路由的主机 2、速度相对比较快
缺点: 1、经常被防火墙过滤 2、速度相比二层发现慢
三层发现-ping工具
ping工具在Linux和windows都有自带,Linux下ping如果不指定-c参数,一直扫描。Windows下默认进行四次探测。
三层发现-fping工具
Kali linux下自带工具fping可以进行对应的三层主机发现。可以针对多个主机同时进行主机发现
三层发现-hping3工具
Kali linux 自带工具hping3对目标进行三层主机发现。特点:发送自定义ICMP数据包
主机发现 - 四层发现
四层发现的优缺点
四层发现指利用OSI中的传输层协议进行主机发现,一般使用TCP、UDP探测。
优点: 1、可以探测远程主机 2、比三层发现更为可靠
缺点: 花费时间更长
四层发现-nmap工具
Kali linux自带的Nmap可以进行二、三、四层的探测,我们接下来演示nmap探测。
nmap IP地址
四层发现-hping3工具
Kali linux下自带工具hping3可以进行对应的四层层主机发现。 hping3 --udp -c 3 IP地址
并没有受到数据包,全部loss掉了。所以要结合多层主机发现来进行探测
主机发现-Python脚本
使用Github上分享的主机发现脚本: https://github.com/s0cket7/nWatch(不存在,下载了一个版本只是python2才能执行)