实验目录
一、ipconfig
1. 实作1
使用 ipconfig/all 查看自己计算机的网络配置,尽可能明白每行的意思,特别注意 IP 地址、子网掩码 Subnet Mask、网关 Gateway。
2. 实作2
使用 ipconfig/all 查看旁边计算机的网络配置,看看有什么异同。
你的计算机和旁边的计算机是否处于同一子网,为什么?
自己电脑:192.168.84.11 & 255.255.255.0 =192.168.84.0
旁边电脑:192.168.42.48 & 255.255.255.0 =192.168.42.0
两者不相同,处于不同子网
二、ping
1. 实作1
要测试到某计算机如 重庆交通大学 Web 服务器的连通性,可以使用 ping www.cqjtu.edu.cn 命令,也可直接使用 IP 地址。
请掌握使用该命令后屏幕显示的反馈回来信息的意思,如:TTL、时间等。
2. 实作2
使用 ping/? 命令了解该命令的各种选项并实际使用。
问题一
假设你不能 ping 通某计算机或 IP,但你确定该计算机和你之间的网络是连通的,那么可能的原因是什么?该如何处理能保证 ping 通?
可能的原因是对方服务器关闭了,或防火墙拦截了,让对方开启服务器或关闭防火墙即可
三、tracert
1. 实作1
要了解到某计算机如 www.baidu.com 中间经过了哪些节点(路由器)及其它状态,可使用 tracert www.baidu.com 命令,查看反馈的信息,了解节点的个数。
可通过网站 http://ip.cn 查看这些节点位于何处,是哪个公司的,大致清楚本机到百度服务器之间的路径。
192.168.27.103 (内网)-> 192.168.25.254(内网) -> 10.10.100.13(内网)->211.139.51.5(重庆移动)-> 218.207.40.157(重庆移动)->120.241.49.34(广东省深圳市移动)-> 183.232.231.172(广东省广州市移动)
2. 实作2
ping.pe 这个网站可以探测从全球主要的 ISP 到某站点如 https://qige.io 的线路状态,当然也包括各线路到该主机的路由情况。请使用浏览器访问 http://ping.pe/qige.io 进行了解。
问题一
tracert 能告诉我们路径上的节点以及大致的延迟等信息,那么它背后的原理是什么?本问题可结合第二部分的 Wireshark 实验进行验证。
原理是设置 TTL 为 1.2.3…n ,路由器会将死掉的包的信息返回给主机,从而实现显示路径各个结点。
问题二
在以上两个实作中,如果你留意路径中的节点,你会发现无论是访问百度还是棋歌教学网,路径中的第一跳都是相同的,甚至你应该发现似乎前几个节点都是相同的,你的解释是什么?
他们都是本地的内网,从本地到指定地址,必须经过内网到网关再到外网。
问题三
在追踪过程中,你可能会看到路径中某些节点显示为 * 号,这是发生了什么?
连接超时,没有成功与对方连接。
四、ARP
1. 实作1
给对方发送数据的时候需要转换到帧,才能从数据链路层,而帧发送到对方的时候需要获取对方的MAC地址,需要arp命令获取,第一步先从本地缓存获取对方MAC,如果没有,则以广播的方式向除发送源的ip发送请求获取mac,获取成功后,将其MAC地址缓存到本地缓存中,方便下次访问。
2. 实作2
3. 实作3
问题一
你可能会在实作三的操作中得到 “ARP 项添加失败: 请求的操作需要提升” 这样的信息,表示命令没能执行成功,你该如何解决?
以管理员身份运行cmd,再输入命令即可。
问题二
在实作三中,为何缓存中常常有网关的信息?
我们将网关或其它计算机的 arp 信息设置为静态有什么优缺点?
因为在访问外网时,需要先发送数据给网关,在本地缓存存取网关的MAC地址方便下次访问。
优点:利于管理,同时将 IP-MAC 绑定可以有效的防治 ARP 欺骗,并且可以免除用户进行身份认证的繁琐操作;
缺点:不利于维护 arp 列表,维护起来麻烦,倘若有人冒充其中一个 IP ,对用户的安全会造成极大的隐患。
五、DHCP
1. 实作1
一般地,我们自动获取的网络配置信息包括:IP 地址、子网掩码、网关 IP 以及 DNS 服务器 IP 等。使用 ipconfig/release 命令释放自动获取的网络配置,并用 ipconfig/renew 命令重新获取,了解 DHCP 工作过程和原理。
问题一
如果你没能成功的释放,请思考有哪些可能的原因并着手进行解决?
可能是软件问题:没有开启DHCP客户端服务;解决方法:在 “ 运行 ” 中输入 “ sc config DHCP start= AUTO ” 重启后就可以 了。
秘籍
在我校不少地方如教室,计算机都采用了 DHCP 来获得网络配置。假如某天因 DHCP 服务器问题从而不能获得网络配置,那么我们可以查看隔壁教室计算机的配置信息来手动进行网络配置,从而使该计算机能够接入 Internet。
经常的,在一个固定地方的网络配置我都喜欢采用 静态/手动配置,而不是动态 DHCP 来进行。你能想到是什么原因吗?
当一个地方 IP 有限且主机比较多的情况下,设置静态配置,避免被新接入的主机抢了 IP ,导致自己无法获取 IP。
六、netstat
✍ 无论是使用 TCP 还是 UDP,任何一个网络服务都与特定的端口(Port Number)关联在一起。因此,每个端口都对应于某个通信协议/服务。
netstat(Network Statistics)是在内核中访问网络连接状态及其相关信息的命令行程序,可以显示路由表、实际的网络连接和网络接口设备的状态信息,以及与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,一般用于检验本机各端口的网络服务运行状况。
1. 实作1
Windows 系统将一些常用的端口与服务记录在 C:\WINDOWS\system32\drivers\etc\services 文件中,请查看该文件了解常用的端口号分配。
2. 实作2
使用 netstat -an 命令,查看计算机当前的网络连接状况。
七、DNS
✍ DNS(Domain Name System)即域名系统,是互联网的一项服务。它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS 使用 TCP 和 UDP 的 53 号端口。
1. 实作1
Windows 系统将一些固定的/静态的 DNS 信息记录在 C:\WINDOWS\system32\drivers\etc\hosts 文件中,如我们常用的 localhost 就对应 127.0.0.1 。请查看该文件看看有什么记录在该文件中。
2. 实作2
解析过的 DNS 记录将会被缓存,以利于加快解析速度。请使用 ipconfig /displaydns 命令查看。我们也可以使用 ipconfig /flushdns 命令来清除所有的 DNS 缓存。
3. 实作3
使用 nslookup qige.io 命令,将使用默认的 DNS 服务器查询该域名。当然你也可以指定使用 CloudFlare(1.1.1.1)或 Google(8.8.8.8) 的全球 DNS 服务器来解析,如:nslookup qige.io 8.8.8.8,当然,由于你懂的原因,这不一定会得到正确的答案。
问题一
上面秘籍中我们提到了使用插件或自己修改 hosts 文件来屏蔽广告,思考一下这种方式为何能过滤广告?如果某些广告拦截失效,那么是什么原因?你应该怎样进行分析从而能够成功屏蔽它?
通过将 127.0.0.1 广告链接设置为广告推送链接,从而广告链接就不放访问到本机,而是它自己的服务器;广告拦截失效是因为有个跨服务器访问问题;可以使用 adsafe——广告管家 解决这个跨服务器访问的问题。
八、cache
✍ cache 即缓存,是 IT 领域一个重要的技术。我们此处提到的 cache 主要是浏览器缓存。
浏览器缓存是根据 HTTP 报文的缓存标识进行的,是性能优化中简单高效的一种优化方式了。一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以重复利用,还可以减少带宽,降低网络负荷。
1. 实作1
打开 Chrome 或 Firefox 浏览器,访问 https://qige.io ,接下来敲 F12 键 或 Ctrl + Shift + I 组合键打开开发者工具,选择 Network 面板后刷新页面,你会在开发者工具底部看到加载该页面花费的时间。请进一步查看哪些文件被 cache了,哪些没有。
加载页面花费了888ms;除了 qige.io 和 favicon.png 以外都被 cache 了。
2. 实作2
接下来仍在 Network 面板,选择 Disable cache 选项框,表明当前不使用 cache,页面数据全部来自于 Internet,刷新页面,再次在开发者工具底部查看加载该页面花费的时间。你可比对与有 cache 时的加载速度差异。
加载页面花费了1.2s;可以看出来将一些相同的资源缓存下载,可以加快页面的加载。