zoukankan      html  css  js  c++  java
  • PING详解

    1.Ping 工作原理

      源主机(输ping命令的主机)向对方主机发送一个ICMP协议中的echo包          而对方如果存活,就向源主机返回一个 ICMP 协议的 echo-reply 包

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

      C:Usersasus>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 

      上述输出、我们知道 CSDN 服务器的地址是 117.79.93.222

      那 TTL=54 是什么意思?

      1)首先、TTL 是 echo包在网络上的生存时间

      当我们对网络上的主机进行ping操作的时候、我们本地机器会发出一个数据包。数据包经过一定数量的路由器传送到目的主机,但是由于很多的原因,一些数据包不能正常传送到目的主机。那如果不给这些数据包一个生存时间的话,这些数据包会一直在网络

      上传送,导致网络开销的增大。当数据包传送到一个路由器之后,TTL就自动减1,如果减到0了还是没有传送到目的主机,那么就自动丢失。

      2)其次,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_MACHINESYSTEMCurrentControlSetServicesTcpipParameters

      其中有个DefaultTTL的DWORD值,其数据就是默认的TTL值了,我们可以修改,但不能大于十进制的255

    3.Ping 工作过程

      ① 如果不知道对方的MAC地址,则要发送ARP的广播出去,解析对方的MAC地址

      ② 知道MAC地址后,再发送单播ICMP包(即上面说所的ICMP协议中echo包)

    4.Ping 常见结果

      1)字节=32 时间=66ms TTL=54

      返回语句表示与目的主机连接成功

      2)Ping 请求找不到主机 Rocky.csdn.net。请检查该名称,然后重试

      对方主机不存在,此次ping在工作过程中的第一步就结束了;因为目的主机不存在;无法解析到目的主机的MAC地址

      3)请求超时

          1. 对方已关机,或者网络上根本没有这个地址

          2. 对方与自己不在同一网段内,通过路由也无法找到对方

       3. 对方确实存在,但设置了ICMP数据包过滤(比如防火墙设置)

         4.echo 包顺利达到目的主机,且目的主机也向源主机返回 echo-reply包但是 echo-reply包在半路上丢失,无法到达源主机

         5. 错误设置IP地址

      4)Destination host Unreachable或无法访问目标主机。

      可能原因:1. 对方与自己不在同一网段内,而自己又未设置默认的路由,路由表中连到达目标的路由都没有;2. 网线故障;3. 某个路由器192.168.1.125的端口上,禁止来自源主机的数据包通过。如,ACL。

      5)no route to host

      网卡工作不正常

      6)transmit failed,error code10043

      网卡驱动不正常

    5.Ping 常用命令

      ① -t:ping指定的计算机直到按Ctrl+C键来停止

      [plain] view plaincopyprint?

      C:Usersasus>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 时间=163ms TTL=54 

      来自 117.79.93.222 的回复: 字节=32 时间=293ms TTL=54 

      117.79.93.222 的 Ping 统计信息: 

          数据包: 已发送 = 19,已接收 = 17,丢失 = 2 (10% 丢失),

      往返行程的估计时间(以毫秒为单位): 

          最短 = 64ms,最长 = 342ms,平均 = 168ms 

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

      [plain] view plaincopyprint?

      C:Usersasus>ping -n 6 blog.csdn.net 

      正在 Ping blog.csdn.net [117.79.93.222] 具有 32 字节的数据: 

      来自 117.79.93.222 的回复: 字节=32 时间=67ms TTL=54 

      来自 117.79.93.222 的回复: 字节=32 时间=208ms TTL=54  。。。 。。。

      117.79.93.222 的 Ping 统计信息: 

          数据包: 已发送 = 6,已接收 = 6,丢失 = 0 (0% 丢失), 

      往返行程的估计时间(以毫秒为单位): 

      最短 = 67ms,最长 = 368ms,平均 = 185ms 

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

      [plain] view plaincopyprint?

      C:Usersasus>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=54 

      117.79.93.222 的 Ping 统计信息: 

          数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失), 

      往返行程的估计时间(以毫秒为单位): 

    6.IP 寻址的 trouble shoting 步骤

      ①  ping 127.0.0.1   检查本机IP栈是否初始化,失败则重装TCP/IP协议

      ② ping 本主机IP    检查网卡NIC功能是否正常

      ③ ping 网关        成功则NIC连接到网络,并且网络通信正常

      ④ ping 远端主机    成功则表示主机与远端主机可进行IP通信

  • 相关阅读:
    WC命令
    dcoker machine
    linux命令
    Valgrind 检测程序内存使用
    golang flag
    面试之---二叉树的遍历
    FFMpeg 版本错误
    C++中namespace的使用
    QT之QStatusBar
    建立ftp服务器和客户端
  • 原文地址:https://www.cnblogs.com/xinghen1216/p/11115985.html
Copyright © 2011-2022 走看看