1. 简介

本计算机网络实验由验证性、Wireshark 和 Cisco Packet Tracer 实验等三个部分组成,对计算机网络课程中所学的知识进行实际操作,进一步加深对计算机网络的理解。

2. 验证性实验
1. ipconfig
1.1 实作一
要求: 使用 ipconfig /all 查看自己计算机的网络配置,尽可能明白每行的意思,特别注意 IP 地址、子网掩码 Subnet Mask、网关 Gateway。
结果:
-1、 在windows中使用ipconfig命令。

-2、 在Linux中使用ifconfig命令

1.2 实作二
要求: 使用 ipconfig/all 查看旁边计算机的网络配置,看看有什么异同。
结果: 由于无其他计算机,故使用搭载Linux系统的虚拟机对此实验进行操作,结果如实作一中图二。
思考: 这两台计算机是否处于同一子网,为什么?
这两台计算机处于同一子网,将两台计算机的IP地址与子网掩码进行与运算,可得到其网络地址均为172.168.43.0,所有其处于同一子网中。

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

2.2 实作一
要求: 要测试到某计算机服务器的连通性,可以使用 ping + 网址 命令,也可直接使用 ping + IP 地址。掌握使用该命令后屏幕显示的反馈回来信息的意思,如:TTL、时间等。
结果:

2.3 实作二

  • 要求: 使用 ping /? 命令了解该命令的各种选项并实际使用。

  • 结果:

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

当你的网络出现故障不能访问某计算机时,我们一般采用由近及远的连通性测试来确定问题所在。现假设你的 IP 是 192.168.1.89,你旁边计算机的 IP 是 192.168.1.64,网关的 IP 是 192.168.1.1 ,你所想访问的 14.215.177.39 (百度的 IP 地址之一 ) 那么过程如下:

ping 127.0.0.1 ,测试自己计算机的状态,如果成功,则说明本机网络软件硬件工作正常;否则,问题在本机,检查本机 TCP/IP 配置即网卡状态等。
ping 192.168.1.64 ,测试到旁边计算机的连通性,如果成功,则说明本子网内部工作正常;否则,问题在本机网络出口到交换机之间,检查本机网卡到交换机的连线等。
ping 192.168.1.1,测试到网关的连通性,如果成功,则说明本子网出口工作正常;否则,问题在网关。
ping 14.215.177.39,测试到百度的连通性,如果 成功,那网络一切正常;否则,问题在网关以外。
思考2: 假设在网络排查中,ping 百度的 IP 即 ping 14.215.177.39 能够成功,但 ping 百度的域名即 ping www.baidu.com 则失败,那么可能的原因是什么?如何进行验证和解决?
ping IP 能够成功表明链路是畅通的,但是ping 不通域名是由于域名解析出现了问题。在计算机的使用过程中,我们很多时候都是自动获取DNS服务器,但是有时使用默认的DNS服务器是 ping 不通域名的。

解决办法:清理计算机之前的DNS缓存,再手动设置一个新的DNS服务器;如果还是不行,则需要联系运营商。

2.4 课外浏览
Ping攻击
Ping攻击就是不断向指定的IP地址发送不接收回复的数据包,这种攻击通过发送大于65536字节的ICMP包使操作系统崩溃。在ping程序发展初期,并未对ICMP包的大小进行限制,导致接收方缓冲区溢出,现在此bug已被修复,所以通常不可能发送大于65536个字节的ICMP包,但如果把报文分割成片段,然后在目标主机上重组,最终会导致被攻击目标缓冲区溢出,直至目标主机有限系统资源被消耗殆尽。

3. tracert
3.1 简介
TRACERT (Trace Route 的组合缩写),也称为路由追踪,该命令行程序可用于跟踪 Internet 协议 (IP) 数据包传送到目标地址时经过的路径。

3.2 实作一
要求: 要了解到某计算机如 www.baidu.com 中间经过了哪些节点(路由器)及其它状态,可使用 tracert www.baidu.com 命令,查看反馈的信息,了解节点的个数。通过网站 http://ip.cn 查看这些节点位于何处,是哪个公司的,大致清楚本机到百度服务器之间的路径。
结果:

 

