《计算机网络实验教程》——验证性实验

一、简介

实验教程原网页来自棋歌教学网

本计算机网络实验教程由验证性、Wireshark 和 Cisco Packet Tracer 实验等三个部分组成,可供信息学院各专业及校内其它专业使用

建议:
验证性实验和 Wireshark 实验建议全部掌握,Cisco Packet Tracer 实验可根据情况选择完成

特点:

  • 覆盖面广
  • 难易组合
  • 实用性强

What you’ll learn:
常用计算机网络命令
使用 Wireshark 进行协议分析
使用 Cisco Packet Tracer 进行网络模拟

What you’ll need:
本教程的实验在 Windows 平台下进行,但你也可在 Linux 或其它平台下进行这些实验。

Windows 平台需要安装的软件如下:

Windows 自带的命令行窗口程序或者comder、windows terminal等命令行窗口
抓包和协议分析软件 wireshark
Cisco Packet Tracer(CPT)
最新版的浏览器谷歌或火狐

二、验证性实验

ipconfig

ipconfig 是微软操作系统的计算机上用来控制网络连接的一个命令行工具。它的主要用来显示当前网络连接的配置信息(/all 参数)。

实作一
使用 ipconfig/all 查看自己计算机的网络配置,尽可能明白每行的意思,特别注意 IP 地址、子网掩码 Subnet Mask、网关 Gateway

在这里插入图片描述
实作2
使用 ipconfig /all 查看旁边计算机的网络配置,看看有什么异同。
说明:由于我做此次实验时身边并没有其他计算机,所以我想的办法是,用桥接模式给虚拟机联网,然后在虚拟机的Linux系统下查看(命令为ifconfig)
在这里插入图片描述
查看结果之后,得知不同之处是:
IPv4 地址不一样,但只是最后一位不一样。
物理地址不同;
本地连接 IPv6 地址不同。

相同之处是:
子网掩码

问题? 你的计算机和旁边的计算机是否处于同一子网,为什么?

答:是,将IP地址和子网掩码最后一位进行与操作,得到的结果相同,是同一子网。

ping

