一.基础概念
三层协议有:IP以及ICMP协议(internet管理协议).
icmp的作用是用来实现intenet管理的,进行路径的发现,网路通信情况,或者目标主机的状态;在三层发现中主要使用icmp协议,arp协议属于二层协议,它是基于广播的,所以不可路由。而ICMP协议是可以路由的,理论上可以使用icmp协议发现全球的ip,如果没有边界防火墙(禁止icmp的探测包)进行过滤的话,对目标主机进行扫描,则会收到相应的响应,从而进行捕捉【有边界防火墙的现象比较普遍】,但是三层发现的扫描速度也较二层要慢些。
注:不要完全相信扫描结果,因为会存在漏报、误报,当有边界防火墙时,可能活的主机不响应,也可能宕机响应
二.工具使用
1.ping命令
ping <ip> #linux与windows的ping包,有很大区别:windows默认发四个,linux默认不停,可用-c指定包数量
ping -R <ip> #也可以做路由追踪
shell脚本批处理
#!/bin/bash
if [ "$#" -ne 1 ];then
echo "Usage - ./ping.sh [interface]"
echo "Excample - ./ping.sh 192.168.1.0"
echo "Example will perform an ARP scan of the local subnet to which eth0 is assigned"
exit
fi
prefix=$(echo $1 | cut -d '.' -f 1-3)
for addr in $(seq 1 254);do
ping -c 1 $prefix.$addr | grep "bytes from" | cut -d " " -f 4 | cut -d ":" -f 1
done
2.traceroute
可发现经过多少跳路由
traceroute www.sina.com
3.nmap
nmap -sn 211.144.145.1
4.Fping
Fping类似于ping,但比ping强大。Fping与ping不同的地方在于,fping可以在命令行中指定要ping的主机数量范围,也可以指定含有要ping的主机列表文件。
与ping要等待某一主机连接超时或发回反馈信息不同,fping给一个主机发送完数据包后,马上给下一个主机发送数据包,实现多主机同时ping。如果某一主机ping通,则此主机将被打上标记,并从等待列表中移除,如果没ping通,说明主机无法到达,主机仍然留在等待列表中,等待后续操作。
fping -g 192.168.1.100 192.168.1.200 -c 1 #-g指定范围,从100-200 -c只发一个包
5.Hping
能够发送几乎任意TCP/IP 包,Hping常被用于检测网络和主机,其功能非常强大,但每次只能发一个包,可以发大量定制ping包,可做一定程度拒绝服务攻击。
hping3 192.168.1.1 --icmp -c 2
for addr in $(seq 1 254); do hping3 1.1.1.$addr --icmp -c 1 >> handle.txt & done #结果输出到文本文件使结果清晰
cat handletxt | grep ^len #筛选活着的IP
网友评论