《计算机网络》课程实验报告Word文件下载.docx
《《计算机网络》课程实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《《计算机网络》课程实验报告Word文件下载.docx(47页珍藏版)》请在冰豆网上搜索。
2)“本地连接2”属性中打开“Internet协议”(TCP/IP)对话框按照示意图所示IP地址输入各机器IP地址等信息
1)使用“Windows+R”快捷键,打开“运行”,输入命令“cmd”,打开命令行状态,输入命令”ipconfig”查看本机的网络配置信息。
如下图:
2)输入命令”ipconfig”查看本机的网络配置信息。
3.利用ping命令测试网络连接、网络配置正确性
1)使用“Windows+R”快捷键,打开“运行”,输入命令“cmd”,打开命令行状态,输入命令”ping222.18.165.6”查看本机的网络配置信息。
2)输入命令”ping222.18.165.19”测试某该计算机与本机之间是否连通。
Ping命令失败,发送的数据包没有到达目的地,说明两个IP不在同一个网段。
3)输入命令”ping222.18.165.5”、”ping222.18.165.4”、”ping222.18.165.3”、”ping222.18.165.2”测试某该计算机与本机之间是否连通。
所有测试都没有成功,因为在该网段内没有其他主机(IP)在线。
4)输入命令”ping127.0.0.1”、”pinglocalhost”利用环回地址验证本次计算机上安装的TCP/IP协议以及配置是否正确。
Localhost是操作系统保留名,也是127.0.0.1的别名,每台计算机应该都能将该名字转换为地址。
5)输入命令”ping222.18.165.1”测试本地主机与默认网关是否连通。
根据测试结果,本地主机与默认网关连通。
4.利用arp命令检验MAC地址解析
该命令显示和修改“地址解析协议(ARP)”缓存中的项目。
ARP缓存中包含一个或多个表,它们用于存储IP地址及其经过解析的以太网或令牌环物理地址。
计算机上安装的每一个以太网或令牌环网络适配器都有自己单独的表。
如果在没有参数的情况下使用,则arp命令将显示帮助信息。
1)输入”arp-a”显示所有接口的ARP缓存表。
5.net命令
1)许多Windows7网络命令都以词net开头。
这些net命令有一些公用属性:
键入net/?
可以看到所有可用的net命令的列表。
2)键入nethelpcommand,可以在命令行获得net命令的语法帮助。
例如,关于netaccounts命令的帮助信息,可以请键入nethelpaccounts。
3)其他命令
6.netstat命令
该命令用于显示网络的整体使用情况,它可以显示当前计算机中正在活动的网络连接的详细信息,如采用的协议类型、当前主机于远端相连主机的IP地址以及它们的连接状态赛等。
1)输入”netstat-a”显示所有主机连接和监听的端口号。
2)输入”netstat-e”显示以太网统计一信息。
3)输入”netstat-n”以数字表格形式显示地址和端口。
4)输入”netstat-an”显示当前主机的网络连接状态,可以看到有哪些端口处于打开状态,有哪些远程主机连接到本机。
5)输入”netstat-s”显示每个协议的使用状态,这些协议主要有TCP、UDP、ICMP和IP等。
7.tracert命令
这个命令可以判断数据包到达目的主机所经过的路径,显示数据包经过的中继节点清单和到达时间。
五、实验总结
这是计算机网络的第一个实验,主要学习给本机分配IP地址和子网掩码以及一些常用DOS命令的使用。
就实验所涉及的几个命令而言,最常用的是利用ipconfig命令查看本机的网络配置信息和利用ping命令测试网络连接、网络配置正确性。
在日常生活中,我常用Ipconfig命令查看其他主机的ip地址,用以我的电脑连接到共享打印机。
用ping命令测试网络连接,常在电脑显示已连接网络但却无法上网的时候使用。
而其他的命令较少使用。
但针对arp命令对MAC地址进行解析,可以很方面的查看到ip对应的MAC地址,个人觉得比较适用。
实验二Wireshark的安装与使用
1、熟悉并掌握Wireshark的基本使用;
2、了解网络协议实体间进行交互以及报文交换的情况。
与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。
Wireshark的安装与使用
Wireshark是一种可以运行在Windows,UNIX,Linux等操作系统上的分组嗅探器,是一个开源免费软件。
运行Wireshark程序时,其图形用户界面下图所示。
最初,各窗口中并无数据显示。
Wireshark的界面主要有五个组成部分:
●命令菜单(commandmenus):
命令菜单位于窗口的最顶部,是标准的下拉式菜单。
●协议筛选框(displayfilterspecification):
在该处填写某种协议的名称,Wireshark据此对分组列表窗口中的分组进行过滤,只显示你需要的分组。
●捕获分组列表(listingofcapturedpackets):
按行显示已被捕获的分组内容,其中包括:
分组序号、捕获时间、源地址和目的地址、协议类型、协议信息说明。
单击某一列的列名,可以使分组列表按指定列排序。
其中,协议类型是发送或接收分组的最高层协议的类型。
●分组首部明细(detailsofselectedpacketheader):
显示捕获分组列表窗口中被选中分组的首部详细信息。
包括该分组的各个层次的首部信息,需要查看哪层信息,双击对应层次或单击该层最前面的“+”即可。
●分组内容窗口(packetcontent):
分别以十六进制(左)和ASCII码(右)两种格式显示被捕获帧的完整内容。
1.启动Web浏览器(如IE);
2.启动Wireshark,本次试验中使用的是Wireshark4.1.3版本;
开始分组捕获:
单击工具栏开始按钮,出现如图3所示对话框,[options]按钮可以进行系统参数设置,在绝大部分实验中,使用系统的默认设置即可。
当计算机具有多个网卡时,选择其中发送或接收分组的网络接口(本例中,第一块网卡为虚拟网卡,第二块为以太网卡)。
单击“Start”开始进行分组捕获;
3.在运行分组捕获的同时,在浏览器地址栏中输入
当完整的页面下载完成后,单击捕获对话框中的“stop”按钮,停止分组捕获。
此时,Wireshark主窗口显示已捕获的本次通信的所有协议报文;
4.在协议筛选框中输入“http”,单击“apply”按钮,分组列表窗口将只显示HTTP协议报文。
5.选择分组列表窗口中的第一条http报文,它是你的计算机发向服务器()的HTTPGET报文。
当你选择该报文后,以太网帧、IP数据报、TCP报文段、以及HTTP报文首部信息都将显示在分组首部子窗口中,其结果如下图
(1)列出在第5步中分组列表子窗口所显示的所有协议类型;
答:
如图所示,本次通信的协议类型有:
TCP协议,DHCP协议,HTTP协议,ARP协议,NBNS协议,ICMP协议,LLMNR协议,DHCP协议,UDP协议,DNS协议,SSDP协议。
从发出HTTPGET报文到接收到对应的HTTPOK响应报文共需要多长时间?
(分组列表窗口中Time列的值是从Wireshark开始追踪到分组被捕获的总的时间数,以秒为单位)
(2)答:
如图所示,响应时间为11.533413-11.481942=0.051471秒
(3)你主机的IP地址是什么?
你访问的服务器的IP地址是什么?
我主机的IP地址是10.130.153.10
我访问的服务器IP地址是210.41.224.132
Wireshark是一个网络封包分析软件。
网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。
Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
Wireshark作为计算机网络实验所用辅助软件,将在之后的实验中起巨大作用,帮助我们理解各种协议的执行机制,更深刻的理解所学内容。
实验三使用Wireshark分析以太网帧、ARP协议、IP协议、TCP协议、HTTP协议
1、分析以太网帧,MAC地址和ARP协议。
2、分析IP协议
3、分析IP数据报分片
4、分析TCP协议
5、分析HTTP协议
(一)分析以太网帧,MAC地址和ARP协议
IP地址用于标识因特网上每台主机,而端口号则用于区别在同一台主机上运行的不同网络应用程序。
在链路层,有介质访问控制(MediaAccessControl,MAC)地址。
在局域网中,每个网络设备必须有唯一的MAC地址。
设备监听共享通信介质以获取目标MAC地址与自己相匹配的分组。
Wireshark能把MAC地址的组织标识转化为代表生产商的字符串。
址ff:
ff:
ff是一个特殊的MAC地址,意味着数据应该广播到局域网的所有设备。
在因特网上,IP地址用于主机间通信,无论它们是否属于同一局域网。
同一局域网间主机间数据传输前,发送方首先要把目的IP地址转换成对应的MAC地址。
这通过地址解析协议ARP实现。
每台主机以ARP高速缓存形式维护一张已知IP分组就放在链路层帧的数据部分,而帧的目的地址将被设置为ARP高速缓存中找到的MAC地址。
如果没有发现IP地址的转换项,那么本机将广播一个报文,要求具有此IP地址的主机用它的MAC地址作出响应。
具有该IP地址的主机直接应答请求方,并且把新的映射项填入ARP高速缓存。
发送分组到本地网外的主机,需要跨越称为网关或路由器的中间机器连接。
网关有多个网络接口卡,用它们同时连接多个本地网。
最初的发送者或源主机直接通过本地网发送数据到本地网关,网关转发数据报到其它网关,直到最后到达目的主机所在的本地网的网关。
1、俘获和分析以太网帧
(1)选择工具->
Internet选项->
删除文件
(2)启动Wireshark分组嗅探器
(3)在浏览器地址栏中输入如下网址并回车:
(4)停止分组俘获。
在俘获分组列表中(listingofcapturedpackets)中找到HTTPGET信息和响应信息,如下图所示。
HTTPGET信息被封装在TCP分组中,TCP分组又被封装在IP数据报中,IP数据报又被封装在以太网帧中)。
在分组明细窗口中展开EthernetII信息(packetdetailswindow)。
回答下面的问题:
1、你所在的主机48-bitEthernet地址是多少?
Address:
Dell_e3:
81:
ee(18:
03:
73:
e3:
ee)
2、Ethernet帧中目的地址是多少?
这个目的地址是的Ethernet地址吗?
Hangzhou_8d:
87:
f1(00:
23:
89:
8d:
f1)
是。
存在这个目的地址向本地主机的数据传输。
2、分析ARP协议
(1)ARPCaching
ARP协议用于将目的IP转换为对应的MAC地址。
Arp命令用来观察和操作缓存中的内容。
虽然arp命令和ARP有一样的名字,很容易混淆,但它们的作用是不同的。
在命令提示符下输入arp可以看到在你所在电脑中ARP缓存中的内容。
为了观察到你所在电脑发送和接收ARP信息,我们需要清除ARP缓存,否则你所在主机很容易找到已知IP和匹配的MAC地址。
步骤如下:
(1)清除ARPcache,具体做法:
在MSDOS环境下,输入命令arp–d*command,The–d表示清除操作,*删除alltableentries.
(2)选择工具->
(3)启动Wireshark分组俘获器
(4)在浏览器地址栏中输入如下网址:
xrld
(5)停止分组俘获。
(6)选择Analyze->
EnabledProtocols->
取消IP选项->
选择OK。
(二)分析IP协议及IP数据报分片
IP协议是因特网上的中枢。
它定义了独立的网络之间以什么样的方式协同工作从而形成一个全球户联网。
因特网内的每台主机都有IP地址。
数据被称作数据报的分组形式从一台主机发送到另一台。
每个数据报标有源IP地址和目的IP地址,然后被发送到网络中。
如果源主机和目的主机不在同一个网络中,那么一个被称为路由器的中间机器将接收被传送的数据报,并且将其发送到距离目的端最近的下一个路由器。
这个过程就是分组交换。
IP允许数据报从源端途经不同的网络到达目的端。
每个网络有它自己的规则和协定。
IP能够使数据报适应于其途径的每个网络。
例如,每个网络规定的最大传输单元各有不同。
IP允许将数据报分片并在目的端重组来满足不同网络的规定。
表1.1DHCP报文
报文类型
主要功能
DHCP-DISCOVER
DHCP客户端广播发送的,用来查找网络中可用的DHCP服务器
DHCP-OFFER
DHCP服务器用来响应客户端的DHCP-DISCOVER请求,并为客户端指定相应配置参数
DHCP-REQUEST
DHCP客户端广播发送DHCP服务器,用来请求配置参数或者续借租用
DHCP-ACK
DHCP服务器通知客户端可以使用分配的IP地址和配置参数
DHCP-NAK
DHCP服务器通知客户端地址请求不正确或者租期已过期,续租失败
DHCP-RELEASE
DHCP客户端主动向DHCP服务器发送,告知服务器该客户端不再需要分配的IP地址
DHCP-DECLINE
DHCP客户端发现地址冲突或者由于其它原因导致地址不能使用,则发送DHCP-DECLINE报文,通知服务器所分配的IP地址不可用
DHCP-INFORM
DHCP客户端已有IP地址,用它来向服务器请求其它配置参数
图3.1DHCP报文
1、使用DHCP获取IP地址
(1)打开命令窗口,启动Wireshark。
(2)输入“ipconfig/release”。
这条命令会释放主机目前的IP地址,此时,主机IP地址会变为0.0.0.0
(3)然后输入“ipconfig/renew”命令。
这条命令让主机获得一个网络配置,包括新的IP地址。
(4)等待,直到“ipconfig/renew”终止。
然后再次输入“ipconfig/renew”命令。
(5)当第二个命令“ipconfig/renew”终止时,输入命令“ipconfig/release”释放原来的已经分配的IP地址
(6)停止分组俘获。
如下图所示:
下面,我们对此分组进行分析:
IPconfig命令被用于显示机器的IP地址及修改IP地址的配置。
当输入命ipconfig/release命令时,用来释放机器的当前IP地址。
释放之后,该机没有有效的IP地址并在分组301中使用地址0.0.0.0作为源地址。
分组301是一个DHCPDiscover(发现)报文。
当一台没有IP地址的计算机申请IP地址时将发送该报文。
DHCPDiscovery报文被发送给特殊的广播地址:
255.255.255.255,该地址将到达某个限定广播范围内所有在线的主机。
理论上,255.255.255.255能够广播到整个因特网上,但实际上并不能实现,因为路由器为了阻止大量的请求淹没因特网,不会将这样的广播发送到本地网之外。
在DHCPDiscover报文中,客户端包括自身的信息。
特别是,它提供了自己的主机名和其以太网接口的物理地址。
这些信息都被DHCP用来标识一个已知的客户端。
DHCP服务器可以使用这些信息实现一系列的策略,比如,分配与上次相同的IP地址,分配一个上次不同的IP地址,或要求客户端注册其物理层地址来获取IP地址。
在DHCPDiscover报文中,客户端还详细列出了它希望从DHCP服务器接收到的信息。
在ParameterRequestList中包含了除客户端希望得到的本地网络的IP地址之外的其他数据项。
这些数据项中许多都是一台即将连入因特网的计算机所需要的数据。
例如,客户端必须知道的本地路由器的标识。
任何目的地址不在本地网的数据报都将发送到这台路由器上。
也就是说,这是发向外网的数据报在通向目的端的路径上遇到的第一台中间路由器。
客户端必须知道自己的子网掩码。
子网掩码是一个32位的数,用来与IP地址进行“按位逻辑与运算”从而得出网络地址。
所有可以直接通信而不需要路由器参与的机器都有相同的网络地址。
因此,子网掩码用来决定数据报是发送到本地路由器还是直接发送到本地目的主机。
图ParameterRequestList
客户端还必须知道它们的域名和它们在本地域名服务器上的标识。
域名是一个可读的网络名。
IP地址为192.168.1.1的DHCP服务器回复了一个DHCPOFFER报文。
该报文也广播到255.255.255.255,因为尽管客户端还不知道自己的IP地址,但它将接收到发送到广播地址的报文。
这个报文中包含了客户端请求的信息,包括IP地址、本地路由器、子网掩码、域名和本地域名服务器。
在分组1347中,客户端通过发送DHCPRequest(请求)报文表明自己接收到的IP地址。
最后,在分组1350中DHCP服务器确认请求的地址并结束对话。
此后,客户端开始使用它的新的IP地址作为源地址。
通过DHCP分配的IP地址有特定的租用时间。
为了保持对某个IP的租用,客户端必须更新租用期。
当输入第二个命令ipconfig/renew后,在分组中就会看到更新租用期的过程。
DHCPRequest请求更新租用期。
DHCPACK包括租用期的长度。
如果在租用期到期之前没有DHCPRequest发送,DHCP服务器有权将该IP地址重新分配给其他主机。
最后,在输入命令ipconfig/release后的结果。
在DHCP服务器接收到这个报文后,客户停止对该IP的使用。
如有需要DHCP服务器有权重新对IP地址进行分配。
2、分析IPv4中的分片
在第二个实验中,我们将考察IP数据报首部。
俘获此分组的步骤如下:
(1)启动Wireshark,开始分组俘获(“Capture”-----“interface…”----“start”)。
(2)启动pingplotter(pingplotter的下载地址为),在“Addresstotrace:
”下面的输入框里输入目的地址,选择菜单栏“Edit”---“Options”---“DefaultSettings”---“Engine”,在“Packetsize(inbytesdefaults=56):
”右边输入IP数据报大小:
5000,按下“OK”。
最后按下按钮“Trace”,你将会看到pingplotter窗口显示如下内容,下图所示:
图pingplotter
(3)停止Wireshark。
设置过滤方式为:
IP,在Wireshark窗口中将会看到如下情形。
在分组俘获中,你应该可以看到一系列你自己电脑发送的“ICMPEchoRequest”和由中间路由器返回到你电脑的“ICMPTTL-exceededmessages。
下面,我们来分析具体分组:
IP层位于传输层和链路层之间。
在传输层协议是UDP,链路层协议是以太网。
发送两个UDP数据报,每个包含5000个字节的数据部分和8字节的UDP首部。
在分组213-215和分组220-222分别代表了先后发送的两个UDP数据报。
当IP层接收到5008字节的UDP数据报时,它的工作是将其作为IP数据报在以太网传输。
以太网要求一次传输的长度不大于1514个字节,其中有14字节是以太网帧首部。
IP被迫将UDP数据报作为多个分片发送。
每个分片必须包含以太网帧首部、IP数据报首部。
每个分片还会包含UDP数据报的有效负载(首部和数据)的一部分。
IP将原始数据报的前1480个字节(含1472个字节的数据和含8个字节的UDP首部)放在第一个分片中。
后面两个分片每个均含1480个字节的数据,最后一个分片中包含的数据为568个字节)。
为了让接收段重组原始数据,IP使用首部的特殊字段对分片进行了编号。
标识字段用于将所有的分片连接在一起。
分组213-215含有相同的标识号0xfd2b,分组220-222的标识号是0xfd2c.片漂移量指明了分组中数据的第一个字节在UDP数据报中的偏移量。
例如分组213和分组220的偏移量都是0,因为它们都是第一个分片。
最后在标识字段中有一位用来指明这个分片后是否还有分片。
分组213到分组214和分组220到分组221均对该位置进行了置位。
分组215和分组222由于是最后一个分片而没有对该位置位。
(三)分析IP数据报分片
1.Wireshark与OSI七层协议的对应关系
2.TCP帧结构在Wireshark中的表示
3.TCP的三次握手过程
4.TCP重传
主机报文重传是TCP最基本的错误恢复功能,它的目的是防止报文丢失。
报文丢失的可能因素有很多种,包括应用故障,路由设备过载,或暂时的服务宕机。
报文级别速度是很高的,而通常报文丢失是暂时的,因此TCP能够发现和恢复报文丢失显得尤为重要。
决定报文是否有必要重传的主要机制是重传计时器(retransmissiontimer),它的主要功能是维护重传超时(RTO)值。