




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MySniffer抓包程序一、 开发思路在windows操作系统下,要想捕获网络上的数据包,必须要对网卡进行控制,因为本机的数据报从网络上来到本机是通过网卡然后再保存到本地缓冲区上的,所以要抓获网包就必须调用网卡驱动中的对外函数。因此,通过调用网卡驱动函数,将网卡设置为杂乱模式状态,使得网卡不能阻塞、过滤或控制其他应用程序数据报的收发,以达到抓取数据包的目的。开发环境:系统:Windows XP;IDE:MyEclipse6.0.1;工具包: winpcap;Jpcap;开发语言:java二、 开发流程1、 MySniffer功能本程序基本功能:包括对ipv6数据包的抓取,分析。扩展功能:提供友好的可视化界面和操作。2、 MySniffer层次结构MySniffer抓包程序分为三大部分:访问网络底层部分、数据包分析部分、可视化界面部分。因此,层次结构大概为下图所示:图一、MySniffer抓包程序层次结构图从MySniffer抓包程序层次结构图可知,程序各部分的主要功能包括:可视化界面部分:提供友好界面显示,抓包操作(网卡选择、开始抓包、停止抓包)及显示数据包分析结果。数据包分析部分:负责分析数据包及保存抓取到的数据包。访问网络底层部分:提供底层服务,检测网卡设备及抓取网络中的原始数据包。3、 MySniffer操作流程MySniffer操作流程具体为:初始化界面检测网卡调用网卡抓包对抓到的数据包即时统计、分析停止抓包显示数据包内容。如下图所示:图二、MySniffer抓包程序操作流程图4、 MySniffer具体实现MySniffer抓包程序包括4个类,分别是IPV6Main(主函数)、IPV6Frame(界面)、IPV6Packet(数据包信息)、IPV6Captor(抓包)。IPV6Frame提供界面显示,有以下方法:startButton()/开始按钮触发方法,调用doCapture()。stopButton()/停止按钮触发方法,调用stopCapture()。packetDetail()/表格触发方法,显示表格中数据包的具体信息。IPV6Packet为保存数据包信息的数据结构,即数据包version、priority、flow_label、length、protocol、hop_limit、srcAddress、dstAddress等信息的set和get方法。IPV6Captor包括以下方法:showPacket()/把数据包从byte 转化为十六进制显示。receivePacket()/把抓到的数据包分析,并保存到IPV6Packet。getDrveice()/获取网卡设备。doCapture()/开始抓包。stopCapture()/停止抓包。5、 MySniffer抓包程序截图图三、MySniffer抓包程序选择网卡图四、MySniffer抓包程序抓到的IPV6包图五、MySniffer抓包程序显示具体的IPV6包三、 关键问题及解决方法实现MySniffer抓包程序的功能,关键问题有两个:一是,调用网卡驱动的对外函数,实现对数据链路层的控制;二是, 对抓到的数据包进行分析。对于问题一, JAVA语言虽然在TCP/UDP传输方面给予了良好的定义,但对于网络层以下的控制,却是无能为力的。所以要对网卡进行控制,就必须调用网卡驱动中的对外函数。在windows系统中,因为源代码不对外公开,所以要安装一个叫winpcap的软件,这样用C或VC+就可以实现了,但因为我用的是Java语言来实现的,所以还要安装一个叫Jpcap的软件,它本身就把底层的函数又封装了一下,这样就可以让java来使用了。Jpcap机制主要包括以下四部分:1NetworkInterface该类的每一个实例代表一个网络设备,一般就是网卡。这个类只有一些数据成员(网卡信息),除了继承自java.lang.Object的基本方法以外,没有定义其它方法。2JpcapCaptor该类提供了一系列静态方法实现一些基本的功能。该类一个实例代表建立了一个与指定设备的链接,可以通过该类的实例来控制设备,例如设定网卡模式、设定过滤关键字等等。3JpcapSender该类专门用于控制数据包的发送。4Packet这个是所有其它数据包类的父类。Jpcap所支持的数据包有:ARPPacket、DatalinkPacket、EthernetPacket、ICMPPacket、IPPacket、TCPPacket、UDPPacket对于问题二,对抓到的数据包进行分析,就要了解通过Jpcap抓到的Packet的类型信息。对其进行转换,信息提取。首先,实例化网卡对象:NetworkInterface devices = JpcapCaptor.getDeviceList();其次,建立指定网卡的连接,控制网卡:JpcapCaptor jpcap = JpcapCaptor.openDevice();再次,实现抓包的handle方法:showPacket(Packet p)/把Packet转换为十六进制表示的字符串,以显示receivePacket(Packet packet)/在该方法实现数据包的信息抽取,并保存到指定对象中最后,抓包,抓到的数据包将保存在List packetFiles里:cessPacket(1, new IPV6Captor()四、 进一步的改进
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年农村住宅购买合同
- 2025农业科技租赁合同范本
- 2025年乡镇药房考试题及答案
- 物体压强题目及答案高中
- 2025餐厅转让合同样本
- 营销渠道专业知识培训课件
- 营销案例知识培训
- 2025年甾体药物项目建议书
- 物料仓库培训试题及答案
- 2024人教版七年级生物上册期末复习知识点提纲(填空版+答案版)
- 楼梯 栏杆 栏板(一)22J403-1
- 露天矿山危险源辨识汇总
- 2022年08月安徽省芜湖市招考大学生科技特派员岗位冲刺题(带答案)
- 国家城镇救援队伍能力建设与分级测评指南
- 部编版五年级语文上册(精美)课件 2 落花生
- 口腔修复学-纤维桩-PPT课件
- 变压器套管课件
- 物业公司员工绩效考核表
- SAP BASIS 日常维护手册
- CAESARII 应用实例
- 《中式面点制作(第二版)》全套教案(高教版)
评论
0/150
提交评论