PCEVA,PC绝对领域,探寻真正的电脑知识
打印 上一主题 下一主题
开启左侧

各种大牛请进,这种问题只能在水区问才有答案

  [复制链接]
1#
gmx168 发表于 2012-9-9 21:40 | 显示全部楼层
从没用过ping -r 9,刚才试了一下,也没有结果,见如下:

ping -r 9 bbs.pceva.com.cn

Pinging dhost.pceva.net [180.166.1.70] with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.

Ping statistics for 180.166.1.70:
    Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),


你是什么个情况,贴上来看看啊~~~
2#
gmx168 发表于 2012-9-9 21:52 | 显示全部楼层
试baidu也无果:
ping -r 9 baidu.com

Pinging baidu.com [123.125.114.144] with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.

Ping statistics for 123.125.114.144:
    Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
3#
gmx168 发表于 2012-9-9 21:56 | 显示全部楼层
P0wer 发表于 2012-9-9 21:55
我这里有啊,前面开着电脑试的。你试试www.baidu.com

也没有结果哦

又换了一台有公网IP的电脑测试,也没有结果。
4#
gmx168 发表于 2012-9-9 22:05 | 显示全部楼层
这个还真有结果,好长哦~~~

ping -r 9 202.120.2.101

Pinging 202.120.2.101 with 32 bytes of data:
Reply from 202.120.2.101: bytes=32 time=555ms TTL=51
    Route: 101.228.149.158 ->
           124.74.59.26 ->
           124.74.59.25 ->
           202.96.196.18 ->
           61.152.86.82 ->
           202.97.50.158 ->
           202.127.216.202 ->
           202.112.53.137 ->
           202.112.6.69
Reply from 202.120.2.101: bytes=32 time=30ms TTL=51
    Route: 101.228.149.158 ->
           124.74.59.26 ->
           124.74.59.25 ->
           202.96.196.18 ->
           61.152.86.142 ->
           202.97.44.58 ->
           202.127.216.202 ->
           202.112.53.137 ->
           202.112.6.89
Reply from 202.120.2.101: bytes=32 time=54ms TTL=51
    Route: 101.228.149.158 ->
           124.74.59.26 ->
           124.74.59.25 ->
           202.96.196.18 ->
           61.152.86.82 ->
           202.97.50.158 ->
           202.127.216.202 ->
           202.112.53.137 ->
           202.112.6.69
Reply from 202.120.2.101: bytes=32 time=55ms TTL=51
    Route: 101.228.149.158 ->
           124.74.59.26 ->
           124.74.59.25 ->
           202.96.196.18 ->
           61.152.86.142 ->
           202.97.44.58 ->
           202.127.216.202 ->
           202.112.53.137 ->
           202.112.6.89

Ping statistics for 202.120.2.101:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 30ms, Maximum = 555ms, Average = 173ms


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

tracert 202.120.2.101

Tracing route to dns.sjtu.edu.cn [202.120.2.101]
over a maximum of 30 hops:

  1    <1 ms    <1 ms    <1 ms  192.168.1.1
  2     3 ms     2 ms     2 ms  101.228.148.1
  3     2 ms     2 ms     2 ms  124.74.59.33
  4     2 ms     4 ms     3 ms  124.74.209.173
  5     3 ms     3 ms     3 ms  202.101.63.166
  6    90 ms    83 ms    84 ms  202.97.44.58
  7     *        *        *     Request timed out.
  8     4 ms     4 ms     3 ms  202.127.216.201
  9    78 ms    78 ms    78 ms  202.112.53.138
10     8 ms     7 ms     7 ms  202.112.6.70
11     9 ms     7 ms     7 ms  202.120.201.197
12     *        *        *     Request timed out.
13     *        *        *     Request timed out.
14     *        *        *     Request timed out.
15     *        *        *     Request timed out.
16     9 ms     8 ms     8 ms  202.120.2.99
17     8 ms     8 ms     8 ms  dns.sjtu.edu.cn [202.120.2.101]