结果分析: 通过 teacert www.baidu.com 命令可知,我的计算机和百度之间有13个节点,其中 1 号节点为内网ip,5~7 号节点为位于重庆市,11、13 号节点位于广东省,所有已知节点均属于移动公司。

3.3 实作二

  • 要求: ping.pe 这个网站可以探测从全球主要的 ISP 到某站点如 https://qige.io 的线路状态,当然也包括各线路到该主机的路由情况。请使用浏览器访问 Ping, mtr, dig and TCP port check from multiple locations 进行了解。
  • 结果:

思考1: tracert 能告诉我们路径上的节点以及大致的延迟等信息,那么它背后的原理是什么?(本问题可结合第二部分的 Wireshark 实验进行验证)
Tracert命令通过向目标发送不同 IP 生存时间 (TTL) 值的 “Internet 控制消息协议 (ICMP)” 回应数据包,Tracert 诊断程序先确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减 1。数据包上的 TTL 减为 0 时,路由器应该将“ICMP 已超时”的消息发回源系统。
Tracert 先发送 TTL 为 1 的回应数据包,并在随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。

思考2: 在以上两个实作中,留意路径中的节点,会发现路径中的第一跳都是相同的,甚至似乎前几个节点都是相同的,为什么?
数据传输只要需要出内网,都将经过网关,所以前几个节点相同。

思考3: 在追踪过程中,会看到路径中某些节点显示为 * 号,这是发生了什么?
某些路由器会直接丢弃 TTL 过期的数据包,而不会进行信息反馈。

3.4 拓展
在 Linux 系统中,其下的 My Trace Route 即 mtr 命令。该命令的速度比 Windows 平台下的 tracert 快很多,并且显示的数据也更多。如图所示

  • 此命令仅用时几秒就成功获取了从该Linux虚拟机到百度所需要通过的所有节点,而在Windows系统中Tracert命令则是花费了30秒。
  • 使用 Google地图 可以将追踪路径可视化。

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

4.2 实作一
要求: 运行 arp -a 命令查看当前的 arp 缓存, 注意留意缓存内容。使用Ping命令Ping 一下旁边计算机 IP (注意,需保证该计算机的 IP 没有出现在 arp 缓存中,或者使用 arp -d 先删除全部缓存) ,再次查看缓存,请对缓存的变化做出解释。
结果:

解释: 在发送数据前,设备会先查找ARP缓存表。如果缓存表中存在对方设备的MAC地址,则直接采用该MAC地址来封装帧,然后将帧发送出去。如果缓存表中不存在相应的信息,则通过发送ARP request报文来获得它。由于删除了ARP缓存,所以设备发送了ARP报文获取了目的IP的MAC地址。学习到的IP地址和MAC地址的映射关系会被放入ARP缓存表中存放一段时间。
4.3 实作二
要求: 请使用 arp /? 命令了解该命令的各种选项。
结果:

4.4 实作三
要求: 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 命令设置其为静态类型。
结果:

4.5 拓展
问题1: 在实作三的操作中可能会得到 “ARP 项添加失败: 请求的操作需要提升” 该如何解决?
使用命令 netsh i i show in 找到所连接的网络Idx。
使用命令netsh -c “i i” add neighbors (Idx) (ip地址) (Mac地址)。
问题2: 在实作三中,为何缓存中常常有网关的信息?我们将网关或其它计算机的 arp 信息设置为静态有什么优缺点?
ARP缓存记录着访问过的pc网卡MAC物理地址。
静态分配IP地址是指给每一台计算机都分配一个固定的IP地址。
- 优点:便于管理,以固定的IP地址或IP地址分组产生的流量为依据管理,可以免除在按用户方式计费时用户每次上网都必须进行的身份认证的繁琐过程,同时也避免了用户经常忘记密码的尴尬。
- 缺点:合法用户分配的地址可能被非法盗用,不仅对网络的正常使用造成影响,同时由于被盗用的地址往往具有较高的权限,因而也容易给合法用户造成损失和潜在的安全隐患。
5.DHCP
5.1 简介
DHCP(Dynamic Host Configuration Protocol)即动态主机配置协议,是一个用于 IP 网络的网络协议,位于 OSI 模型的应用层,使用 UDP 协议工作,主要有两个用途:

