计算机验证性实验

1、ipconfig

ipconfig 是微软操作系统的计算机上用来控制网络连接的一个命令行工具。它的主要用来显示当前网络连接的配置信息(/all 参数)。
在这里插入图片描述
参考
https://docs.microsoft.com/zh-cn/windows-server/administration/windows-commands/ipconfig
https://www.itread01.com/articles/1475880029.html
https://zh.wikipedia.org/wiki/Ipconfig

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

在这里插入图片描述
实作二
使用 ipconfig/all 查看旁边计算机的网络配置。
在这里插入图片描述
问题:你的计算机和旁边的计算机是否处于同一子网,为什么?
答:我的计算机和旁边的计算机处于同一子网,,将IP地址和子网掩码进行与操作,得到的结果都是一样的。

2、ping

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

参考
https://bkso.baidu.com/item/ping/6235?fromtitle=PING%E5%91%BD%E4%BB%A4&fromid=670278
https://blog.csdn.net/hebbely/article/details/54965989
https://sites.google.com/site/goh1933/ping-zhi-ling-gao-ji-yong-fa

实作一
要测试到某计算机如 重庆交通大学 Web 服务器的连通性,可以使用 ping www.cqjtu.edu.cn 命令,也可直接使用 IP 地址。

请掌握使用该命令后屏幕显示的反馈回来信息的意思,如:TTL、时间等。
在这里插入图片描述
当我 ping 交大教务处时,请求超时,ping 百度可以,说明此时交大教务处 web 服务器关闭了,ping 百度的时候接受到了四个回复,都是 32 个字节长度的数据。
TLL:
存活时间,一个数据包在经过一个路由器时,可传递的最长距离(跃点数)。
由发送者设置,以防止数据包在IP互联网络上陷入死循环。
在IP数据包传输的整个转发路径上,每经过一个路由器,就把该TTL的值减1,然后再将IP包转发出去。
当IP包到达目的IP之前,TTL减少为0时,
路由器将会丢弃收到的TTL=0的IP包并向IP包的发送者发送 ICMP time exceeded超时消息。

实作二
使用 ping/? 命令了解该命令的各种选项并实际使用。
在这里插入图片描述
问题:
假设你不能 ping 通某计算机或 IP,但你确定该计算机和你之间的网络是连通的,那么可能的原因是什么?该如何处理能保证 ping 通?
答:
1.测试本机的状态。可以ping自己的IP,如果数据包没有丢失,说明问题不在本身,反之问题出现在本机,解决方法检查本机的网卡状态
2.测试本机是否可以与旁边计算机联通。如果数据包没有丢书,说明子网内部通信没有问题,反之问题及可能在本机的网线或者交换机。解决方法:检查网线连接是否正常或者交换机是否能正常工作
3.测试本机到网关是否能正常连接。如果数据包没有丢失,说明本机到网关没有问题,反之则出现了问题。解决方法:查看子网内的计算机能不能正常上网。
4.以上都没有问题,说明问题出现在网关外。解决方法打电话找工作人员。

TroubleShooting——
假设在秘籍中进行的网络排查中,ping 百度的 IP 即 ping 14.215.177.39 没问题,但 ping 百度的域名即 ping www.baidu.com 不行,那么可能的原因是什么?如何进行验证和解决?
另外,经常有同学问到的:“能上 QQ,但不能上网” 跟这个问题的原因是相似的。
答:可能的原因是 DNS 发生故障或设置错误而导致解析失败,因为域名是需要经过当地的 DNS 服务器解析成 IP ,再根据 IP 发送数据测试包。

三、tracert

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

参考
https://zh.wikipedia.org/wiki/Traceroute
https://support.microsoft.com/zh-cn/help/314868/how-to-use-tracert-to-troubleshoot-tcp-ip-problems-in-windows
http://www.ttlsa.com/tools/how-to-use-tracert/

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

在这里插入图片描述

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

在这里插入图片描述

2.ping.pe 这个网站可以探测从全球主要的 ISP 到某站点如 https://qige.io 的线路状态,当然也包括各线路到该主机的路由情况。请使用浏览器访问 http://ping.pe/qige.io 进行了解。
在这里插入图片描述
问题一
tracert 能告诉我们路径上的节点以及大致的延迟等信息,那么它背后的原理是什么?本问题可结合第二部分的 Wireshark 实验进行验证。
答:Tracert 命令确定两台主机的路由主要是通过 IP 生存时间 (TTL) 字段和 ICMP 错误消息。 在工作环境中有多条链路出口时,可以通过该命令查询数据是经过的哪一条链路出口。由于路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减 1,因此 Tracert 先发送 TTL 为 1 的回应数据包,并在随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP 已超时”的消息确定路由。

