📄 00000153.htm
字号:
<HTML><HEAD> <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人: mephisto (魔鬼*修心养性*重新做人), 信区: Linux <BR>标 题: Re: =====高速网络截获的Linux驱动程序==== <BR>发信站: BBS 水木清华站 (Sat May 8 00:40:35 1999) <BR> <BR>【 在 sniffer (sniffer) 的大作中提到: 】 <BR>∶<I> 类似的捕获器已经有了,我觉的BSD Packet Filter就不错. </I><BR>∶<I> 它在核心设置buffer,采用先过虑后缓存的方法,.减少内存拷贝 </I><BR>∶<I> 有独立的协议层,捕获的包不会进入系统的协议栈. </I><BR>好象不是吧,如果捕的包不进入系统协议栈的话,那Free BSD用tcpdump时 <BR>就无法使用正常的网络了.但显然不是这样. <BR>进或不进,AF_CAPTURE都可以做到. <BR> <BR>∶<I> 它与网卡无关,尤其是它的社在核旋虑规则采用图的 </I><BR>我看过源代码,毕竟BPF用中间代码来解释,但是还是比不上直接C代码来提取 <BR>信息快,而且用AF_CAPTURE写一个capture type 的moudule就可以把BPF实现 <BR>了.我专门留了ioctl的接口就是想干这个用的. <BR> <BR>再者读网络要用到/dev/bpf0是个不太愉快的想法.还要建个inode.一个bpf0 <BR>设备只能被打开一次,不灵要试bpf1,bpf2,不爽. <BR> <BR>不过我承认AF_CAPTURE的很多灵感是来自BPF,我痛恨linux居然没有一个象 <BR>FreeBSD 那样好用的sniffer driver.我曾经把BPF port到linux,没有发布 <BR>是因为我觉得BPF还不够好.现在的AF_CAPTURE比BPF更好,更灵活和更简单更 <BR>快.如果喜欢BPF的话,在AF_CAPTURE加载一moudle就可以实现了,BPF不过是 <BR>AF_CAPTURE的一个子集.还有其他的一些特性也是BPF做不到的.而BPF能作到 <BR>的,AF_CAPTURE都可以. <BR> <BR>∶<I> 方式,效率狠高 </I><BR>∶<I> 但它必须编译内核,这点不爽:-( </I><BR> <BR> <BR>-- <BR>约塞连怀疑地摇了摇头,拒绝接受丹比的劝告."当我抬起来时,我看到人们全在设法赚钱.我 <BR>看不见天堂,看不见圣人,也看不见天使.我只看见人们利用每一次正当的冲动和每一场人类 <BR>的悲剧大把大把地捞钱." <BR> <BR>※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: ab1-71.bjnet.ed] <BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -