验证性试验
文章目录
ipconfig 实作一
使用 ipconfig/all 查看自己计算机的网络配置,尽可能明白每行的意思,特别注意 IP 地址、子网掩码 Subnet Mask、网关 Gateway。
ipconfig 实作二
使用 ipconfig/all 查看旁边计算机的网络配置,看看有什么异同。
与他的IPv4,子网掩码,网关都不相同,因为我没有和他处于一个子网下
✎ 问题 你的计算机和旁边的计算机是否处于同一子网,为什么?
不是,我的IPv4地址是
192.168.8.100
,子网掩码是255.255.255.0
,所以我处于192.168.8.0
子网,而他的IPv4是192.168.233.1,子网掩码是255.255.255.0,他所处的子网是192.168.233.0
,所以不是一个子网
ping 实作一
要测试到某计算机如 重庆交通大学 Web 服务器的连通性,可以使用 ping www.cqjtu.edu.cn 命令,也可直接使用 IP 地址。如下图:
在图中:
时间:代表的是返回字节的延迟;
TTL:每一个被发送出的IP信息包都有一个TTL域,该域被设置为一个较高的数值(在本例中ping信息包的TTL值为255)。当信息包在网络中被传输时,TTL的域值通过一个路由器时递减1;当TTL 递减到0时,信息包被路由器抛弃。
ping 实作二
使用 ping/?
命令了解该命令的各种选项并实际使用。如下:
从中我们可以清楚地了解ping命令的使用。
问题:假设你不能 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
不行,那么可能的原因是什么?如何进行验证和解决?另外,经常有同学问到的:“能上 QQ,但不能上网” 跟这个问题的原因是相似的。
可能是域名解析错误,修改本机的ipv4中的ip地址为自动获取的ip地址之后可以ping通。
可能是本机的防火墙不允许ping,关闭防火墙之后就可以成功ping通。
tracert 实作一
要了解到某计算机如 www.baidu.com 中间经过了哪些节点(路由器)及其它状态,可使用 tracert www.baidu.com
命令,查看反馈的信息,了解节点的个数
可通过网站 http://ip.cn 查看这些节点位于何处,是哪个公司的,大致清楚本机到百度服务器之间的路径。
tracert 实作二
ping.pe 这个网站可以探测从全球主要的 ISP 到某站点如 https://qige.io 的线路状态,当然也包括各线路到该主机的路由情况。请使用浏览器访问 http://ping.pe/qige.io 进行了解。
✎ 问题一 tracert 能告诉我们路径上的节点以及大致的延迟等信息,那么它背后的原理是什么?本问题可结合第二部分的 Wireshark 实验进行验证。
通过向目标发送不同IP生存时间 (TTL)值的“Internet控制消息协议(ICMP)”回应数据包,Tracert诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的TTL 递减1。数据包上的 TTL 减为 0 时,路由器应该将“ICMP 已超时”的消息发回源系统。 Tracert 先发送 TTL 为 1的回应数据包,并在随后的每次发送过程将TTL递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP> 已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL 过期的数据包,这在 Tracert 实用程序中看不到。
✎ 问题二 在以上两个实作中,如果你留意路径中的节点,你会发现无论是访问百度还是棋歌教学网,路径中的第一跳都是相同的,甚至你应该发现似乎前几个节点都是相同的,你的解释是什么?
因为我们电脑网络都是从本机出发通过重庆交通大学的交换机然后进入电信的通信子网上的,所以第一跳就是到交大的交换机,所以是相同的
✎ 问题三:在追踪过程中,你可能会看到路径中某些节点显示为 * 号,这是发生了什么?
本机没有收到对方的反馈信息,请求超时。
ARP 实作一
运行 arp -a
命令查看当前的 arp 缓存, 请留意缓存了些什么。
ARP命令用于地址解析,如图经过arp -a
命令之后,显示记录出现的IP地址和相关的物理地址的列表信息,从图中可以看到有四个ip接口,图中显示了这三个IP接口下的全部MAC这是因为本计算机中还存在这虚拟机,也分配了相关IP。
2.ping
旁边的计算机之后,再次查看缓存。
从图中可以看到,ping对方的IP后,可以发现ip下的缓存增加了几项,,这是因为ARP协议,在PING 对方时,通过arp 将对方主机的mac地址显示在本机上,若上方处于一个网段,则显示对方的MAC地址,若处于不同网段,则显示的是网关的MAC地址。
ARP 实作二
请使用 arp /?
命令了解该命令的各种选项。
ARP 实作三
一般而言,arp 缓存里常常会有网关的缓存,并且是动态类型的。
当前网关的 IP 地址是 192.168.8.1
,MAC 地址是 94-e9-ee-6d-2c-c5
,使用 arp -s 192.168.8.1 94-e9-ee-6d-2c-c5
命令设置其为静态类型的。
遇到上述情况添加失败,查资料可得,未以管理员身份运行 改进如下
再次使用 arp -a
✎ 问题 在实作三中,为何缓存中常常有网关的信息?我们将网关或其它计算机的 arp 信息设置为静态有什么优缺点?
如上图此时该网关的缓存成为静态的了。缓存中常常有网关的信息,ARP 缓存本身记录着你有访问过的pc网卡MAC物理地址,关于访问一个计算机IP,回复的是网关的mac地址,可能是双方不处于同一网段,或可能对方由什么保护措施,防止ARP欺骗等。
DHCP 实作一
一般地,我们自动获取的网络配置信息包括:IP 地址、子网掩码、网关 IP 以及 DNS 服务器 IP 等。使用 ipconfig/release
命令释放自动获取的网络配置,并用 ipconfig/renew
命令重新获取,了解 DHCP 工作过程和原理。
-
使用
ipconfig/release
命令释放自动获取的网络配置
-
使用ipconfig/renew命令重新获取
netstat 实作一
Windows 系统将一些常用的端口与服务记录在 C:\WINDOWS\system32\drivers\etc\services 文件中,请查看该文件了解常用的端口号分配。
netstart 实作二
使用 netstat -an
命令,查看计算机当前的网络连接状况
DNS 实作一
Windows 系统将一些固定的/静态的 DNS 信息记录在 C:\WINDOWS\system32\drivers\etc\hosts 文件中,如我们常用的 localhost 就对应 127.0.0.1 。请查看该文件看看有什么记录在该文件中。
DNS 实作二
解析过的 DNS 记录将会被缓存,以利于加快解析速度。请使用 ipconfig /displaydns
命令查看。我们也可以使用 ipconfig /flushdns
命令来清除所有的 DNS 缓存。
DNS 实作三
使用 nslookup qige.io
命令,将使用默认的 DNS 服务器查询该域名。
当然你也可以指定使用 CloudFlare(1.1.1.1)或 Google(8.8.8.8) 的全球 DNS 服务器来解析,如:nslookup qige.io 8.8.8.8
,当然,由于你懂的原因,这不一定会得到正确的答案。
Cache 实作一
打开 Chrome 或 Firefox 浏览器,访问 https://qige.io
,接下来敲 F12
键 或 Ctrl + Shift + I
组合键打开开发者工具,选择 Network
面板后刷新页面,你会在开发者工具底部看到加载该页面花费的时间。请进一步查看哪些文件被 cache了,哪些没有。
Cache 实作二
接下来仍在 Network 面板,选择 Disable cache
选项框,表明当前不使用 cache,页面数据全部来自于 Internet,刷新页面,再次在开发者工具底部查看加载该页面花费的时间。你可比对与有 cache 时的加载速度差异。