现代网络广泛使用防火墙,导致传统路由跟踪工具发出的(ICMP应答(ICMP echo)或UDP)数据包都被过滤掉了,所以无法进行完整的路由跟踪。尽管如此,许多情况下,防火墙会准许反向(inbound)TCP数据包通过防火墙到达指定端口,这些端口是主机内防火墙背后的一些程序和外界连接用的。通过发送TCP SYN数据包来代替UDP或者ICMP应答数据包,tcptraceroute可以穿透大多数防火墙。

首先tcptraceroute 依赖另外一个包   libpcap    

[root@localhost ~]# yum install -y libpcap     //yum安装libpcap
安装完成后


路由跟踪之tcptraceroute IP延时之tcpping_第1张图片
    上传tcptraceroute 的rpm包,和tcpping 工具

[root@localhost ~]# rpm -ivh tcptraceroute-1.5-0.beta7.el6.rf.x86_64.rpm   //rpm安装tcptraceroute

不出意外的话应该不会报错
下面来说说 该命令的用法

路由跟踪之tcptraceroute IP延时之tcpping_第2张图片
-i   指定接口
-f   设置开始TTL值(第一条显示的路径)
-l   包长度
-q   每一跳延时查询的次数(default 3)
-t   设置TOS(服务类型)可用于传出数据包。默认 未设置
-m   设置最大TTL值
-p   指定使用本机的特定端口作为源端口(默认随机)
-s   如果本机有多个IP,可指定使用一个IP进行追踪
-w   等待超时时间
host   必跟参数,可以使用主机名或者IP地址
des port   可选选项,默认使用目的地址的80端口

example:   tcptraceroute www.google.com 443 -n -q 1



tcpping 使用tcp协议查网络延时
注意tcpping 的权限,推荐权限设置为655
路由跟踪之tcptraceroute IP延时之tcpping_第3张图片 -d   打印本机每发出一个tcp包的当前时间戳
-c   打印一版纯数字的信息,可以用它来粘贴到excel表格 并制成延时抖动表
-C 另一种格式的纯数字制表信息
-w   设置等待时间(秒)   默认为3秒
-r   设置不管有无tcp包回复,本机间隔多少时间重复发送tcp握手包
这个那啥,可以用作ddos哦?! 
-x 设置本机发送多少次tcp包,默认为空 即无限制重复发送

另外,还发现个比较有用的功能
路由跟踪之tcptraceroute IP延时之tcpping_第4张图片
      延时默认精确到毫秒小数点后三位,还不错
看出猫腻了吗?   如果host为主机名,那么会每次检查DNS,所以可以把一个主机名下的所有IPv4地址的延时都检查出来


工具下载地址:   tcptraceroute   http://pkgs.repoforge.org/tcptraceroute/   
  tcpping   http://www.vdberg.org/~richard/tcpping   
 


----------------------------------------------------------- --------------------------- ------------

欢迎关注我的微博 http://weibo.com/pco18   

                                                                       您的顶帖是我发帖的动力↘