通常一说到主机发现,大家的第一印象就是“ping”命令,但是除此之外,主机发现还有很多内容,包括二层、三层、四层主机发现等,接下来就大体说下“主机发现”的一些小知识;
一、OSI模型
这个对于IT从业人员应该属于必知必会的内容了吧,主机发现就从OSI七层模型说起;
二、二层发现、优缺点及工具
是个啥?
显而易见,二层主机发现利用的是“数据链路层”,具体的说是使用利用工作在数据链路层上的ARP协议!
优缺点:
优点:在局域网中,利用Mac作为对应的识别地址,速度快,可靠性高!(快!)
缺点:无法扫描过路由的主机。(只能在局域网内)
利用工具:
arping:Kali Linux下自带的工具arping可以进行对应的二层主机发现。缺点是无法对多个主机同时扫描。
常用命令:
arping ip; 探测指定IP;
arping -c 1 IP 只进行一次探测。
netdiscover:可以针对特定子网对多个主机进行扫描哦~
netdiscover -r 192.168.0.0/24 对指定网段进行检测;
netdiscover -c 10 指定请求次数;
netdiscover -p 只进行嗅探。
三、三层主机发现、优缺点及工具
是个啥?
利用工作在网络层的ICMP协议进行主机发现,最常用的ping命令就是这么个东西。
优缺点:
优点:可以发现经过路由的远程主机,速度比较快。
缺点:容易被防火墙过滤,相对于二层主机发现较慢,毕竟可以跨路由嘛~
工具:
ping:ping IP 探测指定IP主机;
fping:fping -g IP 探测指定IP主机;
hping3:强大之处在于可自定义ICMP数据包,也就意味着可以伪造数据包绕过某些防护,嘻嘻嘻嘻~具体怎么用:hping3 工具说明_king的博客-CSDN博客_hping3
四、四层主机发现、优缺点及工具
是个啥?
利用工作在传输层的TCP、UDP协议进行主机发现;
优缺点:
可以探测跨路由远程主机,并且比三层发现可靠,就是准确一些,但是时间长。
工具:
nmap:namp IP 对指定IP进行探测,可探测到对方设备开放的端口;
hping3:hping3 --udp -c 3 IP -p 端口号 探测远程主机及其开放的端口。
python脚本:许多大神自写的主机发现脚本可以实现四层主机发现,网上自己找找,一大堆,一般都有配套的使用说明~