计算机网络——验证性实验

计算机网络——验证性实验


本实验基于棋歌教学网完成

1. ipconfig

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

实作一

使用 ipconfig/all 查看自己计算机的网络配置,尽可能明白每行的意思,特别注意 IP 地址、子网掩码 Subnet Mask、网关 Gateway。
在这里插入图片描述
在这里插入图片描述
IP地址:为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
子网掩码:用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。
网关:默认网关ip地址,意思是一台主机如果找不到可用的网管,就把数据包发给默认指定的网关,由这个网关来处理数据包。也就是路由器的地址。

实作二

使用 ipconfig/all 查看旁边计算机的网络配置,看看有什么异同。
通过对比发现除了硬件配置不同外,默认网关和子网掩码均相同。

问题:
你的计算机和旁边的计算机是否处于同一子网,为什么?
答:处于同一子网,因为两台电脑的IP地址与子网掩码进行与操作后是相同的。

2. ping

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

实作一

要测试到某计算机如重庆交通大学 Web 服务器的连通性,可以使用 ping www.cqjtu.edu.cn 命令,也可直接使用 IP 地址。
在这里插入图片描述
字节=32表示ICMP报文中有32个字节的测试数据
时间=35ms 表示往返时间
TTL=49 TTL通常表示包在被丢弃前最多能经过的路由器个数。当记数到0时,路由器决定丢弃该包,并发送一个ICMP报文给最初的发送者。

实作二

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

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

答:当网络出现故障不能访问某计算机如 14.215.177.39时,我们一般可采用由近及远的连通性测试来确定问题所在。现假设自己的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,否则,问题在网关以外,这也是无能为力的事情。

✎ TroubleShooting
假设在进行的网络排查中,ping 百度的 IP 即 ping 14.215.177.39 没问题,但 ping 百度的域名即 ping www.baidu.com 不行,那么可能的原因是什么?如何进行验证和解决?

答:大概率是域名解析的问题,即DNS服务出错,域名不能解析为IP地址。

3. tracert

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

实作一

要了解到某计算机如 www.baidu.com 中间经过了哪些节点(路由器)及其它状态,可使用 tracert www.baidu.com 命令,查看反馈的信息,了解节点的个数。
在这里插入图片描述

可通过网站 http://ip.cn 查看这些节点位于何处,是哪个公司的,大致清楚本机到百度服务器之间的路径。

实作二

ping.pe 这个网站可以探测从全球主要的 ISP 到某站点如 https://qige.io 的线路状态,当然也包括各线路到该主机的路由情况。请使用浏览器访问 http://ping.pe/qige.io 进行了解。
在这里插入图片描述

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

答:通过向目标发送不同IP生存时间 (TTL) 值的“Internet控制消息协议(ICMP)”回应数据包,Tracert诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减1。数据包上的 TTL 减为 0 时,路由器应该将“ICMP 已超时”的消息发回源系统。 Tracert 先发送 TTL 为 1的回应数据包,并在随后的每次发送过程将TTL递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP已超时”的消息确定路由。

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

答:因为我们的包都是从本机出发通过重庆交通大学进入Internet,第一跳是从自己网关出去,所以第一跳是相同的,前几个节点相同原因也是相同的,包必须从学校的出口出去,因此前几跳就是我们学校的路由器。

✎ 问题三

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

答:应该是该节点没有收到具体的信息反馈,才会出现*号

4. ARP

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

实作一

运行 arp -a 命令查看当前的 arp 缓存, 请留意缓存了些什么。
在这里插入图片描述

然后 ping 一下你旁边的计算机 IP(注意,需保证该计算机的 IP 没有出现在 arp 缓存中,或者使用 arp -d * 先删除全部缓存),再次查看缓存,你会发现一些改变,请作出解释。
在这里插入图片描述
:在请求目标主机的MAC地址H时,每次获取目标主机MAC地址都需要发送一次ARP请求,然后根据响应获取到MAC地址。为了避免重复发送ARP请求,每台主机都有一个ARP高速缓存。当主机得到ARP响应后,将目标主机的IP地址和物理地址存入本机ARP缓存中,并保留一定时间。只要在这个时间范围内,下次请求MAC地址时,直接查询ARP缓存,而无须再发送ARP请求,从而节约了网络资源。

实作二

请使用 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 项添加失败: 请求的操作需要提升” 这样的信息,表示命令没能执行成功,你该如何解决?

答:“ARP 项添加失败: 请求的操作需要提升”问题可以通过管理员运行cmd解决。

✎ 问题

在实作三中,为何缓存中常常有网关的信息?

我们将网关或其它计算机的 arp 信息设置为静态有什么优缺点?

答:缓存中是主机曾经访问过的记录,访问其他地址需要网关信息,因此缓存中会存在网关的信息。
优点在于管理方便且可以有效防止局域网中的ARP欺骗。这是因为静态ARP不会被老化,也不会被动态ARP表项覆盖,可以保证网络通信的安全性; 缺点在于静态ARP仍然存在病毒攻击的危险。同时如果绑定错误ARP信息,修改麻烦。
在这里插入图片描述

5. DHCP

✍ DHCP(Dynamic Host Configuration Protocol)即动态主机配置协议,是一个用于 IP
网络的网络协议,位于 OSI 模型的应用层,使用 UDP 协议工作,主要有两个用途:

