【网络命令】Ping 详解

来源:互联网 发布:手机电缆报价软件 编辑:程序博客网 时间:2024/04/30 05:07
       ㈠ Ping 工作原理
          
          源主机(输ping命令的主机)向对方主机发送一个 ICMP 协议中的 echo 包
          而对方如果存活,就向源主机返回一个 ICMP 协议的 echo-reply 包
          
       ㈡ TTL 
          

          Ping 输出中的 TTL 是什么意思?

C:\Users\asus>ping www.csdn.net正在 Ping www.csdn.net [117.79.93.222] 具有 32 字节的数据:来自 117.79.93.222 的回复: 字节=32 时间=219ms TTL=54来自 117.79.93.222 的回复: 字节=32 时间=64ms TTL=54来自 117.79.93.222 的回复: 字节=32 时间=66ms TTL=54来自 117.79.93.222 的回复: 字节=32 时间=374ms TTL=54

          上述输出、我们知道 CSDN 服务器的地址是 117.79.93.222 
          那 TTL=54 是什么意思?
          
          首先、TTL 是 echo 包在网络上的生存时间
          当我们对网络上的主机进行ping操作的时候、我们本地机器会发出一个数据包
          数据包经过一定数量的路由器传送到目的主机,但是由于很多的原因,一些数据包不能正常传送到目的主机
          那如果不给这些数据包一个生存时间的话,这些数据包会一直在网络上传送,导致网络开销的增大
          当数据包传送到一个路由器之后,TTL就自动减1,如果减到0了还是没有传送到目的主机,那么就自动丢失
          
          其次、TTL 字段值可以帮助我们识别操作系统类型
          UNIX 及类 UNIX 操作系统 ICMP 回显应答的 TTL 字段值为 255 
          Compaq Tru64 5.0 ICMP 回显应答的 TTL 字段值为 64 
          WINXP-32bit 回显应答的 TTL 字段值为 64 
          微软 Windows NT/2K/2003操作系统 ICMP 回显应答的 TTL 字段值为 128 
          微软 Windows 95 操作系统 ICMP 回显应答的 TTL 字段值为 32 
          当然,返回的TTL值是相同的 
          但有些情况下有所特殊: 
          LINUX Kernel 2.2.x & 2.4.x ICMP 回显应答的 TTL 字段值为 64 
          FreeBSD 4.1, 4.0, 3.4; 
          Sun Solaris 2.5.1, 2.6, 2.7, 2.8; 
          OpenBSD 2.6, 2.7, 
          NetBSD 
          HP UX 10.20 
          ICMP 回显应答的 TTL 字段值为 255 
          Windows 95/98/98SE 
          Windows ME 
          ICMP 回显应答的 TTL 字段值为 32 
          Windows NT4 WRKS 
          Windows NT4 Server 
          Windows 2000 
          Windows XP 
          ICMP 回显应答的 TTL 字段值为 128 
          这样,我们就可以通过这种方法来辨别操作系统 
          TTL值的注册表位置HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
          其中有个DefaultTTL的DWORD值,其数据就是默认的TTL值了,我们可以修改,但不能大于十进制的255
          
       ㈢ Ping 工作过程
          
          ① 如果不知道对方的MAC地址,则要发送ARP的广播出去,解析对方的MAC地址
          ② 知道MAC地址后,再发送单播ICMP包(即上面说所的ICMP协议中echo包)
               
     
       ㈣ Ping 常见结果
     
          ① ping www.csdn.net



             来自 117.79.93.222 的回复: 字节=32 时间=66ms TTL=54
        
             返回语句表示与目的主机连接成功
        
          ② ping Rocky.csdn.net
     
             Ping 请求找不到主机 Rocky.csdn.net。请检查该名称,然后重试
             
             对方主机不存在,此次ping在工作过程中的第一步就结束了
             因为目的主机不存在;无法解析到目的主机的MAC地址
             
          ③ ping 192.168.2.78
     
             请求超时
             
             echo 包顺利达到目的主机,且目的主机也向源主机返回 echo-reply包
             但是 echo-reply包在半路上丢失,无法到达源主机
             
          ④ ping 192.168.1.10
     
             来自 192.168.1.113 的回复: 无法访问目标主机
             
             这是因为发送给目的主机的echo包在192.168.1.125上被迫终止,即echo包无法到达目的主机
             可能原因:某个路由器192.168.1.125的端口上,禁止来自源主机的数据包通过
             
       ㈤ Ping 常用命令
          
          ① -t:ping指定的计算机直到我们按Ctrl+C键来停止

