首页 > 其他 > 详细

利用TCP协议进行ping

时间:2014-01-20 23:20:45      阅读:533      评论:0      收藏:0      [点我收藏+]

ping是大家所熟悉的网络延迟监测工具。ping基于ICMP协议,这是一个基于IP的三层协议。在Windows Azure上,所有服务的对外接口都仅支持TCP和UDP协议,因此,我们无法使用ping从外部监测Azure上的虚拟机,也无法从Azure虚拟机监测外部延迟。为了能够实现对网络延迟的监测,我们可以使用TCP协议进行ping,其原理是,先在客户端和服务端建立一个tcp连接,然后发出一个检测包,测量响应时间。它和ping的普通区别,是在测量前要建立一个tcp连接。因此,测试的对象必须开放一个tcp端口。另外,tcp ping工具没有在os里面提供,必须自己开发或者下载工具。


在windows 上,微软提供了一个工具叫psping。可以从这里下载:http://technet.microsoft.com/en-us/sysinternals/jj729731

下载后,进行安装。然后在命令行就可以执行ping命令,比如 psping www.sina.com:80. 。它与ping的区别,是需要在测试目标后面增加一个端口号,否则,psping会使用ping进行检测


下面是一个进行psping和普通ping的对比。我们发现二者的输出基本一致,psping并没有因为tcp协议增加网络延迟。同时,我们发现psping的精度更高一些,支持0.01毫秒精度

bubuko.com,布布扣


在Linux上,也有类似工具。下面,我们看下CentOS/Redhat上如何进行Tcp ping

1.      首先下载tcptraceroute http://pkgs.repoforge.org/tcptraceroute/tcptraceroute-1.5-0.beta7.el6.rf.x86_64.rpm 其他版本的rpm可以在http://pkgs.repoforge.org/tcptraceroute/下载

2.      安装下载的rpm包

3.      下载tcpping工具 http://www.vdberg.org/~richard/tcpping

4.      修改该文件权限:chmod 755 tcpping

5.      执行tcpping命令:tcpping news.sina.com

bubuko.com,布布扣

这里,我们会发现一个有趣的现象。那就是结果中tcpping的目标地址在变化。其原因是目标域名对应多个IP地址,此时tcpping会依次ping每个地址,而不是像ping那样只探测第一个地址

利用TCP协议进行ping

原文:http://blog.csdn.net/shaunfang/article/details/18412521

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!