基于Libpcap的网络数据包捕获器的设计与实现

2014-09-11 19:27贾翔秦雯严沛
中国新通信 2014年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

猜你喜欢
应用层以太网数据包
基于Jpcap的网络数据包的监听与分析
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
SmartSniff
基于分级保护的OA系统应用层访问控制研究
谈实时以太网EtherCAT技术在变电站自动化中的应用
新一代双向互动电力线通信技术的应用层协议研究
物联网技术在信息机房制冷系统中的应用
一种90W高功率以太网供电系统的设计
浅谈EPON与工业以太网在贵遵高速公路中的应用
Current advances in neurotrauma research: diagnosis, neuroprotection, and neurorepair