




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计网大型实验报告课程 计算机网络原理大型实验 姓名 汪敏倩 班级 计科1201 学号 7 一、实验目的1.1任务一:了解常用网络命令Ping、Tracert/traceroute、Arp、Route的工作原理及使用。1.2任务二:了解交换机的工作原理,掌握常用交换机的配置和应用以及静态路由的配置。1.3任务三:抓取本地网卡的IP数据包,并且分析IP数据包的各个部分字段。二、实验软件2.1任务一:cmd.exe命令解释程序2.2任务二:Packet.Tracer模拟器2.3任务三:Wincap网络抓包器,jnetpcap开源包,eclipes编程器,java语言三、实验步骤或实验原理3.1任务一:3.1.1实验原理:1、Ping是Windows下的一个命令在Unix和Linux下也有这个命令。ping也属于一个通信协议,是TCP/IP协议的一部分。利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障。它所利用的原理是这样的:利用网络上机器IP地址的唯一性,给目标IP地址发送一个数据包,再要求对方返回一个同样大小的数据包来确定两台网络机器是否连接相通,时延是多少。使用格式:Ping空格IP地址。该命令还可以加许多参数使用,具体是键入Ping按回车即可看到详细说明。2、Tracert/traceroute 的用处和PING是差不多的。但是也有本质的区别。用ping的时候是不会显示经过的路径的。但是用tracerert的时候就可以显示经过的路由,并且显示它经过那个路由,花了多少时间,并且每个路由都会测试3次。它可以让你知道,你的计算机离目的计算机在网络上的距离有多远,经过多久才能到达。使用格式:Tracert/traceroute空格 IP地址。3、ARP即地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存一节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机接收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;使用格式:arp -a或arp g:用于查看缓存中的所有项目。arp -a Ip:用于显示与该IP地址指向的接口相关的ARP缓存项目。arp s Ip 物理地址:向ARP缓存中人工输入一个静态项目。arp-d Ip:人工删除一个静态项目。4、route:主要用于手动配置静态路由。route print-本命令用于显示路由表中的当前项目,由于用IP地址配置了网卡,因此所有的这些项目都是自动添加的。route add-使用本命令,可以将新路由项目添加给路由表。例如,如果要设定一个到目的网络3的路由,其间要经过5个路由器网段,首先要经过本地网络上的一个路由器,其IP为,子网掩码为24,那么你应该输入以下命令:route add 3 mask 24 metric 5route change-你可以使用本命令来修改数据的传输路由,不过,你不能使用本命令来改变数据的目的地。下面这个例子可以将数据的路由改到另一个路由器,它采用一条包含3个网段的更直的路径:route change 3 mask 24 50 metric 3route delete-使用本命令可以从路由表中删除路由。例如:route delete 33.2任务二:3.2.1实验原理:1、交换机的原理:局域网交换机拥有许多端口,每个端口有自己的专用带宽,并且可以连接不同的网段。交换机各个端口之间的通信是同时的、并行的,这就大大提高了信息吞吐量。为了进一步提高性能,每个端口还可以只连接一个设备。传统的交换机本质上是具有流量控制能力的多端口网桥,即传统的(二层) 交换机。把路由技术引入交换机,可以完成网络层路由选择,故称为三层交换,这是交换机的新进展。交换机(二层交换)的工作原理交换机和网桥一样,是工作在链路层的联网设备,它的各个端口都具有桥接功能,每个端口可以连接一个LAN或一台高性能网站或服务器,能够通过自学习来了解每个端口的设备连接情况。所有端口由专用处理器进行控制,并经过控制管理总线转发信息。 2、路由器的原理:路由器是一种计算机网路设备,它能将数据包通过一个个网路传送至目的地,这个过程称为路由。路由工作在OSI模型的第三层(即网路层,例如Internet Protocol(IP)层)。路由器就是连接两个以上网路线路的设备。 由于位于两个或更多个网路的交汇处,从而可在它们之间传递分组(一种数据的组织形式)。路由器与交换机(Switch)在概念上有一定重叠但也有不同:交换机泛指工作于任何网路层次的数据中继设备(尽管多指网桥),而路由器则更专注于网路层。3、虚拟局域网:虚拟局域网(VLAN)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样,由此得名虚拟局域网。4、静态路由:静态路由是指由用户或网络管理员手工配置的路由信息。当网络的拓扑结构或链路的状态发生变化时,网络管理员需要手工去修改路由表中相关的静态路由信息。静态路由信息在缺省情况下是私有的,不会传递给其他的路由器。当然,网管员也可以通过对路由器进行设置使之成为共享的。静态路由一般适用于比较简单的网络环境,在这样的环境中,网络管理员易于清楚地了解网络的拓扑结构,便于设置正确的路由信息。3.2.2实验步骤:1、安装Packet.Tracer软件。2、放一个交换机,然后后面放4个主机。3、分别给主机配置IP地址。分别为: 4、按顺序接上交换机的E0/1 E0/2 E0/3 E0/4端口5、这个时候你用PC0去pingPC1,PC2,PC3都是通的。然后接下来我们把PC0和PC2放一个VLAN PC1和PC3放一个VLAN6、在这个时候用PC0去PING 它们3个主机。只有PC2是通的,因为他们在一个VLAN当中。VLAN就是相当于在一个局域网中一样的。7、放好两个路由器,两个主机,之间用交叉线连接,如图设置, 和4和28是3个网段8、和29是主机IP,这里默认网关是指你连接到路由器端口的端口IP。9、和30是2个路由器端口IP。连接2个主机。配置图如下:10、5和6是两个路由器连接端口的IP,配置如下:11、全部配置好后,我们可以用PC0去pingPC1是不通的。(你要先在路由器中把左右2个端口打开哦。!)12、因为没有路由转发条件。所以接下来就要配置2个路由器的静态路由。左边路由器:右边路由器:其中在上面的配置 其实就一句话,IP route +IP地址+子网掩码+下一跳的端口IP。不过要先进入配置模式,需要输入 config terminal。3.3任务三:3.3.1实验原理:Wincap:Winpcap是一个Win32平台下用于抓包和分析的系统。包括一个内核级别的packet filter,一个底层的DLL(packet.dll)和一个高级的独立于系统的DLL(Wpcap.dll)。Jnetpcap:一个基于java的开源包,通过wincap来抓取网卡数据包。百度上暂无简介,也没有中文教程,只有一个英文版的操作文档。Java:本人最熟悉的编程语言,简介,易懂强大。但是java不支持网络抓包,所以需要加载一个jpcap,在网上也有好多关于jpcap的教程,但是它是32位的,电脑是64位,所以用不了;只能用jnetpcap,通过调用wincap来抓取网卡的数据包。抓取到的一个数据包是囊括好多字段(ip,udp,date等等下面会进行展示),然后截取数据包中的IP字段。3.3.2实验步骤:1、 先安装wincap;2、 把下载好的jnetpcap中的jnetpcap.jar包拷贝到%JAVA_HOME%jrelibext目录下,然后把jnetpcap.dll拷贝到%JAVA_HOME%jrebin目录下。3、 然后再eclipes中加载这个jar包。右键项目工程-propertities-java build path-add externals JARS然后导入jnetpcap.jar包就可以了。4、 代码编写。首先查找电脑中的网络设备,通过pcap.findAllDevs()来实现本机网络设备的筛选。5、 在筛选出的网络设备中选择一个网络设备进行抓包,通过alldevs.get(int)来实现。6、 打开选中的设备,开始抓包。Snaplen:数据包长度,64*1024表示整个包的长度。Flags:模式,把选中的网卡设置成混乱状态。Timeout:表示最大等待时间10S;通过pcap.openlive(name,snaplen,flags,timeout,errbuf)打开选中的设备开始抓包。7、 把抓取到的数据包进行处理,因为我们要抓取的是IP数据包,所以这里定义了IP4的协议。通过nextPacket(packet,obj)对每个抓取到的包进行处理。If(packet.hasHeader(ip)来判断抓取到的一个数据包中是否包含IP数据段,如果包括IP数据段,就把IP数据段截取出来存放到JBuffer buf中,然后输出。如果数据包中没有IP数据段就直接放弃该包,检查下一个包。8、 那有的小伙伴要问了,不是要规定抓包数的吗。在哪里呢?是的,在jnetpcap中规定数据包抓取数目的在这里。通过pcap.loop(int,print,name)来规定抓取包的数量。其中int型的就是抓包数。完整代码:package com.demo;import java.util.ArrayList;import java.util.List;import java.util.Scanner;import org.jnetpcap.Pcap;import org.jnetpcap.PcapIf;import org.jnetpcap.nio.JBuffer;import org.jnetpcap.packet.PcapPacket;import org.jnetpcap.packet.PcapPacketHandler;import work.Ip4;SuppressWarnings(deprecation)public class findIp1 static int sb=0;/设备号static int num=0;/抓包数 public static void main(String args) List alldevs = new ArrayList();/设备存放 StringBuilder errbuf = new StringBuilder(); /错误存放 /* * 取得设备列表 */ int r = Pcap.findAllDevs(alldevs, errbuf); if (r = Pcap.NOT_OK | alldevs.isEmpty() System.err.printf(找不到设备,请重试 %s, errbuf .toString(); return; System.out.println(找到的网络设备如下:); int i = 0; for (PcapIf device : alldevs) System.out.printf(#%d: %s %sn, i+, device.getName(), device .getDescription(); System.out.println(请输入2个数字,第一个是设备选择,第二个是抓包数:); Scanner scan=new Scanner(System.in); sb=scan.nextInt(); num=scan.nextInt(); scan.close(); PcapIf device = alldevs.get(sb); / 选择一个设备 Sytem.err.printf(n从改设备上 %s 抓取到:n, device .getDescription();* 打开选中的设备 */ int snaplen = 64 * 1024; / 捕获整个包 int flags = Pcap.MODE_PROMISCUOUS; /设置为混乱状态 int timeout = 10 * 1000; /最大超时数 Pcap pcap = Pcap .openLive(device.getName(), snaplen, flags, timeout, errbuf); if (pcap = null) System.err.printf(打开设备是产生错误: + errbuf.toString(); return; PcapPacketHandler print = new PcapPacketHandler() Ip4 ip=new Ip4(); int i=0; public void nextPacket(PcapPacket packet, Object obj) i+; /System.out.println(packet); /if( packet.hasHeader(TC.ID) if(packet.hasHeader(ip) / System.out.print(packet); JBuffer buf=ip; System.out.println(第+i+个:); System.out.println(buf); System.out.println(); else System.out.println(第+i+个+抓取的数据包中不包含IP段,舍弃。); System.out.println(); /* String str=packet.toString(); int index = str.indexOf(time to live); int index1 = str.indexOf(Udp); if(index!=-1&index1!=-1) String str1=str.substring(str.indexOf(Ip),str.indexOf(Udp); System.out.print(str1); else System.out.println(!在抓获的改包中没有IP数据); System.out.println(正在重新抓取。); */ /System.out.println(packet); /System.out.print(packet); / ; pcap.loop(num, print, wmq); pcap.close(); 4、 实验结果及分析4.1任务一:Ping命令使用结果截图:Tracert命令使用结果截图:ARP地址解析协议使用结果截图:Route命令使用结果截图:4.2任务二:首先交换机连接了4台主机,设置好IP以后,我们不管用哪一台主机去ping另一台主机都是通的:在通过交换机配置了vlan以后,把PC0和PC2放在一个局域网,PC1和PC3放在一个局域网,现在只有同在一个局域网内的主机之间是可以互相连通的,比如用PC0去ping其他三台主机,只有PC2是可以ping通的:对于路由器的设置,在配置好各个端口和主机的IP地址以后,用一个网段的主机去ping另一个网段的主机是ping不通的:通过route命令配置了路由表以后,连接这个网段的路由器就知道它要到达的目的网段的下一跳端口的IP地址,通过查找静态路由表就可以找到:4.3任务三:输入2个数字,一个是设备选择,另外一个是抓包数。第一个包:第二个包:第三个包:第四个包:第五个包:可以看到每个包都是不一样的IP数据包,但是其中的数据可以看得很清楚。在这里我要展示一下抓取到的完整的包时怎么样的,只需要在代码中解封掉一句代码的注释就可以了。其中还包含其他的数据,还有Data数据段的数据。五、实验总结及体会在实验编写的过程中遇到了很多问题,只有慢慢的把这些问题都解决之后才能完成这
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年现代农业技术师职业资格考试试卷及答案
- 2025年企业法务管理师考试试题及答案汇编
- 2025年经济法课程考试试题及答案
- 2025年计算机软件考试试题及答案
- 2025年大学生综合素质测评试卷及答案
- 2025年护理专业资格考试卷及答案
- 2025年初级会计职称试卷及答案解析
- 2025年宗教学及哲学基础考试试卷及答案
- 医疗废物安全处置与环保责任承诺书
- 机场建筑弱电系统施工与运营维护管理协议
- 药企与医疗机构合作协议书范文
- 高空作业安全技术交底范本模板
- 道路旅客运输企业双重预防机制建设指导手册
- 数据库安全技术贺桂英测验题答案
- 保育员职业道德与素养
- 免税龙头中国中免发展机会深度解析
- 2024年北京市中考物理试题(含答案及解析)
- 婴幼儿神经系统的特点与保健(婴幼儿卫生保健课件)
- 2024年甘肃省天水市中考生物·地理试题卷(含答案)
- (高清版)JTG 5142-2019 公路沥青路面养护技术规范
- 2024-2030年中国智能驾驶域控制器行业市场现状调查及投资前景研判报告
评论
0/150
提交评论