计算机网络实验报告
By NEMO
一、验证性实验
1、ipconfig
1.1、实作一
我的结果
1.2、实作二
同桌的结果:
问题:你的计算机和旁边的计算机是否处于同一子网,为什么?
答:处于同一子网!观察子网掩码(Subnet Mask),发现相同,与 IPv4 地址进行交运算发现结果相同,说明处于同一网段
,即在同一子网下。
2、ping
2.1、实作一
现在,我们来ping一下学校官网。
可以看到,学校官网对我们的测试进行了回复。
TTL是存活时间(Time To Live),是指一个数据包在经过一个路由器时,可传递的最长距离(跃点数)。
2.2、实作二
执行命令ping/?
得到如下选项,我们接下来进行尝试。
2.2.1、-t
在我们执行 Control+C 之前,可以看到一直在Ping指定的主机。
执行 Control+C 后,帮我们统计出了一些信息
2.2.2、-a
ping -a 命令的作用是:解析计算机NetBios名。
2.2.3、-n count
我们可以通过设置 count
的值来进行设置 ping 的次数。
2.2.4、-l size
我们可以通过设置size值来指定发送缓冲区大小。我们尝试使用64字节:
2.2.5、-f
在数据包中发送"不要分段"标志。数据包就不会被路由上的网关分段。
2.2.6、-i ttl
将"生存时间"字段设置为 ttl 指定的值。
2.2.7、-r count
在"记录路由"字段中记录传出和返回数据包的路由。count 可以指定最少 1 台,最多 9 台计算机。
2.2.8、-s count
指定 count 指定的跃点数的时间戳。
2.2.9、-j host-list
利用 host-list 指定的计算机列表路由数据包。连续计算机可以被中间网关分隔(路由稀疏源)IP 允许的最大数量为 9。
2.2.10、-k host-list
利用 host-list 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔(路由严格源)IP 允许的最大数量为 9。
2.2.11、-w timeout
指定超时间隔,单位为毫秒。
2.2.12、destination-list
指定要 ping 的远程计算机。
Trouble Shotting
假设你不能 ping 通某计算机或 IP,但你确定该计算机和你之间的网络是连通的,那么可能的原因是什么?该如何处理能保证 ping 通? 当你的网络出现故障不能访问某计算机如 百度的IP 时,我们可以使用排除法。现假设你的 IP 是 192.168.1.155,你旁边计算机的 IP 是 192.168.1.64,网关的 IP 是 192.168.1.1 ,那么过程如下:
1、执行 ping 127.0.0.1 ,测试自己计算机的状态。 2、ping 同网络下的其他主机,测试到旁边计算机的连通性,如果正常,那么说明本子网内部工作正常,否则,问题在本机网络出口到交换机之间,检查本机网卡到交换机的连线等。 3、ping 192.168.1.1,测试到网关的连通性,如果正常,那么说明本子网出口工作正常。 4、ping 百度,测试到百度的连通性
Trouble Shotting
假设在秘籍中进行的网络排查中,ping
百度的 IP 即 ping 14.215.177.39
没问题,但 ping
百度的域名即 ping www.baidu.com
不行,那么可能的原因是什么?如何进行验证和解决?
大概率是域名解析器 DNS服务出错。我们可以排查 DNS 客户端问题,下面是Windows官方给出的方案。
https://learn.microsoft.com/zh-cn/windows-server/networking/dns/troubleshoot/troubleshoot-dns-client
另外,经常有同学问到的:"能上 QQ,但不能上网" 跟这个问题的原因是相似的。
3、tracert
TRACERT
(Trace Route 的组合缩写),也称为路由追踪,该命令行程序可用于跟踪 Internet 协议 (IP) 数据包传送到目标地址时经过的路径。
3.1、实作一
IP | 所属地 |
---|---|
10.60.255.254 | 内网IP |
172.19.2.2 | 内网IP |
183.64.62.161 | 中国 重庆 重庆市 电信 |
222.176.89.77 | 中国 重庆 重庆市 电信 |
121.14.14.138 | 中国 广东省 广州市 电信 |
14.29.121.190 | 中国 广东省 广州市 电信 |
14.215.177.38 | 目的IP(baidu) |
3.2、实作二
点击 show
可以看到路由情况,例如我们从洛杉矶到qige.io
qige.io
部署于 github IP位于美国,因此,在国外访问会更加通畅!
体验:使用可视化追踪
4、ARP
ARP(Address Resolution Protocol)即地址解析协议,是用于根据给定网络层地址即 IP 地址,查找并得到其对应的数据链路层地址即 MAC地址的协议。 ARP 协议定义在 1982 年的 RFC 826。
注意: ARP 协议是局域网内部的协议。它解决的是同一局域网内部的主机或路由器的 IP 地址和其对应的硬件地址的映射问题。根据 ARP 协议 , 主机 A 无法解析其他网络中的主机的硬件地址。实际上,也不需要主机A解析其他网络的主机地址。因为跨网络的数据传输一般是由上层协议来完成的。
4.1、实作一
使用命令 arp -a
进行 arp 缓存删除后(执行 arp -d 需要管理员权限)
ping 后,执行 arp -a 发现多了几条
4.2、实作二
4.3、实作三
使用 IPConfig 找到当前网关 IP
使用管理员权限,执行 arp -s
🗣 TroubleShooting
你可能会在实作三的操作中得到 "ARP 项添加失败: 请求的操作需要提升" 这样的信息,表示命令没能执行成功,你该如何解决?
-- 使用管理员权限打开 cmd
✎ 问题
在实作三中,为何缓存中常常有网关的信息?
我们将网关或其它计算机的 arp 信息设置为静态有什么优缺点?
--将网关改为静态的,可以增加通信的安全性。静态ARP表项可以限制和指定IP地址的设备通信时只使用指定的MAC地址,此时攻击报文无法修改此表项的IP地址和MAC地址的映射关系,从而保护了本设备和指定设备间的正常通信。这样,防止了常见的arp欺骗。
5、DHCP
DHCP(Dynamic Host Configuration Protocol)即动态主机配置协议,是一个用于 IP 网络的网络协议,位于 OSI 模型的应用层,使用 UDP 协议工作,主要有两个用途:
-
用于内部网或网络服务供应商自动分配 IP 地址给用户
-
用于内部网管理员对所有电脑作中央管理
简单的说,DHCP 可以让计算机自动获取/释放网络配置。
5.1、实作一
执行release
后,项目都被释放掉了
执行renew
后,项目又被重新获取了
✎ 问题
在Windows系统下,如果由于某种原因计算机不能获取 DHCP 服务器的配置数据,那么Windows将会根据某种算法自动配置为 169.254.x.x 这样的 IP 地址。显然,这样的 IP 以及相关的配置信息是不能让我们真正接入 Internet 的,为什么?既然不能接入 Internet,那么Winodws系统采用这样的方案有什么意义?
-- 这样可以让我们在子网内部不至于重复,这样就可以在子网内部进行通信。
经常的,在一个固定地方的网络配置我都喜欢采用 静态/手动配置,而不是动态 DHCP 来进行。你能想到是什么原因吗?
-- 让自己的 IP 是一个固定值,方便记录和操作,也避免了新设备抢占。
-- 实在没有思路,上网查找资料看到一个解释的比较好的
-
突破区域限制:由于网站权限的限制,部分地区无法登录,固定静态IP仍无法登录。此时,选择静态代理IP和需要注册的IP地址可以轻松突破区域限制。
-
加密通信数据:绝大多数代理IP都会用强大的AES技术加密线上数据来保护用户数据,代理IP会用加密数据来保护隐私。
-
屏蔽广告骚扰:目前,许多网站和服务提供商将根据您的IP位置进行有针对性的营销推广。代理IP可以完美隐藏自己的真实IP地址,精准骚扰广告。
6、netstat
✍ 无论是使用 TCP 还是 UDP,任何一个网络服务都与特定的端口(Port Number)关联在一起。因此,每个端口都对应于某个通信协议/服务。
netstat
(Network Statistics)是在内核中访问网络连接状态及其相关信息的命令行程序,可以显示路由表、实际的网络连接和网络接口设备的状态信息,以及与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,一般用于检验本机各端口的网络服务运行状况。
6.1、实作一
Windows 系统将一些常用的端口与服务记录在 C:\WINDOWS\system32\drivers\etc\services
文件中,请查看该文件了解常用的端口号分配。
这个没什么好说的。
6.2、实作二
📬 秘籍
打开的计算机端口,就是向 Internet 打开的一个通道。通过 netstat
命令,我们可以了解当前计算机哪些端口是打开的,从而找出一些恶意后台程序,分析其所作所为,并且可以进一步将相关端口关闭,降低安全风险。
这么多项,想要从中找到恶意的后台程序,看上去是没那么容易的。
7、DNS
✍ DNS(Domain Name System)即域名系统,是互联网的一项服务。它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS 使用 TCP 和 UDP 的 53 号端口。
7.1、实作一
Windows 系统将一些固定的/静态的 DNS 信息记录在 C:\WINDOWS\system32\drivers\etc\hosts
文件中,如我们常用的 localhost
就对应