PING (Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序 。ping 是工作在 TCP/IP 网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送 ICMP(Internet Control Message Protocol 因特网报文控制协议)Echo 请求报文,测试目的站是否可达及了解其有关状态。

实作1
要测试到某计算机如 重庆交通大学 Web 服务器的连通性,可以使用 ping www.cqjtu.edu.cn 命令,也可直接使用 IP 地址。

请掌握使用该命令后屏幕显示的反馈回来信息的意思,如:TTL、时间等。
在这里插入图片描述
可以看到ping交通大学服务器是失败了
在这里插入图片描述
但是Ping百度成功了。
所以推测不是我的网络连接的问题,而是学校服务器关闭或者禁止ping等的操作。
ping 百度收到四个回复,都是 32 个字节长度的数据,与对方主机往返一次花费了 32ms ,TTL为54,因为TTL设为128,所以还可得知经过了 74 个路由器。

实作二

使用 ping/? 命令了解该命令的各种选项并实际使用。
在这里插入图片描述

troubleShooting—— 假设你不能 ping 通某计算机或IP,但你确定该计算机和你之间的网络是连通的,那么可能的原因是什么?该如何处理能保证 ping 通?

答:猜测是对方服务器的问题,要么没开启,要么采用某种手段禁止Ping。可以与对方沟通保证我能Ping通对方。

秘籍
当你的网络出现故障不能访问某计算机如 14.215.177.39 (百度的 IP 地址之一 ) 时,我们一般可采用由近及远的连通性测试来确定问题所在。现假设你的 IP 是 192.168.1.89,你旁边计算机的 IP 是 192.168.1.64,网关的 IP 是 192.168.1.1 ,那么过程如下:
ping 127.0.0.1 ,测试自己计算机的状态,如果 OK,那么说明本机网络软件硬件工作正常,否则,问题在本机,检查本机 TCP/IP 配置即网卡状态等
ping 192.168.1.64 ,测试到旁边计算机的连通性,如果OK,那么说明本子网内部工作正常,否则,问题在本机网络出口到交换机之间,检查本机网卡到交换机的连线等
ping 192.168.1.1,测试到网关的连通性,如果 OK,那么说明本子网出口工作正常,否则,问题在网关,这是你无能为力的事情,报告给网管
ping 14.215.177.39,测试到百度的连通性,如果 OK,那就 OK,否则,问题在网关以外,这也是你无能为力的事情,报告给网管或者李彦宏?

由于ping不通学校的服务器,所以我按照秘籍进行了排查,确定不是我这边的问题了。

TroubleShooting—— 假设在秘籍中进行的网络排查中,ping 百度的 IP 即 ping 14.215.177.39没问题,但 ping 百度的域名即 ping www.baidu.com 不行,那么可能的原因是什么?如何进行验证和解决? 另外,经常有同学问到的:“能上 QQ,但不能上网” 跟这个问题的原因是相似的。

答:可能的原因是 DNS发生故障导致解析失败
验证:百度搜索当地 DNS 服务器地址,对比当前 DNS服务器设置是否正确;
解决:1、可临时设置 DNS 服务器地址为 8.8.8.8 2、打电话咨询当地的通信运营商或者电信部门

课外浏览
ping 这个程序曾经是有 bug 的,比如使对方缓冲区溢出导致死机,或死 ping 对方以达到耗费对方主机的系统和网络资源等,请查阅相关资料了解。

tracert

TRACERT (Trace Route 的组合缩写),也称为路由追踪,该命令行程序可用于跟踪 Internet 协议 (IP) 数据包传送到目标地址时经过的路径。
实作1
要了解到某计算机如 www.baidu.com 中间经过了哪些节点(路由器)及其它状态,可使用 tracert www.baidu.com 命令,查看反馈的信息,了解节点的个数。

可通过网站 http://ip.cn 查看这些节点位于何处,是哪个公司的,大致清楚本机到百度服务器之间的路径。
在这里插入图片描述
查询如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
实作2
ping.pe 这个网站可以探测从全球主要的 ISP 到某站点如 https://qige.io 的线路状态,当然也包括各线路到该主机的路由情况。请使用浏览器访问 http://ping.pe/qige.io 进行了解。
在这里插入图片描述

✎ 问题一
tracert 能告诉我们路径上的节点以及大致的延迟等信息,那么它背后的原理是什么?本问题可结合第二部分的 Wireshark 实验进行验证。

答:原理是设置 TTL 为 1.2.3…n ,路由器会将死掉的包的信息返回给主机,从而实现显示路径各个结点。

✎ 问题二
在以上两个实作中,如果你留意路径中的节点,你会发现无论是访问百度还是棋歌教学网,路径中的第一跳都是相同的,甚至你应该发现似乎前几个节点都是相同的,你的解释是什么?

答:在多个网关的情况下,才会出现前几个结点都是相同的,而主机的数据必须先送到网关。

✎ 问题三
在追踪过程中,你可能会看到路径中某些节点显示为 * 号,这是发生了什么?

答:出现 * 号的节点是没有回应的,可能是因为处于安全进行保密也可能就是网络问题。

ARP

ARP(Address Resolution Protocol)即地址解析协议,是用于根据给定网络层地址即 IP 地址,查找并得到其对应的数据链路层地址即 MAC地址的协议。 ARP 协议定义在 1982 年的 RFC 826。

实作一

运行 arp -a 命令查看当前的 arp 缓存, 请留意缓存了些什么。

然后 ping 一下你旁边的计算机 IP(注意,需保证该计算机的 IP 没有出现在 arp 缓存中,或者使用 arp -d * 先删除全部缓存),再次查看缓存,你会发现一些改变,请作出解释。
在这里插入图片描述
删除缓存(这一步需要管理员权限,以管理员身份运行wt)
在这里插入图片描述
Ping旁边的电脑(linux)
在这里插入图片描述
再次查看
在这里插入图片描述

实作二
请使用 arp /? 命令了解该命令的各种选项。
在这里插入图片描述

实作三
一般而言,arp 缓存里常常会有网关的缓存,并且是动态类型的。

假设当前网关的 IP 地址是 192.168.0.1,MAC 地址是 5c-d9-98-f1-89-64,请使用 arp -s 192.168.0.1 5c-d9-98-f1-89-64 命令设置其为静态类型的。

TroubleShooting
你可能会在实作三的操作中得到 “ARP 项添加失败: 请求的操作需要提升” 这样的信息,表示命令没能执行成功,你该如何解决?

首先确保自己的命令行程序是以管理员身份运行的,然后netsh i i show in找到指定的Idx
在这里插入图片描述

然后netsh -c i i add neighbors 12 10.60.255.254 mac地址即可
再次查看
在这里插入图片描述
可以看到更改为静态了。

问题
在实作三中,为何缓存中常常有网关的信息?
我们将网关或其它计算机的 arp 信息设置为静态有什么优缺点?

答:因为系统在传输数据的时候将经过的网关信息存储在缓存中,有利于下次使用时快速找到。
优点:利于管理,同时将 IP-MAC 绑定可以有效的防治 ARP 欺骗,并且可以免除用户进行身份认证的繁琐操作;
缺点:有安全隐患,如果冒充其中一个 IP ,那么会对用户的安全造成威胁。

DHCP

DHCP(Dynamic Host Configuration Protocol)即动态主机配置协议,是一个用于 IP 网络的网络协议,位于 OSI 模型的应用层,使用 UDP 协议工作,主要有两个用途:
用于内部网或网络服务供应商自动分配 IP 地址给用户
用于内部网管理员对所有电脑作中央管理
简单的说,DHCP 可以让计算机自动获取/释放网络配置。

实作一
一般地,我们自动获取的网络配置信息包括:IP 地址、子网掩码、网关 IP 以及 DNS 服务器 IP 等。使用 ipconfig/release 命令释放自动获取的网络配置,并用 ipconfig/renew 命令重新获取,了解 DHCP 工作过程和原理。
释放后:
在这里插入图片描述

重新获得:
在这里插入图片描述
DHCP 工作过程和原理:

1、 DHCP原理

1.DHCP Discover:Client开始DHCP过程中的第一个请求报文,源地址为 0.0.0.0,目的地址为 255.255.255.255,附有MAC地址和计算机名,向网络进行广播

2.DHCP Offer:Server对DHCP Discover报文的响应,提供IP地址

3.DHCP Request:Client对DHCP Offer报文的响应,选择IP 。客户端收到最先抵达DHCP Offer,并向网络发送一个DHCP Request广播封包

4.DHCP Declient:Client网络发送一个ARP 封包,发现Server分配给它的IP地址无法使用,如IP地址发生冲突时,将发出此报文让Server禁止使用这次分配的IP地址同时重新发送
DHCP Discover 信息

5.DHCP Ack:Server对 DHCP Request 报文的响应,Client收到此报文后才真正获得了IP地址和相关配置信息。

6.DHCP Nak:此报文是Server对Client的DHCP Request报文的拒绝响应,Client 收到此报文后,一般会重新开始DHCP过程。

7.DHCP Release:此报文是Client主动释放IP地址,当Server 收到此报文后就可以收回IP地址分配给其他的Client

8.DHCP使用UDP67和UDP68端口

2、DHCP工作过程:
在这里插入图片描述

TroubleShooting

如果你没能成功的释放,请思考有哪些可能的原因并着手进行解决?

答:很可能没有开启DHCP客户端服务;解决办法是在 “ win+R ” 然后输入 “ sc config DHCP start= AUTO ” 重启后就OK 了。

问题

在Windows系统下,如果由于某种原因计算机不能获取 DHCP 服务器的配置数据,那么Windows将会根据某种算法自动配置为169.254.x.x 这样的 IP 地址。显然,这样的 IP 以及相关的配置信息是不能让我们真正接入 Internet 的,为什么?既然不能接入 Internet,那么Winodws系统采用这样的方案有什么意义?

答:这样的地址是为了告诉主机,IP 地址池里面没有多余的 IP ,或者 DHCP 中继代理失效。采用这种方案的意义是为了让不能够正常或许 IP 的主机之间进行通信。

秘籍

在我校不少地方如教室,计算机都采用了 DHCP 来获得网络配置。假如某天因 DHCP
服务器问题从而不能获得网络配置,那么我们可以查看隔壁教室计算机的配置信息来手动进行网络配置,从而使该计算机能够接入 Internet。

经常的,在一个固定地方的网络配置我都喜欢采用 静态/手动配置,而不是动态 DHCP 来进行。你能想到是什么原因吗?

答:设置静态ip可以保证自己在有新的主机接入时,不被抢了Ip。

netstat

无论是使用 TCP 还是 UDP,任何一个网络服务都与特定的端口(Port Number)关联在一起。因此,每个端口都对应于某个通信协议/服务。

netstat(Network Statistics)是在内核中访问网络连接状态及其相关信息的命令行程序,可以显示路由表、实际的网络连接和网络接口设备的状态信息,以及与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,一般用于检验本机各端口的网络服务运行状况。
实作一
Windows 系统将一些常用的端口与服务记录在 C:\WINDOWS\system32\drivers\etc\services 文件中,请查看该文件了解常用的端口号分配。
在这里插入图片描述

实作二
使用 netstat -an 命令,查看计算机当前的网络连接状况。更多的 netstat 命令选项,可参考上面链接 4 和 5 。
在这里插入图片描述

秘籍

打开的计算机端口,就是向 Internet 打开的一个通道。通过 netstat
命令,我们可以了解当前计算机哪些端口是打开的,从而找出一些恶意后台程序,分析其所作所为,并且可以进一步将相关端口关闭,降低安全风险。

DNS

DNS(Domain Name System)即域名系统,是互联网的一项服务。它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS 使用 TCP 和 UDP 的 53 号端口。
实作一
Windows 系统将一些固定的/静态的 DNS 信息记录在 C:\WINDOWS\system32\drivers\etc\hosts 文件中,如我们常用的 localhost 就对应 127.0.0.1 。请查看该文件看看有什么记录在该文件中。
在这里插入图片描述

实作二
解析过的 DNS 记录将会被缓存,以利于加快解析速度。请使用 ipconfig /displaydns 命令查看。我们也可以使用 ipconfig /flushdns 命令来清除所有的 DNS 缓存。
在这里插入图片描述

实作三
使用 nslookup qige.io 命令,将使用默认的 DNS 服务器查询该域名。当然你也可以指定使用 CloudFlare(1.1.1.1)或 Google(8.8.8.8) 的全球 DNS 服务器来解析,如:nslookup qige.io 8.8.8.8,当然,由于你懂的原因,这不一定会得到正确的答案。

在这里插入图片描述

秘籍

当我们使用浏览器上网时,或多或少的会看到一些广告。某些网站的广告是非常没有节操的,所以我们一般可以通过安装浏览器插件如AdGuard、AdBlocker 等来拦截和过滤。

这种方法简单方便有效,不过有一定安全或隐私问题,因为该插件实时知道你访问的 URL。

假设不使用这种第三方的插件,希望自己完全控制,那么就请考虑在我们前面提到的 hosts 文件中添加 DNS
记录。有自愿者时时在维护全球正确的 DNS 记录文件

TroubleShooting

上面秘籍中我们提到了使用插件或自己修改 hosts文件来屏蔽广告,思考一下这种方式为何能过滤广告?如果某些广告拦截失效,那么是什么原因?你应该怎样进行分析从而能够成功屏蔽它?

答:这种方式能过滤广告时因为将 127.0.0.1 广告链接设置为广告推送链接,从而广告链接就访问不到本机,而是访问它自己的服务器;
广告拦截失效是因为有可能存在跨服务器访问;可以使用 adsafe解决。

cache

cache 即缓存,是 IT 领域一个重要的技术。我们此处提到的 cache 主要是浏览器缓存。

浏览器缓存是根据 HTTP 报文的缓存标识进行的,是性能优化中简单高效的一种优化方式了。一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以重复利用,还可以减少带宽,降低网络负荷。

实作一
打开 Chrome 或 Firefox 浏览器,访问 https://qige.io ,接下来敲 F12 键 或 Ctrl + Shift + I 组合键打开开发者工具,选择 Network 面板后刷新页面,你会在开发者工具底部看到加载该页面花费的时间。请进一步查看哪些文件被 cache了,哪些没有。

在这里插入图片描述
加载花了973Ms,如图所示,可以看出有五部分没有被cache。
实作二
接下来仍在 Network 面板,选择 Disable cache 选项框,表明当前不使用 cache,页面数据全部来自于 Internet,刷新页面,再次在开发者工具底部查看加载该页面花费的时间。你可比对与有 cache 时的加载速度差异。

在这里插入图片描述
花了1.42s,所以可以得知,缓存可以大大加快页面的加载速度。

秘籍

你的计算机可能还在使用 XX 管家,XX卫士之类的垃圾软件,那么它可能就会在某些时候提示你计算机的垃圾文件有多少多少,请清理(其实是它本身应该被清理!)之类的弹窗。如果你查看一下它判断的所谓垃圾文件,你会发现大多都是浏览器的缓存,而你已经明白了这些缓存文件的作用。所以,清理吗?

答:不清理,我没有安装此类软件。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
【推荐】, 本书中的实验与《计算机网络:系统方法》(第5版)的内容组织相一致。两者结合使用,更有利于理解计算机网络的功能及原理。, 网络技术和概念通常比较复杂,即使通过详细的描述和深思熟虑的例子,也往往难以解释清楚。利用软件工具仿真网络的功能,为网络专业人员和学生创建可视化环境以展示网络是如何工作的,这是深入理解网络技术和概念的好方法。, 本书进一步把这种仿真工具应用在网络课程的教学中,为核心网络拓扑结构中所应用的仿真环境提供了详细的实验指导。在每个拓扑中设置了不同的场景,并通过实验概览、进一步阅读、实验报告及练习等环节来加深理解。书中还指出了如何下载使用免费和易于安装的OPNET IT Guru学术版软件。该软件提供了一个用来对应用程序、服务器和网络技术等进行建模、分析和能预测的虚拟环境。, 本书特色:, 内容丰富:实验覆盖了核心的网络技术,包括交换式局域网、网络设计、载波监听多路访问(CSMA)、路由信息协议(RIP)、传输控制协议(TCP)、排队准则和Web缓存等。, 易于更新、扩展强:教师可以在课堂上使用OPNET仿真工具对现有模型进行更新和扩展,以方便对更多示例和实际网络场景进行仿真。, 广泛使用的优秀仿真软件:本书所使用的仿真软件是由OPNET公司编制的备受赞誉的软件,世界各地数以千计的商业和政府组织以及超过500所大学都在使用OPNET软件。, 实用强:能为有兴趣学习、评估不同商业网络产品(如Cisco路由器)的专业人士设计有用的实验
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值