当我们在用ping命令ping地址的时候会向target主机发送一个ICMP协议中的echo包,如果对方living(活动状态)。
则会返回一个echo包。
TTL的值:这个值对我们有什么用,它反映了什么?
首先TTL值代表的是,我们发给目的主机的数据包(echo),在主机与目的机之间会存在很多的的路由器,而通过路由器的时候,这个值会减小,并且还可能由于
其他原因,让数据包不能正常的发送到目的主机,那么如果不给这些数据包一个生存时间的话,这个数据包会一直存在于网络中,导致网络开销增大。如果在通过一个路由的时候TTL值减小1,那么如果经过了几次循环,或者经历很多次路由之后,TTL会减小到0.那么就在网络中自动消失掉,释放网络资源。所以我们在ping的时候看到的这个TTL值代表的是echo在网络存在的时间。
不同的操作系统,TTL值都不一样,所以可以根据TTL值来看操作系统是哪种版本类型。
一般来说XP返回的TTL是64.
TTL值的注册表位置HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
其中有个DefaultTTL的DWORD值,其数据就是默认的TTL值了,我们可以修改,但不能大于十进制的255
ping工作过程:
①不知道对方MAC地址,发送ARP广播出去,解析对方的MAC地址。
②知道MAC地址之后,在发送ICMP协议中的echo数据包。
ping的常见问题如下:
一 ping www.baidu.com
reply from 119.75.218.56:bytes=32 time =95ms TTL=56
目的主机与主句之间的连接是成功的。
二 ping request could not find host fdfd.pleses check the name and try angain.
不能找到目的主机fdfd 在ping过程中的第一个过程就已经结束了,无法找到目的主机的,不能解析MAC地址
三 请求超时
echo包已经发送到目的主机,并且目的主机已经返回了echo的返回包,但是在发挥的过程中丢失,无法到达源主机。
四 来自192.168.1.5 的回复:无法访问目标主机。
这是因为发送给目的主机的echo包在192.168.1.125上被迫终止,即echo包无法到达目的主机
可能原因:某个路由器192.168.1.125的端口上,禁止来自源主机的数据包通过。
解决IP寻址错误问题的步骤:
① ping 127.0.0.1 检查本机IP栈是否初始化,失败则重装TCP/IP协议
② ping 本主机IP 检查网卡NIC功能是否正常
③ ping 网关 成功则NIC连接到网络,并且网络通信正常
④ ping 远端主机 成功则表示主机与远端主机可进行IP通信
常用到的ping命令:
ping -n count:发送指定次数的echo数据包、不加-n 参数的话,系统默认是 ping 4次
比如:ping -n 6 www.baidu.com
ping -l length:指定echo数据包的大小、系统默认的数据包是32字节,最大的字节数是65527