Trace complete.
5#
gmx168 发表于 2012-9-9 22:14 | 显示全部楼层
rekashin 发表于 2012-9-9 22:10
ping -r 9是统计总的反应时间,一共测4回

tracert则是测分的反应时间,一个测3次


理解完全错误~~


~~~~

不好意思,我没仔细看你的帖,你没有理解错,是我看错了。呵呵。
6#
gmx168 发表于 2012-9-9 22:53 | 显示全部楼层
P0wer 发表于 2012-9-9 22:48
老黄,你也看到返回的路由不一样,求原因


我在分析,基本上的结论是,地址虽然不同,但一般都在同一网段里。tracert返回的结果是路由器靠近我们测试者这端借口的IP地址,而Ping -r的结果是路由器远离我们测试者的那个端口的IP地址。
7#
gmx168 发表于 2012-9-9 23:47 | 显示全部楼层
P0wer 发表于 2012-9-9 22:58
我一开始也是这么认为的,但是仅仅是从自己的路由器上Wan的IP和Lan的IP得出的结论,网上搜索查了不少,都 ...

我们用的ping和tracert都是微软提供的客户端,所以我专门去微软站点查了,也没有查到什么清楚地解释。我明天再找找看。

要验证倒也简单,搭个简单的环境就可以测试出来了。
8#
gmx168 发表于 2012-9-10 09:19 | 显示全部楼层
P0wer 发表于 2012-9-10 03:13
这个和OS有关系?老黄可以试试TraceRoute,这些应该在网络层上定义的吧。就像ping用ICMP,不会有啥OS让pi ...


我是试图从工具开发者那里找找解释,但未果,看来得查标准化文档了。
9#
gmx168 发表于 2012-9-10 13:29 | 显示全部楼层
P0wer 发表于 2012-9-10 13:29
老黄,这个帖子讨论出结果后移到网络版区吧

那是~~~
10#
gmx168 发表于 2012-9-10 13:35 | 显示全部楼层
P0wer 发表于 2012-9-10 13:33
?啥意思啊,老黄。 还有,你找到科普资料了没啊,我现在就是想知道为啥一些ip用ping -r没有回 ...

别着急啊,我还在找呢,已经在查RFC资料了,不过还没有找到Ping -r的详细说明。

再说了,咱还有工作呢,呵呵~~
11#
gmx168 发表于 2012-9-10 13:40 | 显示全部楼层
XXHJACK 发表于 2012-9-10 13:37
嗯!我们公司的防火墙就是有这个bug,没打开这玩意的功能。ping应该也是走的icmp! ...

我这里用Cisco的ASA防火墙,有专门针对ICMP协议的配置,我已经打开的ICMP的监控,PING -r一样无结果返回。
12#
gmx168 发表于 2012-9-10 13:49 | 显示全部楼层
XXHJACK 发表于 2012-9-10 13:47
我们公司用的是天融信的设备。是查路由表的时候出现这个问题我专门打电话去问过售后支持,说的是首先要打 ...

我觉着和防火墙关系不大,我这台电脑直接绑定公网IP,没有硬件防火墙的防护,一样没有结果。
13#
gmx168 发表于 2012-9-10 15:56 | 显示全部楼层
讨论的很热烈啊,我也没闲着呢,确实和防火墙配置有关。

我在一台笔记本上测试Ping -r时监控了防火墙日志,得到如下安全警告:
Deny IP from 172.20.9.56 to 180.166.1.65, IP options: “Record Route”

对于这个警告信息,Cisco的解释如下:
106012
Error Message    %ASA-6-106012: Deny IP from IP_address to IP_address, IP options hex.
Explanation    An IP packet was seen with IP options. Because IP options are considered a security risk, the packet was discarded.

Recommended Action    Contact the remote host system administrator to determine the problem. Check the local site for loose source routing or strict source routing.

一个IP数据包被发现还有IP options(IP选项)。因为IP options被认为是一种安全风险,所以这个数据包被丢弃。

