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

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

  [复制链接]
41#
Epic  楼主| 发表于 2012-9-10 15:03 | 只看该作者
本帖最后由 P0wer 于 2012-9-10 15:13 编辑
XXHJACK 发表于 2012-9-10 14:13
我们这一样只是多了这个防火墙!

gmx168 发表于 2012-9-10 13:29
那是~~~


老黄说的是ping -r

(这本书我没有,是网上摘抄):
  大多数不同版本的ping程序都提供-R选项,以提供记录路由的功能。它使得ping程序在发送出去的IP数据报中设置IPRR选项(该IP数据报包含ICMP回显请求报文)。这样,每个处理该数据报的路由器都把它的IP地址放入选项字段中。当数据报到达目的端时,IP地址清单应该复制到ICMP回显应答中,这样返回途中所经过的路由器地址也被加入清单中。当ping程序收到回显应答时,它就打印出这份I P地址清单。
  
   这个过程听起来简单,但存在一些缺陷。源端主机生成RR选项,中间路由器对RR选项的处理以及把ICMP回显请求中的RR清单复制到ICMP回显应答中,所有这些都是选项功能。幸运的是,现在的大多数系统都支持这些选项功能,只是有一些系统不把ICMP请求中的IP清单复制到ICMP应答中。
42#
XXHJACK 发表于 2012-9-10 15:09 | 只看该作者
P0wer 发表于 2012-9-10 15:03
老黄说的是ping -r

《TCP-IP详解卷1》(这本书我没有,是网上摘抄):

如果确定是这样的话那个意思不就是说tracert是显示的你经过的路由,ping -r是返回经过的路由。如果属实ping -r的话会出现假ip 的情况,或者对方服务器某个位置不允许这种返回。
43#
Epic  楼主| 发表于 2012-9-10 15:25 | 只看该作者
XXHJACK 发表于 2012-9-10 15:09
如果确定是这样的话那个意思不就是说tracert是显示的你经过的路由,ping -r是返回经过的路由。如果属实pi ...

我觉得是中间路由的问题
44#
XXHJACK 发表于 2012-9-10 15:28 | 只看该作者
P0wer 发表于 2012-9-10 15:25
我觉得是中间路由的问题

不一定,本身路由器禁止了icmp进入也可能有这问题。晚上回去一试便知。
45#
Epic  楼主| 发表于 2012-9-10 15:30 | 只看该作者
XXHJACK 发表于 2012-9-10 15:28
不一定,本身路由器禁止了icmp进入也可能有这问题。晚上回去一试便知。

那倒是,但是黄大湿ping pceva服务器没问题,ping -r就不行,这个说明应该不像是IDS对ICMP处理的问题。
46#
XXHJACK 发表于 2012-9-10 15:36 | 只看该作者
P0wer 发表于 2012-9-10 15:30
那倒是,但是黄大湿ping pceva服务器没问题,ping -r就不行,这个说明应该不像是IDS对ICMP处理的问题。 ...

我也这样!所以正好说明防火墙的问题存在。估计是设计者认为基本不需要这功能吧!得到的可能有伪ip!
47#
Epic  楼主| 发表于 2012-9-10 15:39 | 只看该作者
XXHJACK 发表于 2012-9-10 15:36
我也这样!所以正好说明防火墙的问题存在。估计是设计者认为基本不需要这功能吧!得到的可能有伪ip! ...

我的就是正常,你们都是公司网络测试的?有硬防火墙?
48#
XXHJACK 发表于 2012-9-10 15:39 | 只看该作者
P0wer 发表于 2012-9-10 15:39
我的就是正常,你们都是公司网络测试的?有硬防火墙?


嗯!我网管,所以防火墙上可以随便改!你说的问题可以马上测试,不过这破防火墙不争气
49#
Epic  楼主| 发表于 2012-9-10 15:40 | 只看该作者
XXHJACK 发表于 2012-9-10 15:39
嗯!

可能是硬防火墙的原因
50#
Epic  楼主| 发表于 2012-9-10 15:42 | 只看该作者
XXHJACK 发表于 2012-9-10 15:39
嗯!我网管,所以防火墙上可以随便改!你说的问题可以马上测试,不过这破防火墙不争气  ...

顺便问一下,tracert有没有被欺骗的可能,比如中间的某个路由不理睬TTL,直接数据报转发?
51#
XXHJACK 发表于 2012-9-10 15:46 | 只看该作者
P0wer 发表于 2012-9-10 15:42
顺便问一下,tracert有没有被欺骗的可能,比如中间的某个路由不理睬TTL,直接数据报转发? ...

不会的!只是会屏蔽掉!出现你看到的*****之类的东西,所以我问你是不是内网,是不是过2个防火墙。
52#
Epic  楼主| 发表于 2012-9-10 15:47 | 只看该作者
XXHJACK 发表于 2012-9-10 15:46
不会的!只是会屏蔽掉!出现你看到的*****之类的东西,所以我问你是不是内网,是不是过2个防火墙。 ...

一个防火墙。
53#
XXHJACK 发表于 2012-9-10 15:48 | 只看该作者
P0wer 发表于 2012-9-10 15:47
一个防火墙。

我看错了!那是黄大发的。。。。。。。。
54#
Epic  楼主| 发表于 2012-9-10 15:52 | 只看该作者
XXHJACK 发表于 2012-9-10 15:48
我看错了!那是黄大发的。。。。。。。。

黄大是职业网管
55#
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 哈哈,一切猜测都确定了

查看全部评分

56#
xxy 发表于 2012-9-10 16:03 | 只看该作者
gmx168 发表于 2012-9-10 13:40
我这里用Cisco的ASA防火墙,有专门针对ICMP协议的配置,我已经打开的ICMP的监控,PING -r一样无结果返回 ...

用抓包软件好点儿吧?
57#
gmx168 发表于 2012-9-10 16:06 | 只看该作者
xxy 发表于 2012-9-10 16:03
用抓包软件好点儿吧?

会抓包了不起啊?就知道抓抓抓
58#
xxy 发表于 2012-9-10 16:13 | 只看该作者
gmx168 发表于 2012-9-10 16:06
会抓包了不起啊?就知道抓抓抓

其实偶不会用抓包软件
59#
gmx168 发表于 2012-9-10 16:54 | 只看该作者
在2、3个路由的情况下,PING -r和Tracert结果的区别已经比较清楚了,我在看是否能配置防火墙使之可以允许带Record-Route选项的数据包可以通过,如果可以,我就能得到更多路由器下的结果反馈。

当然,还有个办法,就是搭一些路由器的模拟器来测试~~问题是,好久没玩了,也没有在Win7 64位环境下的模拟器。
60#
xxy 发表于 2012-9-10 17:10 | 只看该作者
过时的东西,别讨论了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1活跃度 +5 收起 理由
Epic + 5 给你回血

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部