计算机网络实验(验证性实验)

实验内容

1.Ipconfig

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

实作一
使用 ipconfig/all 查看自己计算机的网络配置,尽可能明白每行的意思,特别注意 IP 地址、子网掩码 Subnet Mask、网关 Gateway。
在这里插入图片描述实作二
使用 ipconfig/all 查看旁边计算机的网络配置,看看有什么异同。
在这里插入图片描述
问题:你的计算机和旁边的计算机是否处于同一子网,为什么?

答:是,因为通过子网掩码可以看出我们处于同一子网下。

2.Ping

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

实作一
要测试到某计算机如 重庆交通大学 Web 服务器的连通性,可以使用 ping www.cqjtu.edu.cn 命令,也可直接使用 IP 地址。请掌握使用该命令后屏幕显示的反馈回来信息的意思,如:TTL、时间等。
在这里插入图片描述时间:代表的是返回字节的延迟;
TTL:每一个被发送出的IP信息包都有一个TTL域,该域被设置为一个较高的数值。当信息包在网络中被传输时,TTL的域值通过一个路由器时递减1;当TTL 递减到0时,信息包被路由器抛弃。

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

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

答:当你的网络出现故障不能访问某计算机时,我们一般可采用由近及远的连通性测试来确定问题所在。测试自己计算机的状态,如果
OK,那么说明本机网络软件硬件工作正常,否则,问题在本机,检查本机 TCP/IP 配置即网卡状态等
1.测试到旁边计算机的连通性,如果OK,那么说明本子网内部工作正常,否则,问题在本机网络出口到交换机之间,检查本机网卡到交换机的连线等
2.测试到网关的连通性,如果 OK,那么说明本子网出口工作正常,否则,问题在网关,这是你无能为力的事情,报告给网管

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

答:可能的原因是DNS配置有误,能ping通ip,说明目标是存在的,并且是可以访问的;不能ping通域名,说明dns解析失败;因为你输入的域名首先要由你当地的dns服务器转换为对应的ip地址,然后根据ip地址发送icmp数据包测试;由于dns服务器故障或者设置错误,就会出现你现在的问题。
解决办法:1、咨询当地电信部门,是否当地dns服务器故障;2、百度搜索当地dns服务器地址,检查当前dns服务器设置是否正确;3、可临时设置dns服务器地址为8.8.8.8,该服务器延迟会比较大。

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 控制消息协议回应数据包,Tracert诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的TTL递减1,数据包上的TTL 减为 0 时,路由器应该将“ICMP 已超时”的消息发回源系统。

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

答:因为都是先到达交换机,从内部服务器转到外部服务器所以前几个节点是相同的。

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

答:某些路由器不会为其 TTL 值已过期的数据包返回“已超时”消息,而且这些路由器对于 tracert 命令不可见。在这种情况下,将为该跃点显示*。

4.arp

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

实作一
运行 arp -a 命令查看当前的 arp 缓存, 请留意缓存了些什么。在这里插入图片描述
然后 ping 一下你旁边的计算机 IP(注意,需保证该计算机的 IP 没有出现在 arp 缓存中,或者使用 arp -d * 先删除全部缓存),再次查看缓存,你会发现一些改变,请作出解释。
在这里插入图片描述
ping旁边的计算机失败了,但是如果ping成功了会收到返回消息将旁边计算机的IP地址和物理地址存入本机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 命令设置其为静态类型的。
在这里插入图片描述
问题:在实作三中,为何缓存中常常有网关的信息?

答:因为要通过网关访问,缓存网关信息便于使用。

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

答:设置为静态优点是便于管理缺点是地址可能被非法盗用,对网络的正常使用造成影响,还有许多的安全隐患。

5.DHCP

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

实作1
一般地,我们自动获取的网络配置信息包括:IP 地址、子网掩码、网关 IP 以及 DNS 服务器 IP 等。使用 ipconfig/release 命令释放自动获取的网络配置,并用 ipconfig/renew 命令重新获取,了解 DHCP 工作过程和原理。
在这里插入图片描述在这里插入图片描述
会断网,要要用 ipconfig/renew 重新获取网络配置
问题:在Windows系统下,如果由于某种原因计算机不能获取 DHCP 服务器的配置数据,那么Windows将会根据某种算法自动配置为 169.254.x.x 这样的 IP 地址。显然,这样的 IP 以及相关的配置信息是不能让我们真正接入 Internet 的,为什么?既然不能接入 Internet,那么Winodws系统采用这样的方案有什么意义?

答:Windows操作系统为了防止主机脱网,为网卡设置169.254.x.x的保留IP,此时就算由于某种原因计算机不能获取 DHCP 服务器的配置数据时,他们还通过保留地址还可以互相通讯。

6.netstat

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

实作一
Windows 系统将一些常用的端口与服务记录在 C:\WINDOWS\system32\drivers\etc\services 文件中,请查看该文件了解常用的端口号分配。
在这里插入图片描述
实作2
使用 netstat -an 命令,查看计算机当前的网络连接状况。更多的 netstat 命令选项,可参考上面链接 4 和 5 。
https://www.jianshu.com/p/b866f3f6e46e
https://blog.csdn.net/weixin_39800144/article/details/80929947
在这里插入图片描述

7.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。
在这里插入图片描述
问题:上面秘籍中我们提到了使用插件或自己修改 hosts 文件来屏蔽广告,思考一下这种方式为何能过滤广告?如果某些广告拦截失效,那么是什么原因?你应该怎样进行分析从而能够成功屏蔽它?

答:用IE浏览器访问网站时,首先通过网络上的DNS(域名解析服务)服务器把网络域名,然后浏览器才能访问它。对于每个域名请求我们都要等待域名服务器解析后返回IP信息才能访问网站,这样访问网络的效率是比较低的。而根据Windows系统规定,在浏览器进行DNS请求以前,Windows系统会先检查自己的本地硬盘上的hosts文件中是否有这个网址映射关系,如果有就先调用这个IP地址映射,如果没有再向已知的DNS服务器提出域名解析。也就是说Hosts的请求级别比DNS高。Hosts文件中存在这个网址的IP地址映射的话,浏览器就是直接访问这个IP地址,而不去请求DNS解析了。修改hosts文件是指将某个网站重定向到一个地址,使之无法访问达到屏蔽广告的效果。有些广告不是链接所以失效。

8.cache

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

实作一
打开 Chrome 或 Firefox 浏览器,访问 https://qige.io ,接下来敲 F12 键 或 Ctrl + Shift + I 组合键打开开发者工具,选择 Network 面板后刷新页面,你会在开发者工具底部看到加载该页面花费的时间。请进一步查看哪些文件被 cache了,哪些没有。
在这里插入图片描述
实作二
接下来仍在 Network 面板,选择 Disable cache 选项框,表明当前不使用 cache,页面数据全部来自于 Internet,刷新页面,再次在开发者工具底部查看加载该页面花费的时间。你可比对与有 cache 时的加载速度差异。
在这里插入图片描述
cache(缓存)可以节约很多时间

猜你喜欢

转载自blog.csdn.net/m0_51039112/article/details/109298036