网络安全导论 实验12B 网络数据包的抓取与分析_第1页
网络安全导论 实验12B 网络数据包的抓取与分析_第2页
网络安全导论 实验12B 网络数据包的抓取与分析_第3页
网络安全导论 实验12B 网络数据包的抓取与分析_第4页
网络安全导论 实验12B 网络数据包的抓取与分析_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验12B网络数据包的抓取与分析【实验目的】:熟悉TCP/IP数据包的结构。掌握Wireshark的使用方法。能够利用JNetPcap编程实现数据包的抓取与分析。【实验准备】:1、通过抓包,可以进行网络故障分析、流量监控、隐私盗取等操作,相关的抓包工具有很多,主要有Fiddler、Wireshark、Charles等。2、本实验需要提前安装Wireshark、配置java环境、下载并导入JNetPcap.jar包。Windows系统下需要安装WinPcap,Linux下需要安装Libcap。WinPcap官网:。3、在数据包监听与分析方面,Java常用的类库有JPcap和JNetPcap等。由于JPcap已经好久不更新了,本实验使用JNetPcap,其抓包的过程可以概括为获取设备网卡列表、打开选中的网卡、设置过滤器、开始监听、数据包分析与展示这五个步骤。【实验内容】:1、使用WireShark进行抓包分析(1)打开Wireshark,选择要监控的网卡,右键后点击"startcapture"按钮开始抓包。然后,打开浏览器输入任意http网址,例如:,接着,回到Wireshark界面,点击左上角的停止按键。查看此时Wireshark的抓包信息。(2)在Wireshark的filter中输入过滤语句http.request.method==POST,即只抓取http协议中post请求的包。然后登录学校教务网站,就可以抓到表单提交的post请求包。分析包的结构,查找用户名和密码信息。2.分析、调试下面的代码,体会利用JNetPacp进行抓包和分析的过程JNetPcap抓包类:importorg.jnetpcap.packet.PcapPacket;importorg.jnetpcap.packet.PcapPacketHandler;importtocol.tcpip.Http;publicclassCustomPcapHandler<Object>implementsPcapPacketHandler<Object>{ @Override publicvoidnextPacket(PcapPacketpacket,Objectuser){ System.out.println(packet); }}importjava.io.PrintStream;importjava.util.ArrayList;importjava.util.List;importorg.jnetpcap.Pcap;importorg.jnetpcap.PcapIf;importexp_3.CustomPcapHandler;/***@Description:抓包工具类*@author:hutao*@mail:hutao_2017@*@date:2021年9月2日*/publicclassCaptureUtils{ /** *@Description:获取网络适配器,当返回List<PcapIf>为空时,说明未获取到网卡 *@author:hutao *@mail:hutao_2017@ *@date:2021年9月2日 */ publicstaticList<PcapIf>getPcapIf(){ StringBuildererrbuf=newStringBuilder(); //定义网卡列表 List<PcapIf>ifs=newArrayList<PcapIf>(); /*返回值是一个整数结果代码,就像在C计数器部分一样。 *ifs列表中填充了从C函数调用findAllDevs返回的相应C结构pcap_if链表中找到的所有网络设备。 */ intstatusCode=Pcap.findAllDevs(ifs,errbuf); if(statusCode!=Pcap.OK){ System.err.println("获取网卡失败:"+errbuf.toString()); } returnifs;} /** *@Description:开始捕获数据包 *@param *@author:hutao *@mail:hutao_2017@ *@date:2021年9月2日 */ publicstaticvoidcapturePcap(PcapIfdevice){ //截断此大小的数据包 intsnaplen=Pcap.DEFAULT_JPACKET_BUFFER_SIZE; intpromiscous=Pcap.MODE_PROMISCUOUS; //以毫秒为单位 inttimeout=60*1000; //如果发生错误,它将保存一个错误字符串。错误打开Live将返回null StringBuildererrbuf=newStringBuilder(); Pcappcap=Pcap.openLive(device.getName(),snaplen,promiscous,timeout,errbuf); if(pcap==null){ System.err.println("获取数据包失败:"+errbuf.toString()); } CustomPcapHandler<Object>handler=newCustomPcapHandler<Object>(); //捕获数据包计数 intcnt=1; //我们要发送到处理程序的自定义对象 PrintStreamout=System.out; while(true){ //每个数据包将被分派到抓包处理器Handler pcap.loop(cnt,handler,out); } //pcap.close(); }}importjava.util.List;importorg.jnetpcap.PcapIf;importexp_3.CaptureUtils;publicclassDemoTest{ publicstaticvoidmain(String[]args){ List<PcapIf>networkAdapter=CaptureUtils.getPcapIf(); CaptureUtils.capturePcap(networkAdapter.get(0)); }}【实验报告】:1.通过实验回答下列问题(1)Wireshark的界面包含哪些内容?教务网站的登录名和密码抓取后是否可见?答:Wireshark的界面包含以下内容:1.DisplayFilter(显示过滤器),用于过滤2.PacketListPane(封包列表),显示捕获到的封包,有源地址和目标地址,端口号。颜色不同,代表不同协议。PacketDetailsPane(封包详细信息),显示封包中的字段4.DissectorPane(16进制数据)5.Miscellanous(地址栏,杂项)如下图所示,拿亳州学院一同学账号,抓取登录亳州学院教务网站的登录名和密码。抓自己成功(这个是在自己主机上)抓取别人成功(在虚拟机下实现的,两台虚拟机一台安装WireShark,另外一台登录亳州学院教务网站)在此之前尝试过用主机找别人主机,自己主机找自己虚拟机都没成功记录一下过程:首先root安装:yum-yinstallwiresharkyum-yinstallwireshark-gnome安装完成可以在路径/usr/share/applications/WiresharkNetworkAnalyzer.desktop复制一份到桌面上生成快捷方式注意:一定要命令行启动:(一定有root权限才行):sudowireshark否则在ubuntu安装wireshare,在启动程序启动wireshark.点captrue->interface,出现:Therearenointerfacesonwhichacapturecanbedone.(2)贴图给出实验2的运行界面,说明程序流程。答:首先要找出并获取网络接口名称,以便我们可以告诉jnetpcap打开一个或多个以供读取。所以首先我们查询系统上的接口列表。定义一个处理器,需要实现PcapPacketHandler来处理我们的抓包逻辑。给定制定的网卡(网络适配器)进行抓包。2.问答题(1)什么是混杂模式?答:一般情况下,网卡往往只会接收目的地址是它的数据包而不会接收目的地址不是它的数据包。混杂模式就是接收所有经过网卡的数据包,包括不是发给本机的包。默认情况下,网卡只把发给本机的包(包括广播包)传递给上层程序,其他的包一律丢弃。混杂模式就是指网卡能接受所有通过它的数据流,无论是什么模式、什么地址的。当网卡处于这种“混杂”模式时,它对所有遇到的每一个数据帧

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论