ping 的功能、原理、使用示例、拦截方法

ping 的功能及其工作原理

ping 一般用来检测网络链路是否连通以及到达目的网络节点中间的延时。ping 程序会向服务器端发送 icmp 的 ECHO_REQUEST 包,服务器接收到此 icmp 包后会返回一个 ECHO_REPLY icmp 包,根据这些返回的信息就可以简单判断服务器的状态与网络延时的情况。

ping 的演示

longyu@longyu-pc:~$ ping www.baidu.com
PING www.a.shifen.com (61.135.169.125) 56(84) bytes of data.
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=1 ttl=128 time=36.9 ms
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=2 ttl=128 time=37.10 ms
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=3 ttl=128 time=37.4 ms
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=4 ttl=128 time=37.5 ms
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=5 ttl=128 time=37.6 ms
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=6 ttl=128 time=37.5 ms
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=7 ttl=128 time=36.7 ms
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=8 ttl=128 time=36.1 ms
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=9 ttl=128 time=36.0 ms
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=10 ttl=128 time=37.4 ms
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=11 ttl=128 time=39.3 ms
^C
--- www.a.shifen.com ping statistics ---
11 packets transmitted, 11 received, 0% packet loss, time 32ms
rtt min/avg/max/mdev = 36.031/37.312/39.347/0.870 ms

ping 被拦截的情况

在一些情况下,ping 不通服务器可能并不意味着服务器宕机。通过 ping 我们无法确定是中间链路的问题还是目标服务器的问题。我就遇见过 ping 不通,但是却可以 ssh 成功的情况。这种情况意味着 ping 程序发出的 icmp 包在发送给服务器端、服务器端返回数据给本地时出现了问题。可能是发不出去,也可能是接收不进来,这是两个大方向上的问题。

如何查看谁在 ping 我呢?

tcpdump、wireshark 监测网口收到的 icmp 包,解码 icmp 包便可以得到发送端的 ip 地址。使用 tcpdump 的方式可以参考如下命令:

sudo tcpdump 'icmp[icmptype] == icmp-echo'
sudo tcpdump 'icmp[icmptype] == icmp-echoreply'

如何忽略 icmp ECHO_REQUEST 请求呢?

主要有两种方式:

  1. 更改内核参数
  2. 添加防火墙配置

具体的配置请访问:Getting Linux to ignore pings

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值