用于内部网或网络服务供应商自动分配 IP 地址给用户
用于内部网管理员对所有电脑作中央管理
5.2 实作一
要求: 一般地,自动获取的网络配置信息包括:IP 地址、子网掩码、网关 IP 以及 DNS 服务器 IP 等。使用 ipconfig /release 命令释放自动获取的网络配置,并用 ipconfig /renew 命令重新获取,了解 DHCP 工作过程和原理。

结果:

问题1: 如果未能成功释放,请思考有哪些可能的原因并着手进行解决?
将 DHCP Service 重启,重新下载 TCP/IP或者重新安装驱动网卡。

问题2: 在Windows系统下,如果由于某种原因计算机不能获取 DHCP 服务器的配置数据,那么Windows将会根据某种算法自动配置为 169.254.x.x 这样的 IP 地址。显然,这样的 IP 以及相关的配置信息是不能让我们真正接入 Internet 的,为什么?既然不能接入 Internet,那么Winodws系统采用这样的方案有什么意义?
此 IP 地址为链路本地地址,是用于DHCP服务器故障,电脑无法获取IP时,由Windows系统自动分配的IP,不能作为接入Internet的IP地址。分配一个临时的IP可以连接处在同一广播域中的其他设备。

思考: 在一个固定地方的网络配置采用静态 /手动配置,还是动态 DHCP 来进行更好?
静态ip是一个固定的IP地址,可以用作自己的网站和服务器,因此静态IP更稳定,更便于用户管理静态ip。

6. netstat
6.1 简介
netstat(Network Statistics)是在内核中访问网络连接状态及其相关信息的命令行程序,可以显示路由表、实际的网络连接和网络接口设备的状态信息,以及与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,一般用于检验本机各端口的网络服务运行状况。

6.2 实作一
要求: Windows系统将一些常用的端口与服务记录在 C:\WINDOWS\system32\drivers\etc\services 文件中,请查看该文件了解常用的端口号分配。
结果:

6.3 实作二

  • 要求: 使用 netstat -an 命令,查看计算机当前的网络连接状况。
  • 结果:

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

7. DNS
7.1 简介
DNS(Domain Name System)即域名系统,是互联网的一项服务。它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS 使用 TCP 和 UDP 的 53 号端口。

7.2 实作一
要求: Windows 系统将一些固定的静态的 DNS 信息记录在 C:\WINDOWS\system32\drivers\etc\hosts 文件中,如我们常用的 localhost 就对应 127.0.0.1 。请查看该文件,了解记录详情。

7.3 实作二

  • 要求: 解析过的 DNS 记录将会被缓存,以利于加快解析速度。请使用 ipconfig /displaydns 命令查看。我们也可以使用 ipconfig /flushdns 命令来清除所有的 DNS 缓存。
  • 结果:

7.4 实作三
要求: 使用 nslookup qige.io 命令,将使用默认的 DNS 服务器查询该域名。当然你也可以指定使用 CloudFlare(1.1.1.1)或 Google(8.8.8.8) 的全球 DNS 服务器来解析,如:nslookup qige.io 8.8.8.8。
结果:

7.5 拓展
小知识: 我们使用浏览器上网时,或多或少的会看到一些广告。某些网站的广告是非常没有节操的,所以我们一般可以通过安装浏览器插件如 AdGuard、AdBlocker 等来拦截和过滤。这种方法简单方便有效,不过有一定安全或隐私问题,因为该插件实时知道你访问的 URL。如果不使用这种第三方的插件,希望自己完全控制,那么就请考虑在我们前面提到的 hosts 文件中添加 DNS 记录。有自愿者时时在维护全球正确的 DNS 记录文件。hosts文件

8. cache
8.1 简介
cache 即缓存,是 IT 领域一个重要的技术。我们此处提到的 cache 主要是浏览器缓存。
浏览器缓存是根据 HTTP 报文的缓存标识进行的,是性能优化中简单高效的一种优化方式了。一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以重复利用,还可以减少带宽,降低网络负荷。

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

8.3 实作二

  • **要求:**接下来仍在 Network 面板,选择 Disable cache 选项框,表明当前不使用 cache,页面数据全部来自于 Internet,刷新页面,再次在开发者工具底部查看加载该页面花费的时间。你可比对与有 cache 时的加载速度差异。
  • 结果:

