计算机网络验证性实验

验证性实验

实验一:ipconfig

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

实作一

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

  • IP地址: 192.168.11.117
  • 子网掩码:255.255.255.0
  • 网关: 192.168.11.45

实作二

使用 ipconfig/all 查看旁边计算机的网络配置,看看有什么异同。

在这里插入图片描述

TroubleShooting

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

我与旁边同学的网络不在同一子网,因为网关不同。

实验二:ping(Packet Internet Groper)

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

实作一

要测试到某计算机如 重庆交通大学 Web 服务器的连通性,可以使用 ping www.cqjtu.edu.cn 命令,也可直接使用 IP 地址。
在这里插入图片描述
字节32: 表示ICMP报文中有32个字节的测试数据。
时间:是指发送数据过去加上回来的时间。
TTL:TTL是 Time To Live的缩写,该字段指定IP包被路由器丢弃之前允许通过的最大网段数,
一般是每经过一个路由将会减一,如果减完了还没到达主机就会丢掉这个包。

实作二

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

在这里插入图片描述

TroubleShooting

尝试ping同一子网下的其他计算机

在这里插入图片描述
发现有问题,ping不了,那么开始检查为什么ping不了。

  • 第一步先ping 127.0.0.1,即本机IP。测试自己计算机的状态,如果没有问题,那么说明本机网络软件硬件工作正常,否则,问题在本机,检查本机 TCP/IP 配置即网卡状态等。

在这里插入图片描述
这里发现本机无问题。

  • 第二步ping网关的IP,测试到网关的连通性,如果 OK,那么说明本子网出口工作正常,否则,问题在网关,这是你无能为力的事情,报告给网管。
    在这里插入图片描述
    这里发现网关也无问题。

  • 测试到百度的连通性,如果 OK,那就 OK,否则,问题在网关以外,这也是你无能为力的事情。
    在这里插入图片描述
    这里发现ping百度的ip同样无问题。
    最后经过发现,是因为现在的电脑都有网络防火墙,在防火墙开起的状态下是无法ping到的。
    最后旁边电脑网络防火墙关闭后再ping旁边电脑。
    在这里插入图片描述

TroubleShooting

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

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

  • 咨询当地电信部门,是否当地dns服务器故障;
  • 百度搜索当地dns服务器地址,检查当前dns服务器设置是否正确;
  • 可临时设置dns服务器地址为8.8.8.8,该服务器延迟会比较大

实验三:tracert(Trace Route)

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

实作一

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

在这里插入图片描述
可通过网站 http://ip.cn 查看这些节点位于何处。
如其中的一个节点113.96.4.209的查询结果如下:
在这里插入图片描述

实作二

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

TroubleShooting

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

Tracert是利用ICMP和TTL进行工作的。首先tracert会发出TTL值为1的ICMP数据报(包含40个字节,包括源地址、目标地址和发出的时间标签,一般会连续发3个包)。当到达路径上的第一个路由器时,路由器会将TTL值减1,此时TTL值变成0,该路由器会将此数据报丢弃,并返回一个超时回应数据报(包括数据报的源地址、内容和路由器的IP地址)。当tracert收到该数据报时,它便获得了这个路径上的第一个路由器的地址。接着,tracert再发送另一个TTL为2的数据报,第一个路由器会将此数据报转发给第二个路由器,而第二个路由器收到数据报时,TTL为0。第二个路由器便会返回一个超时回应数据报,从而tracert便获得了第二个路由器的地址。Tracert每次发出数据报时便会将TTL加1(一般每次都是发3个数据报),来发现下一个路由器。这个动作一直重复,直到到达目的地或者确定目标主机不可到达为止。

TroubleShooting

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

因为要从一个子网出到外界进行连接需要通过网关,而这个相同的网关正是这个子网的出口。所以前几个节点几乎都是相同的。

TroubleShooting

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

是因为从该节点没有收到具体的信息反馈,所以才会出现*号。

实验四:APR(Address Resolution Protocol)

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

实作一

运行 arp -a 命令查看当前的 arp 缓存, 请留意缓存了些什么。
然后 ping 一下你旁边的计算机 IP(注意,需保证该计算机的 IP 没有出现在 arp 缓存中,或者使用 arp -d * 先删除全部缓存),再次查看缓存,你会发现一些改变,请作出解释。
在这里插入图片描述

ARP缓存是一个缓冲区,用来储存IP地址和MAC地址,本质就是<IP地址,MAC地址>的对应表。表中一个条目记录了网络上一个主机的IP地址和其对应的MAC地址。当地址解析协议被询问一个已知IP地址节点的MAC地址时,先在ARP缓存中查看,若存在,就直接返回与之对应的MAC地址,若不存在,才发送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 命令设置其为静态类型的。

在这里插入图片描述
解决方法:win7及以上arp用来查mac,修改指定IP地址的需要使用netsh命令。
使用管理员权限打开控制台,使用netsh i i show in命令找到正在使用的网络的Idx号。
再使用netsh -c i i add neighbors 【Idx】 【IP地址】【mac地址】命令修改指定IP的MAC。
在这里插入图片描述

成功!

TroubleShooting

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

ARP在发数据包前会先发广播包,问谁是目的IP,然后得到对应的MAC地址,访问外网,你要先到网关那,也就要知道网关的MAC。我们将网关或其他计算机的arp信息设置为静态优点是便于管理,特别是在根据ip地址限制网络流量的局域网中,以固定的ip地址或ip地址分组产生的流量为依据管理,可以免除在按用户方式计费时用户每次上网都必须进行的身份认证的繁琐过程。静态分配ip地址的缺点是合法用户分配的地址可能被非法盗用,不仅对网络的正常使用造成影响,同时由于被盗用的地址往往具有较高的权限,因而也容易给合法用户造成损失和潜在的安全隐患。

实验五:DHCP(Dynamic Host Configuration Protocol)

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

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

实作一

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

TroubleShooting

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

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

TroubleShooting

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

这样的地址是为了告诉主机,IP 地址池里面没有多余的 IP ,或者 DHCP 中继代理失效。采用这种方案的意义是如果计算机都采用了 DHCP 来获得网络配置。假如某天因 DHCP 服务器问题从而不能获得网络配置,那么我们可以查看隔壁教室计算机的配置信息来手动进行网络配置,从而使该计算机能够接入 Internet。

实验六:netstat(Network Statistics)

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

实作一

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

在这里插入图片描述

实作二

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

实验七: DNS(Domain Name System)

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,当然,由于你懂的原因,这不一定会得到正确的答案。

在这里插入图片描述

TroubleShooting

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

Hosts 文件相当于网站的「通讯录」,它记录着不同「域名」对应的「IP 地址」。在操作系统中 Hosts 文件的优先级高于 DNS 服务器,如果 Hosts 有服务器信息,则直接调用,否则才询问 DNS 服务器。正是利用 Hosts 的高优先级,将错误的「IP 地址」与域名绑定,就实现了屏蔽某些服务器的效果。

实验八:cache

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

实作一

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

在这里插入图片描述

实作二

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

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

世l中l仙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值