Sniffer 网络抓包

Sniffer 网络抓包

ID:38469322

大小:193.50 KB

页数:6页

时间:2019-06-13

Sniffer 网络抓包_第1页
Sniffer 网络抓包_第2页
Sniffer 网络抓包_第3页
Sniffer 网络抓包_第4页
Sniffer 网络抓包_第5页
资源描述:

《Sniffer 网络抓包》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、MySniffer抓包程序一、开发思路在windows操作系统下,要想捕获网络上的数据包,必须要对网卡进行控制,因为本机的数据报从网络上来到本机是通过网卡然后再保存到本地缓冲区上的,所以要抓获网包就必须调用网卡驱动中的对外函数。因此,通过调用网卡驱动函数,将网卡设置为杂乱模式状态,使得网卡不能阻塞、过滤或控制其他应用程序数据报的收发,以达到抓取数据包的目的。开发环境:系统:WindowsXP;IDE:MyEclipse6.0.1;工具包:winpcap;Jpcap;开发语言:java二、开发流程1、MySniffer功能本程序基本功能:包

2、括对ipv6数据包的抓取,分析。扩展功能:提供友好的可视化界面和操作。2、MySniffer层次结构MySniffer抓包程序分为三大部分:访问网络底层部分、数据包分析部分、可视化界面部分。因此,层次结构大概为下图所示:6图一、MySniffer抓包程序层次结构图从MySniffer抓包程序层次结构图可知,程序各部分的主要功能包括:●可视化界面部分:提供友好界面显示,抓包操作(网卡选择、开始抓包、停止抓包)及显示数据包分析结果。●数据包分析部分:负责分析数据包及保存抓取到的数据包。●访问网络底层部分:提供底层服务,检测网卡设备及抓取网络中

3、的原始数据包。1、MySniffer操作流程MySniffer操作流程具体为:初始化界面—>检测网卡—>调用网卡抓包—>对抓到的数据包即时统计、分析—>停止抓包—>显示数据包内容。如下图所示:图二、MySniffer抓包程序操作流程图61、MySniffer具体实现MySniffer抓包程序包括4个类,分别是IPV6Main(主函数)、IPV6Frame(界面)、IPV6Packet(数据包信息)、IPV6Captor(抓包)。IPV6Frame提供界面显示,有以下方法:startButton()//开始按钮触发方法,调用doCaptur

4、e()。stopButton()//停止按钮触发方法,调用stopCapture()。packetDetail()//表格触发方法,显示表格中数据包的具体信息。IPV6Packet为保存数据包信息的数据结构,即数据包version、priority、flow_label、length、protocol、hop_limit、srcAddress、dstAddress等信息的set和get方法。IPV6Captor包括以下方法:showPacket()//把数据包从byte[]转化为十六进制显示。receivePacket()//把抓到的数据

5、包分析,并保存到IPV6Packet。getDrveice()//获取网卡设备。doCapture()//开始抓包。stopCapture()//停止抓包。2、MySniffer抓包程序截图6图三、MySniffer抓包程序选择网卡图四、MySniffer抓包程序抓到的IPV6包6图五、MySniffer抓包程序显示具体的IPV6包一、关键问题及解决方法实现MySniffer抓包程序的功能,关键问题有两个:一是,调用网卡驱动的对外函数,实现对数据链路层的控制;二是,对抓到的数据包进行分析。对于问题一,JAVA语言虽然在TCP/UDP传输方

6、面给予了良好的定义,但对于网络层以下的控制,却是无能为力的。所以要对网卡进行控制,就必须调用网卡驱动中的对外函数。在windows系统中,因为源代码不对外公开,所以要安装一个叫winpcap的软件,这样用C或VC++就可以实现了,但因为我用的是Java语言来实现的,所以还要安装一个叫Jpcap的软件,它本身就把底层的函数又封装了一下,这样就可以让java来使用了。Jpcap机制主要包括以下四部分:1.NetworkInterface该类的每一个实例代表一个网络设备,一般就是网卡。这个类只有一些数据成员(网卡信息),除了继承自java.la

7、ng.Object的基本方法以外,没有定义其它方法。62.JpcapCaptor该类提供了一系列静态方法实现一些基本的功能。该类一个实例代表建立了一个与指定设备的链接,可以通过该类的实例来控制设备,例如设定网卡模式、设定过滤关键字等等。3.JpcapSender该类专门用于控制数据包的发送。4.Packet这个是所有其它数据包类的父类。Jpcap所支持的数据包有:ARPPacket、DatalinkPacket、EthernetPacket、ICMPPacket、IPPacket、TCPPacket、UDPPacket对于问题二,对抓到的

8、数据包进行分析,就要了解通过Jpcap抓到的Packet的类型信息。对其进行转换,信息提取。首先,实例化网卡对象:NetworkInterface[]devices=JpcapCaptor.g

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。