验证性实验
ipconfig
实作一
使用 ipconfig/all
查看自己计算机的网络配置,尽可能明白每行的意思,特别注意 IP
地址、子网掩码 Subnet Mask
、网关 Gateway
。
答:输入命令ipconfig/all
,查看本机所有适配器的完整 TCP/IP 配置,截图如下:
由图可知,IPv4地址为 10.160.41.137,子网掩码为 255.254.0.0 ,默认网关为 10.160.255.254。
实作二
使用 ipconfig/all
查看旁边计算机的网络配置,看看有什么异同。
答:在另外一台电脑上输入ipconfig/all
,查看该电脑的所有适配器的完整 TCP/IP 配置,结果截图如下:
,由截图可知,首先二者在配置信息的显示方面有所不同,第一张截图的显示更加详细(有可能是前面是win10,后面是win7,系统版本不一致造成),更不同的是,后者的IPv4地址为10.1.201.50,而前面截图中的是 10.160.41.137 ;后者的子网掩码为 255.255.255.128,而前者的为 255.254.0.0 ;后者的默认网关为10.1.201.1 , 而前者的为 10.160.255.254 。
答:两台电脑连接同一个WiFi,然后在控制面板中开启网络发现功能,最终可以点击网络图标来查看当前处于同一子网下的计算机,结果如下:
,由图可知,两台连接了同一WiFi下的电脑是处于同一子网下的。上面提到的网络图标为:
ping
实作一
要测试到某计算机如 重庆交通大学 Web 服务器的连通性,可以使用 ping www.cqjtu.edu.cn
命令,也可直接使用 IP 地址。请掌握使用该命令后屏幕显示的反馈回来信息的意思,如:TTL、时间等。
答:使用ping www.cqjtu.edu.cn
命令,结果截图如下:
,其中, TTL是 Time To Live的缩写,TTL是生存时间的意思,该字段指定IP包被路由器丢弃之前允许通过的最大网段数量。简单来说,TTL是IP协议包中的一个值,它告诉网络路由器包在网络中的时间是否太长而应被丢弃。;“时间=5ms”表示源地和目的地的往返时间为5ms。
实作二
使用 ping/?
命令了解该命令的各种选项并实际使用。
答:在命令行窗口输入命令ping/?
,得到如下结果:
,测试其中一个命令,ping www.cqjtu.edu.cn -4
,结果如下:
答:有一种可能的原因是对方的服务关闭了,这时候如果要
ping
通的话就要让对方开启服务即可。
答:这时候可能的原因是域名解析错误,也就是说是DNS发生故障或者设置出错了,这时候可以采取清空DNS缓存或者重置DNS设置、联系运营商等措施。
tracert
实作一
要了解到某计算机如 www.baidu.com 中间经过了哪些节点(路由器)及其它状态,可使用 tracert www.baidu.com
命令,查看反馈的信息,了解节点的个数。可通过网站 http://ip.cn 查看这些节点位于何处,是哪个公司的,大致清楚本机到百度服务器之间的路径。
答:在命令行窗口输入tracert www.baidu.com
命令,结果如下:
,其中,‘*’和“请求超时”,这表示这个路由节点和当前我们使用的宽带,是无法联通的,那么,这个节点是出现了一定问题的。
下面就通过网站 http://ip.cn 查看这些节点位于何处,是哪个公司的,大致清楚本机到百度服务器之间的路径。
实作二
ping.pe
这个网站可以探测从全球主要的 ISP 到某站点如 https://qige.io 的线路状态,当然也包括各线路到该主机的路由情况。请使用浏览器访问 http://ping.pe/qige.io 进行了解。
答:使用浏览器打开网址http://ping.pe/qige.io ,展示的部分页面如下:
答:通过向目标发送不同 IP 生存时间 (TTL) 值的“Internet 控制消息协议 (ICMP)”回应数据包,Tracert 诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减 1。数据包上的 TTL 减为 0 时,路由器应该将“ICMP 已超时”的消息发回源系统。Tracert 先发送 TTL 为 1 的回应数据包,并在随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP 已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL 过期的数据包,这在 Tracert 实用程序中看不到。
答:当要访问网址时,都会经过一个网关出口,这个出口之前的网络结点都是相同的,所以无论是访问百度还是棋歌教学网的第一跳甚至前几跳都是相同的。
答:*,表示在该路由节点上,返回消息是超时,这表示这个路由节点和当前我们使用的宽带,是无法联通的,至于原因,就有很多种了,比如:特意在路上做了过滤限制;也有可能确实是路由的问题等,具体问题需要具体分析;
ARP
实作一
运行 arp -a
命令查看当前的 arp 缓存, 请留意缓存了些什么。
然后 ping
一下你旁边的计算机 IP(注意,需保证该计算机的 IP 没有出现在 arp 缓存中,或者使用 arp -d *
先删除全部缓存),再次查看缓存,你会发现一些改变,请作出解释。
答:输入命令arp -a
,命令行输出内容如下:
使用ping
命令去ping旁边的计算机(该计算机的ip没有出现在arp缓存中),会发现在ping过之后,再使用arp -a
的命令去查看arp缓存,发现多了一条记录,这条记录所对应的地址就是刚刚ping过的地址,说明新的地址已经被存储在arp缓存中,以便下次的访问。
实作二
请使用 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
命令设置其为静态类型的。
答:输入ipconfig
命令找到本机的网关地址为:192.168.43.1,然后使用命令arp -a
,查到对应的物理地址为c2-b2-09-2e-67-e8 ,最后使用命令arp -s 192.168.43.1 c2-b2-09-2e-67-e8
,将网关地址设置为静态类型的,但出现了报错,截图如下:
解决方法如下:
- 以管理员身份运行命令行窗口cmd,然后输入命令netsh i i show in ,找到现在已经连接的网络的Idx,截图如下:
- 输入命令
netsh -c i i add neighbors 【Idx】 【IP地址】【mac地址】
修改指定 IP 的 mac,截图如下:
- 输入命令
arp -a
,查看修改是否生效,截图如下:
对比之前的类型状态,如下:
,说明问题解决并修改成功!
答:解决方式已在实作三种叙述,故在此不过多赘述。
答:因为网关作为某个子网的出口或者入口,在对外传输数据的时候,一般都会经过网关,所以一般将网关信息储存在缓存中,方便下次使用,从而提高速度,节约资源。
设置静态类型的优点:静态分配IP地址是指给每一台计算机都分配一个固定的IP地址,便于管理,特别是在根据IP地址限制网络流量的局域网中,以固定的IP地址或IP地址分组产生的流量为依据管理,可以免除在按用户方式计费时用户每次上网都必须进行的身份认证的繁琐过程,同时也避免了用户经常忘记密码的尴尬。
设置静态类型的缺点:合法用户分配的地址可能被非法盗用,不仅对网络的正常使用造成影响,同时由于被盗用的地址往往具有较高的权限,因而也容易给合法用户造成损失和潜在的安全隐患。
DHCP
实作一
一般地,我们自动获取的网络配置信息包括:IP 地址、子网掩码、网关 IP 以及 DNS 服务器 IP 等。使用 ipconfig/release
命令释放自动获取的网络配置,并用 ipconfig/renew
命令重新获取,了解 DHCP 工作过程和原理。
答:在cmd中输入ipconfig/release
命令,截图如下:
此时可以观察到网络出现了断开的现象。再次在cmd命令行窗口中输入命令ipconfig/renew
,结果如下:
网络恢复了。DHCP的工作过程可以用下图来表示:
答:有可能是没有开启DHCP服务,如果是这个原因,解决办法是:在“ 运行 ” 中输入 sc config DHCP start= AUTO 语句,然后再重启后就应该可以了。
答:这样的地址分配属于一种紧急的处理方案,并不是说Windows系统提倡用这种地址,换句话说,使用这种地址时,其实是在告诉主机,IP池中不能分配一个ip给它,或者DHCP的中继代理失效了等等原因,总之,这种方案肯定不会是一种持久的方案,应该属于一种临时处理方案。
答:原因:这样设置更加稳定,因为反正网络场所都是固定的,这时如果在网络资源紧张的时候仍设置DHCP,不仅不稳定、还有可能造成获取不到ip的情况,而且,显然设置静态的比设置动态地更加地节约网络资源,不用主机多次地获取。
netstat
实作一
Windows 系统将一些常用的端口与服务记录在 C:\WINDOWS\system32\drivers\etc\services
文件中,请查看该文件了解常用的端口号分配。
答:通过文件路径C:\WINDOWS\system32\drivers\etc\services
打开该文件,结果如下:
从上图中可以看到该文件里面记录了一系列的端口分配情况。
实作二
使用netstat -an
命令,查看计算机当前的网络连接状况。更多的 netstat 命令选项,可参考上面链接 4 和 5
答:在命令行窗口中输入命令netstat -an
,查看计算机当前的网络连接状况,其结果如下:
,由于cmd窗口输出内容较多,这里就只截取部分以证明操作的正确性。
DNS
实作一
Windows 系统将一些固定的/静态的 DNS 信息记录在 C:\WINDOWS\system32\drivers\etc\hosts
文件中,如我们常用的 localhost 就对应 127.0.0.1 。请查看该文件看看有什么记录在该文件中。
答:通过文件路径C:\WINDOWS\system32\drivers\etc\hosts
来查看该文件的文件内容,结果如下:
,从上图中可以清楚地看到文件中所包含的DNS信息记录。
实作二
解析过的 DNS 记录将会被缓存,以利于加快解析速度。请使用 ipconfig /displaydns
命令查看。我们也可以使用 ipconfig /flushdns
命令来清除所有的 DNS 缓存。
答:在命令行窗口中输入命令ipconfig /displaydns
,结果如下:
上图中将DNS缓存记录输出出来(注:由于输出内容较多,这里就只截取了一部分作为结果的验证)。再次输入命令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,当然,由于你懂的原因,这不一定会得到正确的答案。
答:在命令行窗口中输入nslookup qige.io
命令,将使用默认的 DNS 服务器查询该域名。截图如下:
答:拦截广告的原理就是通过将广告推动链接修改为它自己的服务器或者其他的黑洞网站,这样广告就不会推送到我们的电脑,如果广告拦截失败,我们可以通过添加新记录到hosts文件的方式再次增加拦截的力度或者使用 adsafe——广告管家 解决这个(跨服务器访问的)问题。
cache
实作一
打开 Chrome 或 Firefox 浏览器,访问 https://qige.io ,接下来敲 F12 键 或 Ctrl + Shift + I 组合键打开开发者工具,选择 Network 面板后刷新页面,你会在开发者工具底部看到加载该页面花费的时间。请进一步查看哪些文件被 cache了,哪些没有。
答:在浏览器中输入网址https://qige.io,然后打开控制面板后选择“NetWork”选项,刷新页面后得到以下截图:
可以看到,加载该页面花了502ms,除了fabric-icons.css和qige.io,其他的都被cache了。
实作二
接下来仍在 Network 面板,选择 Disable cache
选项框,表明当前不使用 cache,页面数据全部来自于 Internet,刷新页面,再次在开发者工具底部查看加载该页面花费的时间。你可比对与有 cache 时的加载速度差异。
答:在接下来按照要求在“NetWork”选项卡中选择Disable cache,再次刷新页面,得到如下的截图:
此时可以从截图中能够看到,加载页面花费了 1.06 s,相比启用缓存时速度慢了许多,所以,可以推测将一些资源缓存,可以极大地加快页面的加载。
答:不清理,清理了反而会降低访问网站的速度。