计算机网络验证性实验

本部分共有 8 个实验,实验 1~7 使用 Cmder 在命令行窗口完成,实验 8 使用浏览器完成。

1.ipconfig


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

实作一

  • 使用 ipconfig/all查看自己计算机的网络配置,尽可能明白每行的意思,特别注意 IP 地址、子网掩码Subnet Mask、网关 Gateway
    在这里插入图片描述ipconfig :微软操作系统的计算机上用来控制网络连接的一个命令行工具。它的主要用来显示当前网络连接的配置信息(/all 参数)。
    IP地址:因特网上的每台计算机和其它设备都规定了一个唯一的地址。
    子网掩码 Subnet Mask:用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它一定要结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。
    网关 Gateway:从一个房间走到另一个房间,必然要经过一扇门。同样,从一个网络向另一个网络发送信息,也一定要经过一道“关口”,这道关口就是网关。顾名思义,网关就是一个网络连接到另一个网络的“关口”。也就是网络关卡。网关实质上是一个网络通向其他网络的IP地址。网关也被称为 IP路由器。

实作二

  • 使用ipconfig/all查看旁边计算机的网络配置
    在这里插入图片描述✎ 问题

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

答: 两台计算机没有处于同一子网,原因是自己的计算机连接的是校园网,而旁边的计算机是连接的手机数据热点网络。


2.ping


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

实作一

  • Ping www.cqjtu.edu.cn 测试到重庆交通大学Web服务器的连通性
    在这里插入图片描述请掌握使用该命令后屏幕显示的反馈回来信息的意思,如:TTL、时间等。

    TTL该字段指定IP包被路由器丢弃之前允许通过的最大网段数量。TTL字段由IP数据包的发送者设置,在IP数据包从源到目的的整个转发路径上,每经过一个路由器,路由器都会修改这个TTL字段值,具体的做法是把该TTL的值减1,然后再将IP包转发出去。如果在IP包到达目的IP之前,TTL减少为0,路由器将会丢弃收到的TTL=0的IP包并向IP包的发送者发送 ICMP time exceeded消息。
    时间表示返回字节的延迟时间

实作二

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

📬 秘籍

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

1.ping 127.0.0.1 ,测试自己计算机的状态,如果 OK,那么说明本机网络软件硬件工作正常,否则,问题在本机,检查本机 TCP/IP 配置即网卡状态等
2.ping 192.168.1.64 ,测试到旁边计算机的连通性,如果OK,那么说明本子网内部工作正常,否则,问题在本机网络出口到交换机之间,检查本机网卡到交换机的连线等
3.ping 192.168.1.1,测试到网关的连通性,如果 OK,那么说明本子网出口工作正常,否则,问题在网关,这是你无能为力的事情,报告给网管
4.ping 14.215.177.39,测试到百度的连通性,如果 OK,那就 OK,否则,问题在网关以外,这也是你无能为力的事情,报告给网管或者李彦宏?

✎ TroubleShooting

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

1、能ping通ip,说明目标是存在的,并且是可以访问的;
2、不能ping通域名,说明dns解析失败;因为你输入的域名首先要由你当地的dns服务器转换为对应的ip地址,然后根据ip地址发送icmp数据包测试;由于dns服务器故障或者设置错误,就会出现你现在的问题。

课外浏览
ping 这个程序曾经是有 bug 的,比如使对方缓冲区溢出导致死机,或死 ping对方以达到耗费对方主机的系统和网络资源等,请查阅相关资料了解。
答:在因特网上,死ping是一种拒绝服务攻击,方法是由攻击者故意发送大于65536比特的ip数据包给对方。 在1996年,攻击者开始利用那一个功能,当他们发现一个进入使用碎片包可以将整个IP包的大小增加到ip协议允许的65536比特以上的时候。当许多操作系统收到一个特大号的ip包时候,它们不知道该做什么,因此,服务器会被冻结、宕机或重新启动。

3.tracert

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

实作一

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

实作二

  • ping.pe这个网站可以探测从全球主要的 ISP 到某站点如https://qige.io的线路状态
    在这里插入图片描述

✎ 问题一

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

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

✎ 问题二

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

答: 我们的电脑在访问外网的时候,经过的第一跳都是重庆交通大学的交换机,通过交换机才将我们的信号传送出去。后几跳的原理类似。

✎ 问题三

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

路由器的保护 CPU 资源的限速策略导致的


4.Arp

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

实作一

  • 运行 arp -a 命令查看当前的 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命令设置其为静态类型的。
在这里插入图片描述

添加失败,查资料可得,未以管理员身份运行 改进如下
在这里插入图片描述


5.DHCP

  • 用于内部网或网络服务供应商自动分配 IP 地址给用户
  • 用于内部网管理员对所有电脑作中央管理

实作一

  • 使用ipconfig/release命令释放自动获取的网络配置
    在这里插入图片描述

使用ipconfig/renew命令重新获取
在这里插入图片描述

✎ 问题

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

答:169.254.x.x为内部地址,外网无法访问内部地址;内部地址到达路由出口时,会给他分配一个新的IP上网。

📬 秘籍

在我校不少地方如教室,计算机都采用了 DHCP 来获得网络配置。假如某天因 DHCP 服务器问题从而不能获得网络配置,那么我们可以查看隔壁教室计算机的配置信息来手动进行网络配置,从而使该计算机能够接入 Internet。
经常的,在一个固定地方的网络配置我都喜欢采用 静态/手动配置,而不是动态 DHCP 来进行。你能想到是什么原因吗?

答:因为DHCP也是一个没有考虑安全性的并且使用广泛的一个协议。


6.Netstat

实作一

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

实作二

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

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 服务器查询该域名。
    在这里插入图片描述

🗣 TroubleShooting

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

答:hosts相当于一个字典,如果查到输入的域名在hosts中,则会先调用其对应的IP,而不通过DNS,因此可以通过手动添加修改(错误的) <ip-网址 >以达到(屏蔽某网站的)目的。


8.Cache

cache 即缓存,我们此提到的 cache 主要是浏览器缓存。

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

实作一

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

在这里插入图片描述

实作二

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

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值