一、验证性实验
1.ipconfig
实作一
使用 ipconfig/all
查看自己计算机的网络配置,尽可能明白每行的意思,特别注意 IP
地址、子网掩码 Subnet Mask
、网关 Gateway
。
使用cmder的结果:
实作二
使用 ipconfig/all
查看旁边计算机的网络配置,看看有什么异同。
旁边没有计算机。
ping
实作一
要测试到某计算机如 重庆交通大学 Web 服务器的连通性,可以使用 ping www.cqjtu.edu.cn
命令,也可直接使用 IP 地址。
结果:
实作二
使用 ping/?
命令了解该命令的各种选项并实际使用。
结果:
✎ TroubleShooting
假设你不能 ping
通某计算机或 IP,但你确定该计算机和你之间的网络是连通的,那么可能的原因是什么?该如何处理能保证 ping
通?
答:
可能的原因有: 1. 对方的网络防火墙设置了禁止 ping 的策略; 2. 对方的网络设备(路由器等)上的 ICMP 协议已经被禁用; 3. 对方的网络中存在拒绝 ICMP 包的设备; 4. 网络出现线路故障,导致 ICMP 包无法到达。
处理方式: 1. 检查对方的网络防火墙设置,确认允许 ICMP 包的传输; 2. 检查对方的网络设备的 ICMP 协议是否已经开启; 3. 检查对方网络中是否有拒绝 ICMP 包的设备,并将其关闭; 4. 检查网络是否有线路故障,如果有,则解决线路故障。
课外浏览
ping 这个程序曾经是有 bug 的,比如使对方缓冲区溢出导致死机,或死 ping 对方以达到耗费对方主机的系统和网络资源等,请查阅相关资料了解。
答: 这些类型的 bug 在过去曾经存在。在某些情况下,ping 命令可能会导致恶意的缓冲区溢出,从而导致目标机器死机。此外,攻击者还可以利用 ping 命令进行死 ping 攻击,即不断发送 ping 请求,以耗尽目标主机的系统和网络资源。为了解决这些问题,很多操作系统和路由器都对 ping 命令进行了限制,比如限制每秒发送的 ping 数量等。
tracert
实作一
要了解到某计算机如 www.baidu.com 中间经过了哪些节点(路由器)及其它状态,可使用 tracert www.baidu.com
命令,查看反馈的信息,了解节点的个数。
可通过网站 http://ip.cn 查看这些节点位于何处,是哪个公司的,大致清楚本机到百度服务器之间的路径。
结果:
实作二
ping.pe
这个网站可以探测从全球主要的 ISP 到某站点如 https://qige.io 的线路状态,当然也包括各线路到该主机的路由情况。请使用浏览器访问 http://ping.pe/qige.io 进行了解。
✎ 问题一
tracert
能告诉我们路径上的节点以及大致的延迟等信息,那么它背后的原理是什么?
答:Tracert是一个TCP/IP命令,它使用叫做Internet Control Message Protocol(ICMP)的回显请求(echo request)来检测路由器之间的路径。 当每个回显请求发送到一个新的路由器时,它会发出一个ICMP回复(echo reply)。 回复中包含路由器的IP地址和延迟,以及该请求是否到达目标,如果没有,它会继续前进,直到达到目标为止。
✎ 问题二
在以上两个实作中,如果你留意路径中的节点,你会发现无论是访问百度还是棋歌教学网,路径中的第一跳都是相同的,甚至你应该发现似乎前几个节点都是相同的,你的解释是什么?
答:这是因为电脑发出的信息都被路由器转发到了相同的地址,也就是网关,网关是计算机连接到互联网的第一站,也就是ISP(互联网服务提供商)。所以,无论你要去到百度还是棋歌教学网,信息都需要经过ISP,因此路径中的前几跳都是相同的。
✎ 问题三
在追踪过程中,你可能会看到路径中某些节点显示为 * 号,这是发生了什么?
答:当路径跟踪器遇到一个不可到达的节点时,它会将其标记为*号。这可能是因为节点上发生了一些错误而无法访问,或者可能是因为节点已经被删除或禁用。
ARP
实作一
运行 arp -a
命令查看当前的 arp 缓存, 请留意缓存了些什么。
然后 ping
一下你旁边的计算机 IP(注意,需保证该计算机的 IP 没有出现在 arp 缓存中,或者使用 arp -d *
先删除全部缓存),再次查看缓存,你会发现一些改变,请作出解释。
实作二
请使用