ping和tracert(traceroute)
ping命令,
使用ICMP协议
属于网络层的命令
TTL用于防止数据包循环传输。
TTL接近64,默认情况下为Linux
TTL接近128,默认情况下为windows
TTL接近255,默认情况下为Unix
ping的参数:
1、不间断ping包
ping ip -t
2、发送200字节的数据包
ping -l 200 ip
除了ping命令是基于ICMP协议的,还有其他命令也是基于ICMP协议的,均用于排除网络故障
1、windows上
ping ip 估算网络是否畅通
pathping ip 跟踪数据包路径,计算丢包情况
tracert ip 跟踪数据包路径
延伸:
ping ip -t 18 不断尝试改变数字,可以推断出ping包跳跃了多少次。跳跃次数和tracert一致。参考
2、Linux上
ping ip
traceroute ip
3、路由器上:
traceroute ip 跟踪数据包路径
延伸:IGMP协议
IGMP,用于组播。实际应用场景,如:电视频道,无法控制暂停的。可以节省带宽。
延伸:RIP协议
RIP,用于路由器的协议,路由器30s周期性告诉相连接的设备,本路由器连接可以连接什么网段,需要多少跳数才能到达该网段。
问题1:如何知道服务器是禁ping的?
回答1:tracert ip 的清单中的最后一个ip请求显示超时,说明是禁ping的。每条记录中的请求超时都说明了,此处的路由设备是禁ping的。
问题2:如何知道数据包在抵达目标前,跳跃了多少次?
回答2:tracert ip 的清单中有多少条记录,就发生了多少跳。在win7中,还可以用ping ip -i 20 验证跳数。