计网实验报告抓取本地网卡的IP数据包.docx
- 文档编号:2978982
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:25
- 大小:724.46KB
计网实验报告抓取本地网卡的IP数据包.docx
《计网实验报告抓取本地网卡的IP数据包.docx》由会员分享,可在线阅读,更多相关《计网实验报告抓取本地网卡的IP数据包.docx(25页珍藏版)》请在冰豆网上搜索。
计网实验报告抓取本地网卡的IP数据包
计网大型实验报告
姓名汪敏倩课程计算机网络原理大型实验
201226100117学号计科班级1201
一、实验目的Route的工作原理及使用。
、Arp、、1.1任务一:
了解常用网络命令PingTracert/traceroute了解交换机的工作原理,掌握常用交换机的配置和应用以及静态路由的配1.2任务二:
置。
数据包的各个部分字段。
IP抓取本地网卡的数据包,并且分析IP1.3任务三:
二、实验软件命令解释程序2.1任务一:
cmd.exe模拟器2.2任务二:
Packet.Tracer语言编程器,javaWincap网络抓包器,jnetpcap开源包,eclipes2.3任务三:
三、实验步骤或实验原理任务一:
3.13.1.1◆实验原理:
1、Ping是Windows下的一个命令在Unix和Linux下也有这个命令。
ping也属于一个通信协议,是TCP/IP协议的一部分。
利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障。
它所利用的原理是这样的:
利用网络上机器IP地址的唯一性,给目标IP地址发送一个数据包,再要求对方返回一个同样大小的数据包来确定两台网络机器是否连接相通,时延是多少。
使用格式:
Ping空格IP地址。
该命令还可以加许多参数使用,具体是键入Ping按回车即可看到详细说明。
2、Tracert/traceroute的用处和PING是差不多的。
但是也有本质的区别。
用ping的时候是不会显示经过的路径的。
但是用tracerert的时候就可以显示经过的路由,并且显示它经过那个路由,花了多少时间,并且每个路由都会测试3次。
它可以让你知道,你的计算机离目的计算机在网络上的距离有多远,经过多久才能到达。
.
地址。
空格IP使用格式:
Tracert/traceroute。
主机发送协议IP地址获取物理地址的一个TCP/IP3、ARP即地址解析协议,是根据以此确并接收返回消息,地址的ARP请求广播到网络上的所有主机,信息时将包含目标IP缓存中并保留一定ARPIP地址和物理地址存入本机定目标的物理地址;收到返回消息后该缓存一节约资源。
地址解析协议是建立在网络中各个主机ARP时间,下次请求时直接查询ARP应答消息,其他主机接收到应答报互相信任的基础上的,网络上的主机可以自主发送文时不会检测该报文的真实性就会将其记入本机ARP缓存;
使用格式:
arp-a或arp–g:
用于查看缓存中的所有项目。
arp-aIp:
用于显示与该IP地址指向的接口相关的ARP缓存项目。
arp–sIp物理地址:
向ARP缓存中人工输入一个静态项目。
arp-dIp:
人工删除一个静态项目。
4、route:
主要用于手动配置静态路由。
routeprint--本命令用于显示路由表中的当前项目,由于用IP地址配置了网卡,因此所有的这些项目都是自动添加的。
routeadd--使用本命令,可以将新路由项目添加给路由表。
例如,如果要设定一个到目的网络209.98.32.33的路由,其间要经过5个路由器网段,首先要经过本地网络上的一个路由器,其IP为202.96.123.5,子网掩码为255.255.255.224,那么你应该输入以下命令:
routeadd209.98.32.33mask255.255.255.224202.96.123.5metric5
routechange--你可以使用本命令来修改数据的传输路由,不过,你不能使用本命令来改变数据的目的地。
下面这个例子可以将数据的路由改到另一个路由器,它采用一条包含3个网段的更直的路径:
routechange209.98.32.33mask255.255.255.224202.96.123.250metric3
routedelete使用本命令可以从路由表中删除路由。
例如:
routedelete--209.98.32.33
任务二:
3.2◆实验原理:
3.2.1、交换机的原理:
1局域网交换机拥有许多端口,每个端口有自己的专用带宽,并且可以连接不同的网段。
为了进一步提这就大大提高了信息吞吐量。
交换机各个端口之间的通信是同时的、并行的,高性能,每个端口还可以只连接一个设备。
交换机。
传统的交换机本质上是具有流量控制能力的多端口网桥,即传统的(二层)
这是交换机的新进展。
把路由技术引入交换机,可以完成网络层路由选择,故称为三层交换,它的各个的工作原理交换机和网桥一样,是工作在链路层的联网设备,交换机(二层交换)或一台高性能网站或服务器,能够通过LAN端口都具有桥接功能,每个端口可以连接一个自学习来了解每个端口的设备连接情况。
所有端口由专用处理器进行控制,并经过控制管理总线转发信息。
2、路由器的原理:
路由器是一种计算机网路设备,它能将数据包通过一个个网路传送至目的地,这个过程称为路由。
路由工作在OSI模型的第三层(即网路层,例如InternetProtocol(IP)层)。
路由器就是连接两个以上网路线路的设备。
由于位于两个或更多个网路的交汇处,从而可在它们之间传递分组(一种数据的组织形式)。
路由器与交换机(Switch)在概念上有一定重叠但也有不同:
交换机泛指工作于任何网路层次的数据中继设备(尽管多指网桥),而路由器则更专注于网路层。
3、虚拟局域网:
虚拟局域网(VLAN)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样,由此得名虚拟局域网。
4、静态路由:
静态路由是指由用户或网络管理员手工配置的路由信息。
当网络的拓扑结构或链路的状态发生变化时,网络管理员需要手工去修改路由表中相关的静态路由信息。
静态路由信息在缺省进行设置使路由器网管员也可以通过对当然,。
路由器不会传递给其他的情况下是私有的,
易静态路由一般适用于比较简单的网络环境,之成为共享的。
在这样的环境中,网络管理员,便于设置正确的路由信息。
于清楚地了解网络的拓扑结构
◆实验步骤:
3.2.21、安装Packet.Tracer软件。
2、放一个交换机,然后后面放4个主机。
3、分别给主机配置IP地址。
分别为:
172.16.17.1172.16.17.2172.16.17.3172.16.17.4
端口E0/1E0/2E0/3E0/4、按顺序接上交换机的4.
、这个时候你用PC0去pingPC1,PC2,PC3都是通的。
然后接下来我们把PC05和PC2放一个VLANPC1和PC3放一个VLAN
VLAN因为他们在一个PC23个主机。
只有是通的,它们在这个时候用6、PC0去PING
当中。
VLAN就是相当于在一个局域网中一样的。
7、放好两个路由器,两个主机,之间用交叉线连接,如图设置,172.16.17.0和172.16.17.64和172.16.17.128是3个网段
这里默认网关是指你连接到路由器端口的端,IP是主机172.16.17.129和172.16.17.1、8.
。
口IP
9、172.16.17.2和172.16.17.130是2个路由器端口IP。
连接2个主机。
配置图如下:
10、172.16.17.65和172.16.17.66是两个路由器连接端口的IP,配置如下:
11、全部配置好后,我们可以用PC0去pingPC1是不通的。
(你要先在路由器中把左右2个端口打开哦。
!
)
12、因为没有路由转发条件。
所以接下来就要配置2个路由器的静态路由。
左边路由器:
右边路由器:
不过要先IP。
+地址子网掩码+下一跳的端口其中在上面的配置其实就一句话,IProute+IPconfigterminal。
进入配置模式,需要输入
3.3任务三:
3.3.1◆实验原理:
Wincap:
Winpcap是一个Win32平台下用于抓包和分析的系统。
包括一个内核级别的packetfilter,一个底层的DLL(packet.dll)和一个高级的独立于系统的DLL(Wpcap.dll)。
Jnetpcap:
一个基于java的开源包,通过wincap来抓取网卡数据包。
XX上暂无简介,也没有中文教程,只有一个英文版的操作文档。
Java:
本人最熟悉的编程语言,简介,易懂强大。
但是java不支持网络抓包,所以需要位,所64位的,电脑是32的教程,但是它是jpcap,在网上也有好多关于jpcap加载一个
以用不了;只能用jnetpcap,通过调用wincap来抓取网卡的数据包。
抓取到的一个数据包是囊括好多字段(ip,udp,date等等下面会进行展示),然后截取数据包中的IP字段。
3.3.2◆实验步骤:
1、先安装wincap;
2、把下载好的jnetpcap中的jnetpcap.jar包拷贝到%JAVA_HOME%\jre\\lib\ext\目录下,然后把jnetpcap.dll拷贝到%JAVA_HOME%\jre\bin\目录下。
3、然后再eclipes中加载这个jar包。
右键项目工程-->propertities-->javabuildpath-->add
包就可以了。
jnetpcap.jar然后导入externalsJARS.
4、代码编写。
首先查找电脑中的网络设备,通过pcap.findAllDevs()来实现本机网络设备的筛选。
5、在筛选出的网络设备中选择一个网络设备进行抓包,通过alldevs.get(int)来实现。
:
Flags表示整个包的长度。
64*1024数据包长度,:
Snaplen开始抓包。
、打开选中的设备,6.
模式,把选中的网卡设置成混乱状态。
Timeout:
表示最大等待时间10S;通过pcap.openlive(name,snaplen,flags,timeout,errbuf)打开选中的设备开始抓包。
7、把抓取到的数据包进行处理,因为我们要抓取的是IP数据包,所以这里定义了IP4的协议。
通过nextPacket(packet,obj)对每个抓取到的包进行处理。
If(packet.hasHeader(ip))来判断抓取到的一个数据包中是否包含IP数据段,如果包括IP数据段,就把IP数据段截取出来存放到JBufferbuf中,然后输出。
如果数据包中没有IP数据段就直接放弃该包,检查下一个包。
8、那有的小伙伴要问了,不是要规定抓包数的吗。
在哪里呢?
是的,在jnetpcap中规定数int)来规定抓取包的数量。
其中name,print,int(pcap.loop据包抓取数目的在这里。
通过.
型的就是抓包数。
完整代码:
packagecom.demo;
importjava.util.ArrayList;
importjava.util.List;
importjava.util.Scanner;
importorg.jnetpcap.Pcap;
importorg.jnetpcap.PcapIf;
importorg.jnetpcap.nio.JBuffer;
importorg.jnetpcap.packet.PcapPacket;
importorg.jnetpcap.pack
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 报告 抓取 本地 网卡 IP 数据包