精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
锐英源精品开源心得,禁止全文或局部转载,禁止任何形式的非法使用,侵权必究
Ping是Windows、Linux和Unix下的通用网络工具,通过ICMP协议测试服务器工作是否正常,如果掌握TTL时间点(跳跃点)概念,也会掌握一些特殊用法,TTL是通过通信枢纽的次数,相当于坐铁路需要转车转了几次车的概念,比如下图:
www.baidu.com肯定工作正常,但是为什么过期呢?就是因为-i 3的限制,从你机器到家用路由器,再到本地电信运营商的服务器和通信设备,再到目标城市的服务器和通信设备,中间要倒好几次手,3次不够用,所以就ping百度TTL 传输中过期。
这个-i的技巧就是比较服务器部署位置,比如A的地方-i值小就能ping通服务器,一般选择A地方部署业务服务器,因为通过的路径越小,就通信越快越安全,不过这只是一个方面,还要看回复时间,路径小时间短才是最好的选择。
Ping可以测试网线,有的网线水晶头看着正常,也用工具测试信号了,但是到现场未必可以用,用Ping测试过有回复包,才放心。有时候,现场很远,不把问题带到现场才是好办法。
Ping可以测试防火墙,防火墙可以指定通过规则和不通过规则,保证机器的安全性,但是防火墙部署上以后,用基本的功能试下才放心,把ICMP的端口禁止不让通过,ping测试不通过,就是防火墙正常。
Ping可以测试本机或服务器的通信工作稳定性,这个稳定性涉及到机器本身和通信路径上的设备,机器本身在有木马比如挖矿木马占用了大量通信带宽,机器本身比如受到了大量的DDOS攻击,服务器的通信压力大,就容易丢包;通信路径上的设备,比如你家里的路由器温度高或长时间老化了,工作不正常,ping也有可能丢包。
Ping用-r选项可以看到路由信息。
在本机有多网卡多IP状态下,可以用-S指定用哪个网卡IP发出ICMP包,指定哪个,测试哪个。
Ping的代码也学通信开发程序员经常使用的代码,建议大家到www.codeproject.com上下载,里面都是封装好项目文件的,github上也有,就是项目文件不能直接用,有点麻烦。