用于内部网或网络服务供应商自动分配 IP 地址给用户 用于内部网管理员对所有电脑作中央管理 简单的说,DHCP
可以让计算机自动获取/释放网络配置。

实作一

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

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

:因为自动配置的IP地址和信息只是短暂性的解决计算机不能获取 DHCP 服务器的配置数据的问题,要真正的接入Internet还是得本身计算机的正确IP地址。

6. netstat

✍ 无论是使用 TCP 还是 UDP,任何一个网络服务都与特定的端口(Port Number)关联在一起。因此,每个端口都对应于某个通信协议/服务。
netstat(Network Statistics)是在内核中访问网络连接状态及其相关信息的命令行程序,可以显示路由表、实际的网络连接和网络接口设备的状态信息,以及与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,一般用于检验本机各端口的网络服务运行状况。

实作一

Windows 系统将一些常用的端口与服务记录在 C:\WINDOWS\system32\drivers\etc\services 文件中,请查看该文件了解常用的端口号分配。
在这里插入图片描述

实作二

使用 netstat -an 命令,查看计算机当前的网络连接状况。
在这里插入图片描述

7. DNS

实作一

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,当然,由于你懂的原因,这不一定会得到正确的答案。
在这里插入图片描述

8. cache

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

实作一

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

实作二

接下来仍在 Network 面板,选择 Disable cache 选项框,表明当前不使用 cache,页面数据全部来自于 Internet,刷新页面,再次在开发者工具底部查看加载该页面花费的时间。你可比对与有 cache 时的加载速度差异。在这里插入图片描述
可以明显看出使用cache只需要1、2ms,而不使用cathe平均需要800ms左右,有的文件甚至需要1s。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 了解媒体访问层(MAC): 输入: ipconfig/all 观察输出结果 可选参数: /release 释放当前通过DHCP获得的IP /renew 释放当前通过DHCP获得的IP并重新获得一个IP 提示:上述二个命令只有是网卡的IP地址是设置为自动获取的才会有效果,设置为固定IP的将不会有什么变化。 观察输出结果,并回答以下问题: 利用IPCONFIG命令能查看到哪些地址信息? /displaydns 显示DNS缓存的记录. 2. NETSTAT Netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IPTCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。 输入下列命令和参数, 观察输出结果 netstat -a 显示建立在一个接口上的各种TCP和UDP会话 netstat -e 显示以太网统计数据,包括有问题的数据包 netstat -r 显示本地路由表的内容 netstat -s 显示每个协议的统计数据 3. ping 该命令是最常用的网络连通测试的工具. 网际消息协议 (ICMP): 可以使用 ping 命令发送 ICMP 回应请求消息并记录收到 ICMP 回应回复消息。使用这些消息,可以检测网络或主机通讯故障并解决常见的 TCP/IP 连接问题。 ICMP 消息描述 回应请求: 确定 IP 节点(主机或路由器)能否在网络上使用。 回应回复: 回复 ICMP 回应请求。 无法访问目标: 通知主机数据报无法传递。 源减慢 :通知主机由于拥挤而降低发送数据报的速率。 重定向: 通知首选路由的主机。 超时: 指明 IP 数据报的生存时间 (TTL) 已到期。 参数: -t Ping 指定的计算机直到中断。 -l length 发送包含由 length 指定的数据量的 ECHO 数据包。默认为 32 字节;最大值是 65,527。 ping www.jyu.edu.cn ping www.sina.com.cn 观察输出结果,并回答以下问题 (2)PING www.jyu.edu.cn显示PING不通,可能是什么原因造成的? (3)PING一个IP时,返回的结果中包含一个时间和TTL数值,这二个参数分别代表什么含义?由这个时间值能大致判断什么情况? (4)PING一个IP时,返回的结果中的TTL数值有些在240-255之间,有些在110-130之间,有些在50-65之间,这些不同的值相差很大,是什么原因?根据这些不同的数值能大致判断什么? 4. tracert 该工具类似UNIX中的traceroute,它报告你的计算机和目的地之间的每个接口的IP地址和名称。如果PING 失败,用tracert可以知道问题出在那里. 如果有连通问题,可以使用 tracert 命令来检查到达的目标 IP 地址的路径并记录结果。tracert 命令显示用于将数据包从计算机传递到目标位置的一组 IP 路由器,以及每个跃点所需的时间。如果数据包不能传递到目标,tracert 命令将显示成功转发数据包的最后一个路由器。 比较 tracert www.jyu.edu.cn tracert www.sina.edu.cn 观察输出结果,并回答以下问题: (1)tracert某一个网站显示的跳数跟PING同一个网站返回的TTL值有什么关联?如果你已经知道了PING一个网站的TTL值是45,能不能直接计算出tracert该网站的跳数?怎么计算的? 5. pathping pathping 命令是路由跟踪工具,它将 ping 和 tracert 命令的功能与非这些工具提供的其他信息组合在一起。经过一段时间,pathping 命令将数据包发送到最终目标位置途中经过的每个路由器。pathping 命令与工具tracert类似,请比较tracert的结果。 6. nslookup Nslookup显示可用来诊断域名系统 (DNS) 基础结构的信息。只有在已安装 TCP/IP 协议的情况下才可以使用 Nslookup 命令行工具。 观察输出结果,并回答以下问题: (1)输出结果中的域名解析的IP是怎么来的?如何判断

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值