基于Libpcap的网络数据包捕获器的设计与实现
2014-09-11贾翔秦雯严沛
贾翔+秦雯++严沛
【摘要】目前Windows环境下的数据包捕获器已有很多,但Linux环境下的数据包捕获器还未成熟。这里利用Libpcap这一数据包捕获开发包工具,在网卡为混杂模式时对数据包进行捕获,通过使用BPF过滤机制,过滤掉网络上不需要的数据包,而只捕获用户感兴趣的数据包,并对数据包进行分析。
【关键词】网络协议Libpcap数据包捕获
一、引言
现如今,随着Linux操作系统的推广,Linux下的相关监控、维护需求也逐渐增多,本捕获器正是利用了这一优势。数据包捕获开发包Libpcap(The Packet Capture Library)是一个平台独立的网络数据包捕获开发包。它是一个高层的编程接口,隐藏了操作系统的细节,可以捕获网络上的所有数据包,包括到达其他主机的数据包。Libpcap中使用了BPF过滤机制,这部分是基于内核的过滤模块,它使得Libpcap具有捕获特定数据包的功能。
二、系统结构设计
总体思想:根据以太网协议类型字段ethernet _type,判断数据包协议类型是ARP、IP还是RARP,若为IP协议数据包,则继续分析其类型字段,判断数据包协议是TCP、UDP还是ICMP。若为TCP、UDP,即可根据其端口号判断在其基础上的应用层协议。若为ICMP可根据其类型进一步分析ICMP数据包。
本网络数据包捕获器可对以太网协议数据包、ARP协议数据包、RARP协议数据包、IP协议数据包、ICMP协议数据包、TCP协议数据包、UDP协议数据包进行抓捕并分析,应用层协议数据包的分析可在后续开发中追加。
函数回调关系如图1所示。
三、实现
本网络捕获器主要通过Libpcap实现,利用Qt制作一个界面。
在文字“请输入命令”下面的输入框中输入所要捕捉的数据包类型(如./ip),点击“运行”。即可对IP数据包进行捕获、分析。如图2所示。
四、结束语
网络数据包捕获器是对网络进行后续分析、诊断、安全防范的基础,对网络进行更深层次的探究、分析具有重要意义。
参考文献
[1]吴功宜,董大凡,王[王][君],刘乾. 计算机网络高级软件编程技术. 北京:清华大学出版社,2011
[2]程光,杨望. 网络安全实验教程. 北京:北京交通大学出版社,2013
[3]刘文涛. 网络安全开发包详解. 北京:电子工业出版社,2005
【摘要】目前Windows环境下的数据包捕获器已有很多,但Linux环境下的数据包捕获器还未成熟。这里利用Libpcap这一数据包捕获开发包工具,在网卡为混杂模式时对数据包进行捕获,通过使用BPF过滤机制,过滤掉网络上不需要的数据包,而只捕获用户感兴趣的数据包,并对数据包进行分析。
【关键词】网络协议Libpcap数据包捕获
一、引言
现如今,随着Linux操作系统的推广,Linux下的相关监控、维护需求也逐渐增多,本捕获器正是利用了这一优势。数据包捕获开发包Libpcap(The Packet Capture Library)是一个平台独立的网络数据包捕获开发包。它是一个高层的编程接口,隐藏了操作系统的细节,可以捕获网络上的所有数据包,包括到达其他主机的数据包。Libpcap中使用了BPF过滤机制,这部分是基于内核的过滤模块,它使得Libpcap具有捕获特定数据包的功能。
二、系统结构设计
总体思想:根据以太网协议类型字段ethernet _type,判断数据包协议类型是ARP、IP还是RARP,若为IP协议数据包,则继续分析其类型字段,判断数据包协议是TCP、UDP还是ICMP。若为TCP、UDP,即可根据其端口号判断在其基础上的应用层协议。若为ICMP可根据其类型进一步分析ICMP数据包。
本网络数据包捕获器可对以太网协议数据包、ARP协议数据包、RARP协议数据包、IP协议数据包、ICMP协议数据包、TCP协议数据包、UDP协议数据包进行抓捕并分析,应用层协议数据包的分析可在后续开发中追加。
函数回调关系如图1所示。
三、实现
本网络捕获器主要通过Libpcap实现,利用Qt制作一个界面。
在文字“请输入命令”下面的输入框中输入所要捕捉的数据包类型(如./ip),点击“运行”。即可对IP数据包进行捕获、分析。如图2所示。
四、结束语
网络数据包捕获器是对网络进行后续分析、诊断、安全防范的基础,对网络进行更深层次的探究、分析具有重要意义。
参考文献
[1]吴功宜,董大凡,王[王][君],刘乾. 计算机网络高级软件编程技术. 北京:清华大学出版社,2011
[2]程光,杨望. 网络安全实验教程. 北京:北京交通大学出版社,2013
[3]刘文涛. 网络安全开发包详解. 北京:电子工业出版社,2005
【摘要】目前Windows环境下的数据包捕获器已有很多,但Linux环境下的数据包捕获器还未成熟。这里利用Libpcap这一数据包捕获开发包工具,在网卡为混杂模式时对数据包进行捕获,通过使用BPF过滤机制,过滤掉网络上不需要的数据包,而只捕获用户感兴趣的数据包,并对数据包进行分析。
【关键词】网络协议Libpcap数据包捕获
一、引言
现如今,随着Linux操作系统的推广,Linux下的相关监控、维护需求也逐渐增多,本捕获器正是利用了这一优势。数据包捕获开发包Libpcap(The Packet Capture Library)是一个平台独立的网络数据包捕获开发包。它是一个高层的编程接口,隐藏了操作系统的细节,可以捕获网络上的所有数据包,包括到达其他主机的数据包。Libpcap中使用了BPF过滤机制,这部分是基于内核的过滤模块,它使得Libpcap具有捕获特定数据包的功能。
二、系统结构设计
总体思想:根据以太网协议类型字段ethernet _type,判断数据包协议类型是ARP、IP还是RARP,若为IP协议数据包,则继续分析其类型字段,判断数据包协议是TCP、UDP还是ICMP。若为TCP、UDP,即可根据其端口号判断在其基础上的应用层协议。若为ICMP可根据其类型进一步分析ICMP数据包。
本网络数据包捕获器可对以太网协议数据包、ARP协议数据包、RARP协议数据包、IP协议数据包、ICMP协议数据包、TCP协议数据包、UDP协议数据包进行抓捕并分析,应用层协议数据包的分析可在后续开发中追加。
函数回调关系如图1所示。
三、实现
本网络捕获器主要通过Libpcap实现,利用Qt制作一个界面。
在文字“请输入命令”下面的输入框中输入所要捕捉的数据包类型(如./ip),点击“运行”。即可对IP数据包进行捕获、分析。如图2所示。
四、结束语
网络数据包捕获器是对网络进行后续分析、诊断、安全防范的基础,对网络进行更深层次的探究、分析具有重要意义。
参考文献
[1]吴功宜,董大凡,王[王][君],刘乾. 计算机网络高级软件编程技术. 北京:清华大学出版社,2011
[2]程光,杨望. 网络安全实验教程. 北京:北京交通大学出版社,2013
[3]刘文涛. 网络安全开发包详解. 北京:电子工业出版社,2005