欢迎来到天天文库
浏览记录
ID:30318697
大小:222.22 KB
页数:9页
时间:2018-12-28
《基于jpcap的数据包捕获实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实验报告实验名称基于JPcap的数据包捕获器课程名称计算机网络原理与技术姓名李辉成绩班级软件0806学号3901080608日期2010.4地点电子楼四楼实验室备注:小组合作实验,组员:李辉、黄钰91.实验目的基于java第三方包JPcap编写数据包捕获器,该捕获器具有以下功能:a)监听并捕获以太网帧b)分析IP数据报c)分析ARP/RARPd)分析TCP、UDP数据报e)分析ICMP报文f)分析HTTP报文g)简单的网络流量分析功能2.实验环境(软件、硬件及条件)1)Jpcap和Wincap简介Jpcap是一个能够捕获、发送网络数据包的java类库包。这个包用到了Libpcap/Winpc
2、ap和原始套接字API,目前,Jpcap在FreeBSD3.x,LinuxRedHat6.1,Solaris,andMicrosoftWindows2000/XP系统上已经做过测试,并且支持Ethernet,IPv4,IPv6,ARP/RARP,TCP,UDP,ICMPv4协议。Jpcap是由在美国加利福尼亚大学Irvine分校(UCI)攻读博士学位的日本人KeitaFujiiy研制发布的,其主页为http://netresearch.ics.uci.edu/kfujii/。其最初版本是2000.6发布的Jpcap0.1版,此后几经修改,到2003.4发布了发布Jpcap0.4版。JAVA语
3、言虽然在TCP/UDP传输方面给予了良好的定义,但对于网络层以下的控制,却是无能为力的。JPCAP扩展包弥补了这一点。 JPCAP实际上并非一个真正去实现对数据链路层的控制,而是一个中间件,JPCAP调用wincap/libpcap,给JAVA语言提供一个公共的接口,从而实现了平台无关性,并能够捕获、发送网络数据包。Winpcap(windowspacketcapture)是windows平台下一个免费,公共的网络访问系统。开发winpcap这个项目的目的在于为win329应用程序提供访问网络底层的能力。1)编程环境要求i.安装JavaSDK(http://java.sun.com)ii.安
4、装最新版本的LibPcap(对于UNIX平台,http://ee.lbl.gov/)或者WinPcap(对于Windows平台,http://winpcap.polito.it/)iii.下载并解压缩Jpcap的最新版本(http://netresearch.ics.uci.edu/kfujii/jpcap/doc/index.html)。iv.以WindowXP系统为例,具体准备工作如下:1.复制Jpcap.dll到C:WINDOWSsystem322.安装winpcap4.0.23.在工程中导入jpcap.jar3.实验方法Jpcap0.4版本共有1个分析器接口14个分析器类,分别简
5、介如下:1、接口综述JpcapHandler:这个接口用来定义分析被捕获数据包的方法2、类综述ARPPacket:这个类描述了ARP/RARP包,继承了Packet类DatalinkPacket:这个抽象类描述了数据链路层EthernetPacket:这个类描述了以太帧包,继承DatalinkPacket类9ICMPPacket:这个类描述了ICMP包,继承了IPPacket类IPAddress:这个类描述了IPv4和IPv6地址,其中也包含了将IP·地址转换为域名的方法IPPacket:这个类描述了IP包,继承了Packet类,支持IPv4和IPv6IPv6Option:这个类描述了IPv
6、6选项报头Jpcap:用来捕获数据包Jpcap.JpcapInfo:Jpcap的内部类,它包含被捕获数据包的信息(在jpcap0.4修改部分BUG之后不再使用这个类)JpcapSender:它用来发送一个数据包JpcapWriter:它用来将一个被捕获的数据包保存到文件Packet:这个类是所有被捕获的数据包的基类TCPPacket:这个类描述TCP包,继承了IPPacket类UDPPacket:这个类描述了UDP包,继承了IPPacket类具体api帮助文档见附录。4.实验分析以下以抓取ip数据包为例讲解抓包基本步骤:1.绑定网络设备2.抓包3.分析9以下代码见Test工程importja
7、va.io.IOException;importjpcap.JpcapCaptor;importjpcap.NetworkInterface;importjpcap.packet.IPPacket;importjpcap.packet.Packet;/***ip数据包捕获演示例子*@author李辉**/publicclassIPPacketTest{publicstaticvoidmain(String[]
此文档下载收益归作者所有