飞鱼的成长

 

因本人不再做技术,

这个blog将不再连载技术文章,

只作为心情点滴的记录,

想学技术的请绕道,谢谢!

联系方式:

feiyu_lili@163.com


时 间 记 忆
«September 2020»
12345
6789101112
13141516171819
20212223242526
27282930

最 新 评 论
回复:什么都是错,唯有行动才是真道理
回复:我有个梦想
回复:自动词和他动词的分类比较[转][小
回复:Binaryluo 的  [网络编
回复:如何实现人生价值(转)
回复:工作有感
回复:如何实现人生价值(转)
回复:如何实现人生价值(转)
回复:如何实现人生价值(转)
回复:我有个梦想

最 新 日 志
我有个梦想
工作有感
我的人生路该怎么走
什么都是错,唯有行动才是真道理
想家的孩子
解压的方法(转)
关于我的一些调节心态的方法(转)
具体应该怎样同懒惰性做斗争?(转)
如何实现人生价值(转)
希望这里的房子能早点租掉

最 新 留 言
签写新留言

日语自动,他动
化妆了 :)
步伐当然记得你啦(不能回复,只能另起炉灶
好久不见了。。。
睡觉的问题
………………
~~~~~
。。。。
还以为你去日本了来
那里去了???

搜 索


用 户 登 录
用户名称:
登陆密码:
密码保存:

友 情 连 接

凡弟のBlog

祺弟のBlog

臭釉のBlog

 

blog名称:飞鱼的成长
日志总数:120
评论数量:488
留言数量:18
访问次数:1005687
建立时间:2006年2月27日
 
 
 
[网络监控类]Binaryluo 的 [网络编程技术]Winpcap学习:第二天(20060126) 的问题
[ 2006/4/13 11:23:22 | By: feiyu_lili ]
 
  源代码
 

阅读全文(12956) | 回复(7) | 编辑 | 精华 | 删除
 
 
[网络监控类]Linux下Libpcap源码分析和包过滤机制(4)[转]
[ 2006/3/7 15:12:49 | By: feiyu_lili ]
 
过滤代码的安装

前面我们曾经提到,在内核空间过滤数据包对整个捕获机制的效率是至关重要的。早期使用 SOCK_PACKET 方式的 Linux 不支持内核过滤,因此过滤操作只能在用户空间执行(请参阅函数 pcap_read_packet() 代码),在《UNIX 网络编程(第一卷)》(参考资料 B)的第 26 章中对此有明确的描述。不过现在看起来情况已经发生改变,linux 在 PF_PACKET 类型的 socket 上支持内核过滤。Linux 内核允许我们把一个名为 LPF(Linux Packet Filter) 的过滤器直接放到 PF_PACKET 类型 socket 的处理过程中,过滤器在网卡接收中断执行后立即执行。LSF 基于BPF机制,但两者在实现上有略微的不同。实际代码如下:

 

阅读全文(2560) | 回复(0) | 编辑 | 精华 | 删除
 
 
[网络监控类]Linux下Libpcap源码分析和包过滤机制(3)[转]
[ 2006/3/7 15:11:45 | By: feiyu_lili ]
 
数据包过滤机制

大量的网络监控程序目的不同,期望的数据包类型也不同,但绝大多数情况都都只需要所有数据包的一(小)部分。例如:对邮件系统进行监控可能只需要端口号为 25(smtp)和 110(pop3) 的 TCP 数据包,对 DNS 系统进行监控就只需要端口号为 53 的 UDP数据包。包过滤机制的引入就是为了解决上述问题,用户程序只需简单的设置一系列过滤条件,最终便能获得满足条件的数据包。包过滤操作可以在用户空间执行,也可以在内核空间执行,但必须注意到数据包从内核空间拷贝到用户空间的开销很大,所以如果能在内核空间进行过滤,会极大的提高捕获的效率。内核过滤的优势在低速网络下表现不明显,但在高速网络下是非常突出的。在理论研究和实际应用中,包捕获和包过滤从语意上并没有严格的区分,关键在于认识到捕获数据包必然有过滤操作。基本上可以认为,包过滤机制在包捕获机制中占中心地位。

包过滤机制实际上是针对数据包的布尔值操作函数,如果函数最终返回true,则通过过滤,反之则
 
 
 
[网络监控类]Linux下Libpcap源码分析和包过滤机制(2)[转]
[ 2006/3/7 15:10:38 | By: feiyu_lili ]
 
打开网络设备

当设备找到后,下一步工作就是打开设备以准备捕获数据包。Libpcap的包捕获是建立在具体的操作系统所提供的捕获机制上,而Linux系统随着版本的不同,所支持的捕获机制也有所不同。

2.0 及以前的内核版本使用一个特殊的socket类型SOCK_PACKET,调用形式是socket(PF_INET, SOCK_PACKET, int protocol),但 Linux 内核开发者明确指出这种方式已过时。Linux 在 2.2及以后的版本中提供了一种新的协议簇 PF_PACKET 来实现捕获机制。PF_PACKET 的调用形式为 socket(PF_PACKET, int socket_type, int protocol),其中socket类型可以是 SOCK_RAW和SOCK_DGRAM。SOCK_RAW 类型使得数据包从数据链路层取得后,不做任何修改直接传递给用户程序,而 SOCK_DRRAM 则要对数据包进行加工(cooked),把数据包
 
 
 
[网络监控类]Linux下Libpcap源码分析和包过滤机制(1)[转]
[ 2006/3/7 15:09:16 | By: feiyu_lili ]
 
libpcap是unix/linux平台下的网络数据包捕获函数包,大多数网络监控软件都以它为基础。Libpcap可以在绝大多数类unix平台下工作,本文分析了libpcap在linux 下的源代码实现,其中重点是linux的底层包捕获机制和过滤器设置方式,同时也简要的讨论了 libpcap使用的包过滤机制 BPF。

网络监控

绝大多数的现代操作系统都提供了对底层网络数据包捕获的机制,在捕获机制之上可以建立网络监控(Network Monitoring)应用软件。网络监控也常简称为sniffer,其最初的目的在于对网络通信情况进行监控,以对网络的一些异常情况进行调试处理。但随着互连网的快速普及和网络攻击行为的频繁出现,保护网络的运行安全也成为监控软件的另一个重要目的。例如,网络监控在路由器,防火墙、入侵检查等方面使用也很广泛。除此而外,它也是一种比较有效的黑客手段,例如,美国政府安全部门的"肉食动物"计划。

包捕获机制

从广义的角度
 
 
 
[网络监控类]各协议头文件小结
[ 2006/3/6 16:53:20 | By: feiyu_lili ]
 
 
 
« 1
 
站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.047 second(s), page refreshed 144473769 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号