C:\Users\asus>ping -t blog.csdn.net正在 Ping blog.csdn.net [117.79.93.222] 具有 32 字节的数据:来自 117.79.93.222 的回复: 字节=32 时间=184ms TTL=54来自 117.79.93.222 的回复: 字节=32 时间=222ms TTL=54来自 117.79.93.222 的回复: 字节=32 时间=154ms TTL=54请求超时。来自 117.79.93.222 的回复: 字节=32 时间=177ms TTL=54来自 117.79.93.222 的回复: 字节=32 时间=159ms TTL=54来自 117.79.93.222 的回复: 字节=32 时间=342ms TTL=54来自 117.79.93.222 的回复: 字节=32 时间=156ms TTL=54请求超时。来自 117.79.93.222 的回复: 字节=32 时间=163ms TTL=54来自 117.79.93.222 的回复: 字节=32 时间=293ms TTL=54来自 117.79.93.222 的回复: 字节=32 时间=69ms TTL=54来自 117.79.93.222 的回复: 字节=32 时间=227ms TTL=54来自 117.79.93.222 的回复: 字节=32 时间=64ms TTL=54来自 117.79.93.222 的回复: 字节=32 时间=98ms TTL=54来自 117.79.93.222 的回复: 字节=32 时间=65ms TTL=54来自 117.79.93.222 的回复: 字节=32 时间=261ms TTL=54来自 117.79.93.222 的回复: 字节=32 时间=161ms TTL=54来自 117.79.93.222 的回复: 字节=32 时间=66ms TTL=54117.79.93.222 的 Ping 统计信息:    数据包: 已发送 = 19,已接收 = 17,丢失 = 2 (10% 丢失),往返行程的估计时间(以毫秒为单位):    最短 = 64ms,最长 = 342ms,平均 = 168msControl-C^C

          ② -n count:发送指定次数的echo数据包、不加-n 参数的话,系统默认是 ping 4次

C:\Users\asus>ping -n 6 blog.csdn.net正在 Ping blog.csdn.net [117.79.93.222] 具有 32 字节的数据:来自 117.79.93.222 的回复: 字节=32 时间=96ms TTL=54来自 117.79.93.222 的回复: 字节=32 时间=275ms TTL=54来自 117.79.93.222 的回复: 字节=32 时间=368ms TTL=54来自 117.79.93.222 的回复: 字节=32 时间=98ms TTL=54来自 117.79.93.222 的回复: 字节=32 时间=67ms TTL=54来自 117.79.93.222 的回复: 字节=32 时间=208ms TTL=54117.79.93.222 的 Ping 统计信息:    数据包: 已发送 = 6,已接收 = 6,丢失 = 0 (0% 丢失),往返行程的估计时间(以毫秒为单位):    最短 = 67ms,最长 = 368ms,平均 = 185ms

          ③ -l length:指定echo数据包的大小、系统默认的数据包是32字节,最大的字节数是65527

C:\Users\asus>ping -l 100 blog.csdn.net正在 Ping blog.csdn.net [117.79.93.222] 具有 100 字节的数据:来自 117.79.93.222 的回复: 字节=100 时间=68ms TTL=54来自 117.79.93.222 的回复: 字节=100 时间=73ms TTL=54来自 117.79.93.222 的回复: 字节=100 时间=67ms TTL=54来自 117.79.93.222 的回复: 字节=100 时间=67ms TTL=54117.79.93.222 的 Ping 统计信息:    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),往返行程的估计时间(以毫秒为单位):

       ㈥ IP 寻址的 troubleshoting 步骤
          
          ① ping 127.0.0.1    检查本机IP栈是否初始化,失败则重装TCP/IP协议
          ② ping 本主机IP     检查网卡NIC功能是否正常
          ③ ping 网关            成功则NIC连接到网络,并且网络通信正常
          ④ ping 远端主机    成功则表示主机与远端主机可进行IP通信

原创粉丝点击