计算机网络验证性试验相关推荐

  1. 计算机网络验证性试验报告

    计算机网络验证性试验 一.实验目的 二.实验器材 三.实验内容 3.1)ipconfig 实作一 实作二 3.2)ping 实作一 实作二 3.3)tracert 实作一 实作二 3.4)ARP 实作 ...

  2. 计算机网络验证性实验

    计算机网络验证性实验 1.ipconfig 实作一 查看计算机的网络配置 实作二 查看旁边计算机的网络配置,看看有什么异同 问题 2.ping 实作一 测试计算机到某Web服务器的连通性 实作二 了解 ...

  3. 计算机网络--验证性实验

    计算机网络验证性实验 一.ipconfg 实作一 实作二 二.ping 实作一 实作二. 三.tracert 实作一 实作二 四.ARP 实作一 实作二 实作三 五.DHCP 实作一 六.netsta ...

  4. 计算机网络:验证性试验

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

  5. 计算机网络实验(三个部分--验证性、Wireshark、CPT)

    计算机网络实验 一.验证性实验 ipconfig 显示所有当前 TCP/IP 网络配置值并刷新动态主机配置协议 (DHCP) 和域名系统 (DNS) 设置. ipconfig 是微软操作系统的计算机上 ...

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

    文章目录 一.简介 二.验证性实验 ipconfig ping tracert ARP DHCP netstat DNS cache 一.简介 实验教程原网页来自棋歌教学网 本计算机网络实验教程由验证 ...

  7. 计算机网络实验报告:【验证性实验】

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

  8. 计算机网络实验一:验证性实验

    Chris的计算机网络实验一:验证性实验 Ipconfig Ipconfig 概念 Ipconfig 实作一 Ping Ping 概念 Ping 实作一 Ping 实作二 Tracert Tracer ...

  9. rono在oracle的作用_Ronopterin (VAS203) 在中重度创伤性脑损伤患者中的疗效 (NOSTRA III 期试验): 一项验证性、安慰剂对照、随机、双盲、多中心研究。...

    临床Ronopterin (VAS203) 在中重度创伤性脑损伤患者中的疗效 (NOSTRA III 期试验): 一项验证性.安慰剂对照.随机.双盲.多中心研究. 复制标题 影响因子:2.12 期刊: ...

最新文章

  1. 『科学计算』可视化二元正态分布3D科学可视化实战
  2. CMakeLists
  3. SPOJ - VLATTICE
  4. qt开发游戏必须要了解的数据类
  5. Python 内置方法和属性应用:反射和单例
  6. ksweb如何安装php5.6_php5 安装 swoole 模块
  7. 2.3微秒的特征点匹配
  8. MySQL中的char与varchar详解
  9. python3 asyncio 不阻塞_Python中的并发处理之asyncio包使用的详解
  10. ThinkPHP 漏洞利用工具
  11. 如何把很多照片拼成一张照片_如何将多张图片合成一个PDF文件
  12. 计算机考在职研究生有用吗,报考计算机在职研究生有用吗?
  13. Oracle Latch的学习【原创】
  14. itunes计算机无法启动,电脑怎么打开itunes
  15. html 遮罩层穿透问题,移动页面点击穿透问题解决方案
  16. 数据结构——顺序表的实现
  17. Python常见问题解决办法汇总
  18. pixhawk4连接PX4 Flow光流传感器调试过程记录
  19. 微信为什么打不开html,微信为什么打不开?解决微信打不开图文教程
  20. 直播app开发搭建,纯css/html实现侧边导航栏

热门文章

  1. python编写的动物识别专家系统_自己写的简单动物识别专家系统
  2. Jetson Nano入门教程:硬件篇+视频学习教程
  3. Python 之 Anaconda
  4. C#获取文件的Content-Type(MIME Type)的三种方法
  5. 2019多校第三场 HDU6608 Fansblog(威尔逊定理,逆元,质数间隔)
  6. 彗星http_大气与彗星
  7. 海外对冲基金大鳄核心策略
  8. BiocManager安装R包解决下载速度太慢的问题
  9. SQL视图是什么?视图的作用,视图可以更改么?
  10. 腾讯会议共享屏幕播放PPT的时候可以实现只能在自己电脑上可以看到PPT的备注么?