计算机网络实验

文章目录

验证性实验

实验一 ipconfig

1.实作一

使用 ipconfig/all 查看自己计算机的网络配置
在这里插入图片描述
其中,电脑的IP地址为10.0.0.13,子网掩码为255.255.255.0,默认网关为10.0.0.1。

2.实作二

使用 ipconfig/all 查看旁边计算机的网络配置
在这里插入图片描述
其中,电脑的IP地址为10.0.0.12,子网掩码为255.255.255.0,默认网关为10.0.0.1。

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

将IP地址与子网掩码相与后,发现两台计算机处于同一子网。

实验二 ping

1.实作一

要测试到某计算机如 重庆交通大学 Web 服务器的连通性,可以使用 ping www.cqjtu.edu.cn 命令,也可直接使用 IP 地址。在这里插入图片描述
其中时间是往返一次花费的时间,TTL是IP数据包在计算机网络中可以转发的最大跳数。

2.实作二

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

问题:假设你不能 ping 通某计算机或 IP,但你确定该计算机和你之间的网络是连通的,那么可能的原因是什么?该如何处理能保证 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,否则,问题在网关以外。
问题:假设在秘籍中进行的网络排查中,ping 百度的 IP 即 ping 14.215.177.39 没问题,但 ping 百度的域名即 ping www.baidu.com 不行,那么可能的原因是什么?如何进行验证和解决?

首先,计算机在ping时,会自己判断到底是IP还是域名,如果是域名,会先用本地的dns服务器转化为IP地址,再根据IP地址进行访问。ping IP没问题,说明目标地址存在且可访问,而ping 域名存在问题,ping IP不存在问题,说明本地的dns服务器转化存在问题。
其次,如何验证我们的判断,输入nslookup命令,再输入你的域名,如果出现DNS request timed out,timeout was 2 seconds的提示信息,则说明DNS确实出问题了,如果DNS解析正常的话,会反馈回正确的IP地址。
最后,如何解决这个问题:1、更换本地DNS;2、修改HOSTS文件;3、修改DNS缓存信息。

实验三 tracert

实作一

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

实作二

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

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

首先,tracert发出TTL值为1的ICMP数据包,当到达路径上第一个路由器时,路由器会将TTL值减1,此时TTL值为0,该路由器将此数据包丢弃,向源地址返回一个ICMP超时通知,当tracert收到该数据包,获得了这个路径上的第一个路由器的地址。
接着,tracert再发送另一个TTL为2的数据包,第一个路由器会将此数据包转发给第二个路由器,当TTL=0,第二个路由器返回一个超时通知,tracert得到第二个路由器地址。
然后,Tracert每次发出数据报时便会将TTL加1,发现下一个路由器。这个动作一直重复,直到到达目的地或者确定目标主机不可到达为止。

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

因为主机上的数据每次传输都需要经过交换机然后再发送到其他地方,而只要我们的地址不发生太大的变化,每次经过的交换机也不会发生变化,所以每次第一跳也不会发生变化。

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

因为Tracert在访问时会有一个规定的时长,一旦请求的时间超过这个时长,就会显示“*”,最后给出“请求超时”。

实验四 ARP

实作一

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

实作二

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

因为在win7及以上arp用来查mac,修改指定IP地址的需要使用netsh命令。
1、netsh i i show in找到指定Idx
在这里插入图片描述
2、netsh -c “i i” add neighbors 【Idx】 【IP地址】【mac地址】修改指定IP的mac
在这里插入图片描述

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

1、因为缓存中记录了主机访问过的相关地址,所以存储着网关的信息。
2、当将网关或其他计算机的arp信息设置为静态时,优点是便于管理,缺点是容易被非法盗用,存在安全隐患。

实验五 DHCP

实作一

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

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

有可能是主机没有开启DHCP,解决方法是将DHCP开启

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

因为这样的IP地址可以短暂的解决计算机不能获取 DHCP 服务器的配置数据问题,但想要真正解决还是需要计算机本身的正确IP。
Windows采用这样的方法,一方面是假如某天因 DHCP 服务器问题从而不能获得网络配置,那么我们可以查看隔壁教室计算机的配置信息来手动进行网络配置,从而使该计算机能够接入 Internet,另一方面是为了便于排查故障原因。

实验六 netstat

实作一

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

实作二

使用 netstat -an 命令,查看计算机当前的网络连接状况。更多的 netstat 命令选项,可参考上面链接 4 和 5 。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述![在这里插入图片描述](https://img-blog.csdnimg.cn/7654f128113a45b5863f3b55099cf4e2.png在这里插入图片描述

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

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

Hosts 文件记录着不同域名对应的IP 地址。在操作系统中 Hosts 文件的优先级高于 DNS 服务器,所以会首先调用Hosts中的信息,这样就能过滤掉一些广告。
正是利用 Hosts 的优先级更高,所以将错误的IP 地址与域名绑定,就实现了屏蔽某些服务器的效果。

实验八 cache

实作一

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

实作二

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

Wireshark 实验

数据链路层

实作一 熟悉 Ethernet 帧结构

使用 Wireshark 任意进行抓包,熟悉 Ethernet 帧的结构,如:目的 MAC、源 MAC、类型、字段等。
![在这里插入图片描述](https://img-blog.csdnimg.cn/609fdb321a244b42988eb2fc2363270a.png
其中,目的MAC是a0:d8:3d:74:82:20,源MAC是ac:67:5d:b2:c5:9b,类型是IPV4(0x0800),字段是18

问题:你会发现 Wireshark 展现给我们的帧中没有校验字段,请了解一下原因。

Wireshark 抓包前,物理层的网卡会先经过一次校验,只有校验正确时,才会有下一步的操作。所以我们使用Wireshark 抓包后,抓到的是已经经过校验的包,所以没有校验字段。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值