实际的意思就是Ping -r产生的数据包因为安全风险被防火墙阻断了,所以无法返回希望的结果。


另外,根据http://linux.die.net/man/8/ping中对PING参数的描述,见下文,大多数主机无视或丢弃这个选项(IP options)。这就是为什么PING -r到很多地址无结果返回的原因。
-R
Record route. Includes the RECORD_ROUTE option in the ECHO_REQUEST packet and displays the route buffer on returned packets. Note that the IP header is only large enough for nine such routes. Many hosts ignore or discard this option.

再看看微软对PING的参数-r定义:
-r Count : Specifies that the Record Route option in the IP header is used to record the path taken by the Echo Request message and corresponding Echo Reply message. Each hop in the path uses an entry in the Record Route option. If possible, specify a Count that is equal to or greater than the number of hops between the source and destination. The Count must be a minimum of 1 and a maximum of 9.
翻译:数据包包头(IP header)中的记录路由选项(Record Route option)被用来记录回应请求(Echo Request)消息和相关回应应答(Echo Replay)消息所经过的路径。

那么,这个过程用比较白话的解释应该是这样的:

我们在做PING -r测试时,这个PING测试产生的测试数据包会在包头里加入了一些额外的信息-路由记录选项(Record Route option),然而这个信息会被大多数这个数据包经过的路由器或防火墙因为安全的原因所丢弃或者无视,那么返回的测试结果中就不会包含我们需要知道的路由信息,更有甚者,因为测试数据包被丢弃而直接返回了相关的错误信息:请求超时(Request timed out.)

评分

参与人数 1活跃度 +5 收起 理由
Epic + 5 哈哈,一切猜测都确定了

查看全部评分

14#
gmx168 发表于 2012-9-10 16:06 | 显示全部楼层
xxy 发表于 2012-9-10 16:03
用抓包软件好点儿吧?

会抓包了不起啊?就知道抓抓抓
15#
gmx168 发表于 2012-9-10 16:54 | 显示全部楼层
在2、3个路由的情况下,PING -r和Tracert结果的区别已经比较清楚了,我在看是否能配置防火墙使之可以允许带Record-Route选项的数据包可以通过,如果可以,我就能得到更多路由器下的结果反馈。

当然,还有个办法,就是搭一些路由器的模拟器来测试~~问题是,好久没玩了,也没有在Win7 64位环境下的模拟器。
16#
gmx168 发表于 2012-9-10 23:47 | 显示全部楼层
P0wer 发表于 2012-9-10 15:42
顺便问一下,tracert有没有被欺骗的可能,比如中间的某个路由不理睬TTL,直接数据报转发? ...

是有这个可能的,因为给TTL减1这个动作是路由器做的,一些人为故意或者特定的情况下,可以对TTL做修改。

举个真实的例子:透明防火墙,其实就是一个路由器,但是它只监视数据包而不对数据包做修改,左手进来右手出去,自然也不会做TTL-1的动作。
17#
gmx168 发表于 2012-9-10 23:52 | 显示全部楼层
xxy 发表于 2012-9-10 17:10
过时的东西,别讨论了

虽然话说得不太好听,但是贴图不错,有道理。

从前面的分析来看,Ping -r已经没有存在的必要了,因为大多数设备默认都不允许带有IP选项的数据包通过。
18#
gmx168 发表于 2012-9-11 10:50 | 显示全部楼层
P0wer 发表于 2012-9-11 10:36
多谢老黄。我想起来了,一些地方为了对付网络煎饼就用iptables修改TTL欺骗ISP。再问一句,现在透明模式的 ...

这个要看厂家是否支持了,理论上编程都可以实现的。
Cisco的好像是不支持,没用过透明模式,确实不清楚。
19#
gmx168 发表于 2012-9-20 19:51 | 显示全部楼层
tracert和ping -r 9测试结果分析
http://bbs.pceva.com.cn/thread-67141-1-1.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部