标题: 急,关于BPF截获数据包的问题
calf9007
新生入学
Rank: 1
注册用户



UID 180737
精华 0
积分 0(积分有什么用?)
帖子 1
阅读权限 10
注册 2007-2-5
状态 离线
发表于 2007-4-24 21:15  资料  个人空间  短消息  加为好友 
急,关于BPF截获数据包的问题

在fedora上调试nat-pt,其中使用BPF机制截获数据包,BPF截获的数据包同时也会交给系统的协议栈,举个例子,
6B rLm$dC
p:A:ri
下面是ethereal抓包,对于一个ICMPv6 Echo request ,其中Echo reply是期望得到的,aaaa:bbbb:cccc:dddd:eeee:ffff:c0a8:d4是V4主机在V6域中对应的地址,算是不存在的虚拟地址,nat-pt截获这个数据包后经过处理会返回Echo reply,但同时nat-pt所在机器的协议栈收到了Echo reply,因为aaaa:bbbb:cccc:dddd:eeee:ffff:c0a8:d4 不是V6域中的可路由地址,所以同时返回一个ICMPv6   Unreachable (Route unreachable),而这个Unreachable (Route unreachable)是不期望的报文。J;V`1]f]2R D%|
aaaa:bbbb:cccc:dddd:eeee:ffff:c0a8:d4 2001:250:f007:15::600 ICMPv6   Echo request
}1j"rA"A,xwww.linuxeden.com//解释:V4主机ping V6主机,经过nat-pt处理后发往V6主机,2001:250:f007:15::600(V6主机地址)
`#Sk!YCSDdQY2001:250:f007:15::600 aaaa:bbbb:cccc:dddd:eeee:ffff:c0a8:d4 ICMPv6   Echo reply
o0x+D.]6~%k/`'J//解释:V6主机给nat-pt发送可达数据包,告诉V4主机可以ping通V6(2001:250:f007:15::600)。
7ji&B2F}jov)h2001:250:f007:15::800 2001:250:f007:15::600 ICMPv6   Unreachable (Route unreachable)
x!uX/S5[V+VLinux伊甸园论坛//解释:同时nat-pt所在的机器(2001:250:f007:15::800)系统协议栈获得ICMPv6   Echo reply报文,返回给V6主机一个Unreachable (Route unreachable)
a~/S_al"a6P现在的问题是:我在red hat上运行同样的程序,不会出现此问题,但在fedora上运行,有此问题。请高手指点,万分感谢!
"sz4E\K }ULinux伊甸园论坛是不是截获数据包又不交给系统的协议栈处理就能解决此问题,如何不让协议栈处理已经截获的数据包?:F
pNK3@3jQ        D

为什么同样的程序在red hat 9上运行就没有此问题呢,是不是BPF机制在fedora与red hat上截获数据包的时机不同?
0j4D2q        @%TGO8t谢谢!Linux伊甸园论坛 | a4B(d0u4{+RZTix
也可以E-mail ,QQ 给予指点,
(E&u5YoruaE-mail :calf9007@163.com
r[y(m)N {ZQQ:43885970
J        ^9w
Cx
PXB5@e&s,D
现在的问题是:我在red hat上运行同样的程序,不会出现此问题,但在在fedora上运行,有此问题。请高手指点,万分感谢!
] R.r
l|7I}6@Linux伊甸园论坛
是不是截获数据包又不交给系统的协议栈处理就能解决此问题,那为什么同样的程序在red hat 9上运行就没有此问题呢,%d6w3c/u3q
谢谢!6x
WGk3Sw2bS

也可以E-mail ,QQ 给予指点,
m8K$pd&XbE-mail :[EMAIL="calf9007@163.com"]calf9007@163.com[/EMAIL]
8s,`;E        l dM}
mtb
QQ:43885970

顶部
flag
版主
Rank: 7Rank: 7Rank: 7
版主



UID 19801
精华 1
积分 28(积分有什么用?)
帖子 5581
阅读权限 100
注册 2002-7-19
状态 离线
发表于 2007-4-30 11:02  资料  个人空间  短消息  加为好友 
不太明白你说的问题指什么,按理BPF并不会截获什么,只是驱动会在上传数据包给协议栈的时候会复制一份给BPF。

mt9f+g.]_4j
g
这里有一个文档应该也说明了一些吧,看看有没有帮助http://www.wanfangdata.com.cn/qi ... dnxx9906/990606.htm





上帝说,有问题,找GOOGLE 写程序是很神圣的事情!同样只是装系统,卖菜的大娘会的事情不见得就跟卖菜一样了。
顶部
不容错过的IBM 集群技术资源汇总
 



当前时区 GMT+8, 现在时间是 2008-5-17 03:14

    Powered by Discuz! 5.5.0  © 2001-2007 Comsenz Inc.
Processed in 0.037759 second(s), 5 queries

清除 Cookies - 联系我们 - Linux伊甸园 - Archiver - WAP