问题二
在以上两个实作中,如果你留意路径中的节点,你会发现无论是访问百度还是棋歌教学网,路径中的第一跳都是相同的,甚至你应该发现似乎前几个节点都是相同的,你的解释是什么?
答;主机的测试数据会送到网关,然后才能访问外网,有多个网关的情况下,就会出现前几个结点都是相同的。

问题三
追踪过程中,你可能会看到路径中某些节点显示为 * 号,这是发生了什么?
答:表示当前路径不到达。

秘籍
如果你使用 Linux 系统,那么应该用过其下的 My Trace Route 即 mtr 命令。

该命令的速度比 Windows 平台下的 tracert 快多了。为此,有人也开发了 Windows下的 命令,你可以试一试。其次还可以试试

另外,提供一个全球地图,可视化的显示追踪路径也值得你前往(因为使用了 Google 地图,需要科学上网)

1.https://visualtraceroute.net/
2.http://en.dnstools.ch/visual-traceroute.html
3.https://gsuite.tools/traceroute

四、ARP

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

参考
1.http://c.biancheng.net/view/6388.html
2.https://zhuanlan.zhihu.com/p/28771785
3.https://juejin.im/entry/5b85f4c6e51d451a447a7adc
4.https://www.cnblogs.com/songwenlong/p/6103406.html

实作一
运行 arp -a 命令查看当前的 arp 缓存, 请留意缓存了些什么。
在这里插入图片描述
然后 ping 一下你旁边的计算机 IP(注意,需保证该计算机的 IP 没有出现在 arp 缓存中,或者使用 arp -d * 先删除全部缓存),再次查看缓存,你会发现一些改变,请作出解释。
在这里插入图片描述
这里我ping我傍边的电脑,一直是请求超时。可能是他的电脑防火墙是出于开启状态,所以ping不上。
在这里插入图片描述
实作二
请使用 命令了解该命令的各种选项。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 项添加失败: 请求的操作需要提升” 这样的信息,表示命令没能执行成功,你该如何解决?
1.以管理员身份运行 cmder
2.netsh i i show in 找到指定 Idx

问题
在实作三中,为何缓存中常常有网关的信息?
答:因为在对外传输数据的时候,会将经过的网关信息存储在缓存中,方便下次使用。
我们将网关或其它计算机的 arp 信息设置为静态有什么优缺点?
答:优点在于管理方便且可以有效防止局域网中的ARP欺骗。
缺点在于静态ARP如果绑定错误ARP信息,修改麻烦。

五、DHCP

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

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

参考
https://zh.wikipedia.org/wiki/%E5%8A%A8%E6%80%81%E4%B8%BB%E6%9C%BA%E8%AE%BE%E7%BD%AE%E5%8D%8F%E8%AE%AE
https://docs.oracle.com/cd/E24847_01/html/819-7058/dhcp-overview-3.html
https://www.jianshu.com/p/a14b5446855e

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

在这里插入图片描述

TroubleShooting
如果你没能成功的释放,请思考有哪些可能的原因并着手进行解决?
答:可能是软件问题:没有开启DHCP客户端服务;解决方法:在 “ 运行 ” 中输入 “ sc config DHCP start= AUTO ” 重启后就OK 了。

问题
在Windows系统下,如果由于某种原因计算机不能获取 DHCP 服务器的配置数据,那么Windows将会根据某种算法自动配置为 169.254.x.x 这样的 IP 地址。显然,这样的 IP 以及相关的配置信息是不能让我们真正接入 Internet 的,为什么?既然不能接入 Internet,那么Winodws系统采用这样的方案有什么意义?
答:这是Windows操作系统为了防止主机脱网,为网卡设置169.254.x.x的保留IP,如果由于某种原因计算机不能获取 DHCP 服务器的配置数据时,他们还通过保留地址还可以互相通讯。

六、netstat

无论是使用 TCP 还是 UDP,任何一个网络服务都与特定的端口(Port Number)关联在一起。因此,每个端口都对应于某个通信协议/服务。

