以太网数据包捕获与转发技术.pdf
《以太网数据包捕获与转发技术.pdf》由会员分享,可在线阅读,更多相关《以太网数据包捕获与转发技术.pdf(5页珍藏版)》请在三一文库上搜索。
1、软件天地 文章编号:1 0 0 8 0 5 7 0 ( 2 0 0 6 ) 1 2 1 0 2 7 9 以太网数据包捕获与转发技术 T e c h n o l o g i e sf o rc a p t u r ep a c k e t sa n df o r w a r d i n gi nE t h e r n e t ( 1 成都信息工程学院;2 江西工业工程职业技术学院) 盛志伟1刘仕筠1 李群2 S H E N GZ H I W E lL I US H I J U NL IQ U N 摘要:数据包捕获技术在网络安全领域中应用十分广泛,网络入侵检测系统、协议分析软件、防火墙等都需要捕获
2、数据包。 本文研究了l i n u x 和w i n d o w s 环境下的数据包捕获技术,给出了几种数据包捕获方法,并提出了使用S O C I ( - P A C K E T 和原始套 接字转发数据包。其中。还给出一个在w i n d o w s 下使用w i n p c a p 和J p e a p 捕获数据包的编程方法。 关健词:包捕获;l i b p c a p ;w i n p c a p ;J p c a p ;S O C K _ P A C K E T 中图分类号:T P 3 9 3 0 8文献标识码:A A b s t r a c t :T h et e c h n o l
3、o g i e sf o rc a p t u r i n gd a t ap a c k e ti nE t h e r n e ta r ee x t e n s i v e l yu s e di nn e t w o r k ss e c u r i t ya r e a ,s u c ha so ni n t r u s i o n d e t e c t i o ns y s t e m ( I D S ) ,p r o t o c o la n a l y s i ss o f t w a r e ,f i r e w a l la n dS Oo n T h i sp a p
4、e rm a i n l yr e s e a r c h e do nt h et e c h n o l o g i e si nL i n u xa n d W i n d o w s ,p r o v i d i n gs o m em e t h o d s o nc a p t u r i n gp a c k e t s ,g i v i n gt h ew a y st of o r w a r d p a c k e tb yu s i n gr a ws o c k e ta n dS O C K _ P A C K E T M e a n w h i l e ,w ep
5、r o v i d e dam e t h o do fp r o g r a m m i n gw i t hW i n p c a pa n dJ p c a p K e yw o r d s :C a p t u r ep a c k e t , ! i b p c a p ,w i n p c a p , J p c a p ,S O C K _ P A C K E T 1 引言 数据包捕获是指捕获数据链路层所收到的数据 包,它对我们起到了监视网络的重要作用,甚至可以 使我们像使用T C P d u m p 一样来监视自已的网络,同 时,它也为黑客窃听网络通讯内容提供了一种方法。 目前
6、许多网络安全产品,如网络入侵检测系统,都需 要使用数据包捕获技术来收集信息源,对于网关程 序,更需要将数据包发送出去,其中还涉及到地址和 端口的转换。所以,本文研究了在l i n u x 和w i n d o w s 下 的数据包捕获技术及l i n u x 下的数据包转发技术。 2 以太网工作方式 以太网帧是一组数字脉冲,它们在传输介质上进 行传输。从而实现信息的传递。以太网帧格式符合 I E E E 8 0 2 3 标准帧中包含目的地址和源地址,目的地 址最高位为0 是普通地址,为1 时是组地址。当一个 帧送到组地址时,组内的所有站点都会收到该帧。如 果将它送到一个普通地址,一般情况下,只
7、有一个站 点收到这个帧,但是,以太网是以广播方式发送帧的, 也即这个帧会传播到其所在网段内的所有站点,只不 过该站点不会接收目的地址不为本机地址的帧。为了 捕获网段内的所有帧( 以后称数据包) ,可以设置以太 网卡的工作方式,以太网卡通常有正常模式n o r m a l m o d e ) 和混杂模式p r o m i s c u o u sm o d e ) 两种工作模式。在 正常模式下,网卡每接收到一个到达的数据包,就会 检查该数据包的目的地址,如果是本机地址和广播地 盛志伟:讲师硕士 址,则将接收数据包放人缓冲区,其他目的地址的数据 包则直接丢掉。因此,正常模式下主机仅处理以本机 为目的
8、的数据包,网卡如果工作在混杂模式,则可以 接收本网段内传输的所有数据包。如果要进行数据包 捕获,必须利用网卡的混杂模式,获得经过本网段的 所有数据信息。 3 几种捕获技术介绍 3 1B S D 分组过滤器( B P F ) 要捕获数据包,必须使用数据链路访问技术,许 多源自B e r k e l e y 的实现使用B P F 作为数据链路层访 问手段,在支持B P F 的系统上,每个数据链路驱动程 序就在收到一个分组之后或发送一个分组之前调用 B P F 。它的工作方式如图1 所示。 进程 内核 图1B F P 截获分组的过程 从数据链路层收到的一个数据包后,它将向上层 协议传递,根据I P
9、协议的版本分发给不同的协议栈, 每向上传递一层就剥离一层头部。直到传递给应用程 序。将网卡设为混杂模式后,数据链路层接收本网络 段内的所有帧。它将收到的分组和发出的分组拷贝一 份送至B P F ,经过滤器送至缓冲区,最后传给应用程 序。B P F 的优点在于:过滤由内核完成,减少了从B P F 瞅嗣邮局订眠8 2 铷3 6 0 元,年_ 2 7 9 万方数据 软件天地中文核J 心期刊微计算机信息( 测控自动化) 2 0 0 6 年第2 2 卷第1 2 1 期 拷贝到应用程序的数据量;每个分组只有部分数据由w i n d o w s 版是通过它来捕获数据。 B F P 传递给应用进程,可以只捕获
10、用户感兴趣的部分: 使用了缓冲技术只有在缓冲区满或读超时发生时才 拷贝给应用进程减少系统调用的次数。 3 2l i b p c a p 分组捕获函数库 由于l i b p c a p 与操作系统平台无关,所以它是使用 最多的一种捕获方法。l i b p c a p 是一个独立于操作系统 的访问数据链路层的方法,主要用于读取数据链路层 的数据,它支持B P F ,D L P I 以及S O C K P A C K E T 。 L i b p c a p 的工作过程如图2 所示,它是通过调用相应的 库函数来实现的步骤如下: ( 1 ) 查找网络设备( p c a p _ l o o k u p d
11、 e v ) 。 ( 2 ) 获取网络地址及网络掩码( p c a p l o o k u p n e t ) 。 ( 3 ) 打开网络设备( p c a p _ o p e n _ l i v e ) 。 ( 4 ) 将过滤字符串编译到过滤程序中( p c a p _ c o m p i l e ) 。 ( 5 ) 设置过滤器( p c a p _ s e t f i h e r ) 。 ( 6 ) 开始捕获包( p c a p _ d i s p a t c h ) 。 查找有效的网络设备 获得网络地址及网络掩码 打开网络设备 将用户输入的字符串编译到过滤程序中 设置过滤器 捕获包 鼍焐
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 以太网 数据包 捕获 转发 技术
![提示](https://www.31doc.com/images/bang_tan.gif)
链接地址:https://www.31doc.com/p-5035059.html