netstat(Network Statistics)是在内核中访问网络连接状态及其相关信息的命令行程序,可以显示路由表、实际的网络连接和网络接口设备的状态信息,以及与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,一般用于检验本机各端口的网络服务运行状况。

参考
1.https://zh.wikipedia.org/zh-cn/%E9%80%9A%E8%A8%8A%E5%9F%A0
2.https://zh.wikipedia.org/wiki/TCP/UDP%E7%AB%AF%E5%8F%A3%E5%88%97%E8%A1%A8
3.https://cnbin.github.io/blog/2015/08/22/wang-luo-chang-yong-duan-kou-hao-da-quan/
4.https://www.jianshu.com/p/b866f3f6e46e
5.https://blog.csdn.net/weixin_39800144/article/details/80929947

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

实作二
使用 命令,查看计算机当前的网络连接状况。更多的 netstat 命令选项,可参考上面链接 4 和 5 。netstat -an

秘籍
打开的计算机端口,就是向 Internet 打开的一个通道。通过 netstat 命令,我们可以了解当前计算机哪些端口是打开的,从而找出一些恶意后台程序,分析其所作所为,并且可以进一步将相关端口关闭,降低安全风险。

七、DNS

DNS(Domain Name System)即域名系统,是互联网的一项服务。它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS 使用 TCP 和 UDP 的 53 号端口。

参考
1.https://zh.wikipedia.org/wiki/%E5%9F%9F%E5%90%8D%E7%B3%BB%E7%BB%9F
2.https://www.cnblogs.com/crazylqy/p/7110357.html
3.https://juejin.im/post/5b0a32a36fb9a07ab979f0b4
4.https://blog.csdn.net/violet_echo_0908/article/details/52033725
5.https://www.cnblogs.com/machangwei-8/p/10353137.html

实作一
Windows 系统将一些固定的/静态的 DNS 信息记录在 C:\WINDOWS\system32\drivers\etc\hosts 文件中,如我们常用的 localhost 就对应 127.0.0.1 。请查看该文件看看有什么记录在该文件中。在这里插入图片描述
实作二
解析过的 DNS 记录将会被缓存,以利于加快解析速度。请使用 ipconfig /displaydns
命令查看。我们也可以使用 命令来清除所有的 DNS 缓存。ipconfig /flushdns
实作三
使用 命令,将使用默认的 DNS 服务器查询该域名。当然你也可以指定使用 CloudFlare(1.1.1.1)或 Google(8.8.8.8) 的全球 DNS 服务器来解析;。nslookup qige.io
秘籍
当我们使用浏览器上网时,或多或少的会看到一些广告。某些网站的广告是非常没有节操的,所以我们一般可以通过安装浏览器插件如 AdGuard、AdBlocker 等来拦截和过滤。
这种方法简单方便有效,不过有一定安全或隐私问题,因为该插件实时知道你访问的 URL。
假设不使用这种第三方的插件,希望自己完全控制,那么就请考虑在我们前面提到的 hosts 文件中添加 DNS 记录。有自愿者时时在维护全球正确的 DNS 记录文件

TroubleShooting
上面秘籍中我们提到了使用插件或自己修改 hosts 文件来屏蔽广告,思考一下这种方式为何能过滤广告?如果某些广告拦截失效,那么是什么原因?你应该怎样进行分析从而能够成功屏蔽它?
答:hosts文件是将一些常用的网址域名与其对应的IP地址建立一个关联,广告跳转而来,因此屏蔽域名即可,而小广告就是网站的一些链接,因此就可以使用修改 hosts 文件来屏蔽广告。广告拦截失效的原因在于此时弹出的小广告不是链接,需要分析网页代码修改IP。

八、cache

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

参考
1.https://www.jianshu.com/p/54cc04190252
2.https://zhuanlan.zhihu.com/p/60950750
3.https://juejin.im/entry/5ad86c16f265da505a77dca4

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

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

九、总结

刚才我们使用了浏览器的开发者工具,这个异常强大的工具也非常有助于我们学习计算机网络。请前往学习:
Firefox开发者工具 https://developer.mozilla.org/zh-CN/docs/Tools
Chrome开发者工具 https://developers.google.com/web/tools/chrome-devtools?hl=zh-cn

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值