验证性实验:计算机网络常用命令

it2023-08-13  73

文章目录

实验说明一、ipconfig实作1:查看自己计算机的网络配置实作2:查看旁边计算机的网络配置 二、ping实作1:测试到某计算机服务器的连通性实作2:了解`ping/?`命令的各种选项 三、tracert实作1:到某计算机中间经过的节点(路由器)实作2:了解全球主要的 ISP 到某站点的线路状态 四、ARP实作1:查看当前的 arp 缓存实作2:了解`arp /?`命令的各种选项实作3:将arp 缓存里的动态网关设置其为静态类型 五、DHCP实作:获取或释放网络配置 六、netstat实作1:查看常用的端口与服务实作2:查看计算机当前的网络连接状况 七、DNS实作1:查看固定的/静态的 DNS 信息实作2:查看或清除解析过的 DNS 记录实作3:使用 DNS 服务器查询域名 八、cache实作1:查看有缓存时加载网页花费的时间实作2:查看无缓存时加载网页花费的时间 总结

实验说明

本部分我们将在命令行窗口程序cmder中进行计算机语言常用命令的使用,包含 8 个实验,实验 1~7 使用 Cmder 在命令行窗口完成,实验 8 使用浏览器完成。

一、ipconfig

ipconfig是微软操作系统的计算机上用来控制网络连接的一个命令行工具。它的主要用来显示当前网络连接的配置信息(/all 参数)。 🌏 详细参考: 1、ipconfig 2、ipconfig命令详细图解 3、https://zh.wikipedia.org/wiki/Ipconfig

实作1:查看自己计算机的网络配置

使用ipconfig/all查看自己计算机的网络配置,尽可能明白每行的意思,特别注意 IP 地址、子网掩码 Subnet Mask、网关 Gateway。 本机的IP 地址、子网掩码 Subnet Mask、网关 Gateway如下:

实作2:查看旁边计算机的网络配置

使用 ipconfig/all 查看旁边计算机的网络配置,看看有什么异同。 ✎ 问题 你的计算机和旁边的计算机是否处于同一子网,为什么?

答: 两者’ip地址与子网掩码化为二进制并相与后,得到的结果为相同的网络号,所以我的计算机和旁边的计算机处于同一子网。

二、ping

PING(Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序 。ping是工作在 TCP/IP 网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送 ICMP(Internet Control Message Protocol 因特网报文控制协议)Echo 请求报文,测试目的站是否可达及了解其有关状态。 🌏 详细参考: 1、PING命令 2、Ping 命令详解 3、https://sites.google.com/site/goh1933/ping-zhi-ling-gao-ji-yong-fa

实作1:测试到某计算机服务器的连通性

要测试到某计算机如重庆交通大学 Web 服务器的连通性,可以使用ping www.cqjtu.edu.cn 命令,也可直接使用 IP 地址。掌握使用该命令后屏幕显示的反馈回来信息的意思,如:TTL、时间等。 时间:指得到对方回应的时间 TTL:指数据包被路由器丢弃之前所允许通过的网段数量

实作2:了解ping/?命令的各种选项

使用ping/? 命令了解该命令的各种选项并实际使用。 ✎ 问题1: 假设你不能ping通某计算机或 IP,但你确定该计算机和你之间的网络是连通的,那么可能的原因是什么?该如何处理能保证 ping 通? 📬 秘籍: 当你的网络出现故障不能访问某计算机如 14.215.177.39 (百度的 IP 地址之一 ) 时,我们一般可采用由近及远的连通性测试来确定问题所在。现假设你的 IP 是 192.168.1.89,你旁边计算机的 IP 是 192.168.1.64,网关的 IP 是 192.168.1.1 ,那么过程如下: ✎ 问题2: 假设在秘籍中进行的网络排查中,ping 百度的 IP 即 ping 14.215.177.39 没问题,但 ping 百度的域名即 ping www.baidu.com 不行,那么可能的原因是什么?如何进行验证和解决?

原因:不能ping通域名,说明dns解析失败;输入的域名首先要由当地的dns服务器转换为对应的ip地址,然后根据ip地址发送icmp数据包测试;由于dns服务器故障或者设置错误,就会出现现在的问题。 解决办法:   1、咨询当地电信部门,是否当地dns服务器故障。   2、百度搜索当地dns服务器地址,检查当前dns服务器设置是否正确。   3、可临时设置dns服务器地址为8.8.8.8,该服务器延迟会比较大。

三、tracert

TRACERT (Trace Route 的组合缩写),也称为路由追踪,该命令行程序可用于跟踪 Internet 协议(IP)数据包传送到目标地址时经过的路径。 🌏 详细参考: 1、https://zh.wikipedia.org/wiki/Traceroute 2、如何使用 TRACERT 解决 Windows 中的 TCP/IP 问题 3、tracert路由跟踪工具使用方法

实作1:到某计算机中间经过的节点(路由器)

要了解到某计算机如 www.baidu.com 中间经过了哪些节点(路由器)及其它状态,可使用 tracert www.baidu.com 命令,查看反馈的信息,了解节点的个数。 可通过网站 http://ip.cn 查看这些节点位于何处,是哪个公司的,大致清楚本机到百度服务器之间的路径。

实作2:了解全球主要的 ISP 到某站点的线路状态

ping.pe 这个网站可以探测从全球主要的 ISP 到某站点如 https://qige.io 的线路状态,当然也包括各线路到该主机的路由情况。请使用浏览器访问 http://ping.pe/qige.io 进行了解。 ✎ 问题1: tracert 能告诉我们路径上的节点以及大致的延迟等信息,那么它背后的原理是什么?本问题可结合第二部分的 Wireshark 实验进行验证。 答: 通过向目标发送不同IP生存时间 (TTL) 值的“Internet控制消息协议(ICMP)”回应数据包,Tracert诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减1。数据包上的 TTL 减为 0 时,路由器应该将“ICMP 已超时”的消息发回源系统。 Tracert 先发送 TTL 为 1的回应数据包,并在随后的每次发送过程将TTL递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL 过期的数据包,这在 Tracert 实用程序中看不到。 ✎ 问题2: 在追踪过程中,你可能会看到路径中某些节点显示为 * 号,这是发生了什么? 答: Tracert会提取ICMP的超时回应数据报中的IP地址并作主机名解析(用-d参数表示不解析主机名,解析主机名会耽误一些时间),然后将所经过的路由器的主机名及IP地址、数据报每次往返花费的时间显示出来。Tracert有一个固定的等待响应时间,如果这个时间过了,tracert就会输出“*”来表示某个设备没有在规定的时间内作出响应,然后tracert会将TTL值加1,继续进行检测。

四、ARP

ARP(Address Resolution Protocol)即地址解析协议,是用于根据给定网络层地址即 IP 地址,查找并得到其对应的数据链路层地址即 MAC地址的协议。 ARP 协议定义在 1982 年的 RFC 826。 🌏 详细参考: 1、ARP协议的工作机制详解 2、图解ARP协议(一) 3、ARP协议详解 4、TCP/IP协议——ARP详解

实作1:查看当前的 arp 缓存

运行 arp -a 命令查看当前的 arp 缓存, 请留意缓存了些什么。 然后 ping 一下你旁边的计算机 IP(注意,需保证该计算机的 IP 没有出现在 arp 缓存中,或者使用 arp -d * 先删除全部缓存),再次查看缓存,你会发现一些改变,请作出解释。 当我的arp 缓存中没有该计算机的 IP时 ,若我ping了它的ip地址,我的缓存里就会有它的mac地址。是因为当我没有对方的mac地址时,运行ARP就会广播谁是该计算机的mac地址,然后有它的mac地址的会以予回应,因此我的arp 缓存中就有了该计算机的 IP。

实作2:了解arp /?命令的各种选项

请使用 arp /? 命令了解该命令的各种选项。

实作3:将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 命令设置其为静态类型的。 此时可能出现以下问题 解决办法参考链接: ARP项添加失败:请求的操作需要提升。 ✎ 问题: 在实作3中,为何缓存中常常有网关的信息? 我们将网关或其它计算机的 arp 信息设置为静态有什么优缺点? 答; 1、因为缓存本身记录着你有访问过的pc 网卡MAC物理地址。 2、静态分配IP地址是指给每一台计算机都分配一个固定的IP地址,优点是便于管理,特别是在根据IP地址限制网络流量的局域网中,以固定的IP地址或IP地址分组产生的流量为依据管理,可以免除在按用户方式计费时用户每次上网都必须进行的身份认证的繁琐过程,同时也避免了用户经常忘记密码的尴尬。静态分配IP地址的弱点是合法用户分配的地址可能被非法盗用,不仅对网络的正常使用造成影响,同时由于被盗用的地址往往具有较高的权限,因而也容易给合法用户造成损失和潜在的安全隐患。

五、DHCP

DHCP(Dynamic Host Configuration Protocol)即动态主机配置协议,是一个用于 IP 网络的网络协议,位于 OSI 模型的应用层,使用 UDP 协议工作,主要有两个用途: 1、用于内部网或网络服务供应商自动分配 IP 地址给用户 2、用于内部网管理员对所有电脑作中央管理 简单的说,DHCP可以让计算机自动获取/释放网络配置。 🌏 详细参考: 1、https://zh.wikipedia.org/wiki/%E5%8A%A8%E6%80%81%E4%B8%BB%E6%9C%BA%E8%AE%BE%E7%BD%AE%E5%8D%8F%E8%AE%AE 2、DHCP 的工作原理 3、《TCP/IP协议 详解》思考总结 · 二

实作:获取或释放网络配置

一般地,我们自动获取的网络配置信息包括:IP 地址、子网掩码、网关 IP 以及 DNS 服务器 IP 等。使用 ipconfig/release 命令释放自动获取的网络配置,并用 ipconfig/renew 命令重新获取,了解 DHCP 工作过程和原理。 释放自动获取的网络配置: 重新获取网络配置: ✎ 问题1: 在Windows系统下,如果由于某种原因计算机不能获取 DHCP 服务器的配置数据,那么Windows将会根据某种算法自动配置为 169.254.x.x 这样的 IP 地址。显然,这样的 IP 以及相关的配置信息是不能让我们真正接入 Internet 的,为什么?既然不能接入 Internet,那么Winodws系统采用这样的方案有什么意义? 答: 因为自动配置的IP地址和信息只是短暂性的解决计算机不能获取 DHCP 服务器的配置数据的问题,要真正的接入Internet还是得本身计算机的正确IP地址。意义是假如某天因 DHCP 服务器问题从而不能获得网络配置,那么我们可以查看隔壁教室计算机的配置信息来手动进行网络配置,从而使该计算机能够接入 Internet。

✎ 问题2: 在我校不少地方如教室,计算机都采用了 DHCP 来获得网络配置。假如某天因 DHCP 服务器问题从而不能获得网络配置,那么我们可以查看隔壁教室计算机的配置信息来手动进行网络配置,从而使该计算机能够接入 Internet。 经常的,在一个固定地方的网络配置我都喜欢采用 静态/手动配置,而不是动态 DHCP 来进行。你能想到是什么原因吗? 答: 1、动态IP需要在连接网bai络时自动获取IP地址以供du用户正常上网,而静态zhiIP是ISP在装机时分配给用户的IP地址,可以直接连接上网,不需要获取IP地址。 2.静态IP是可以直接上网的IP段,该IP在ISP装机时会划分一个IP地址给你,让计算机在连接网络时不再自动获取网络地址,避免了网络连接上的困扰。 3、动态IP和静态IP对网速的影响,ISP对每个用户所提供的网速,并不是从IP地址限定的,而是从用户连接到ISP的物理线路上进行限定的。

六、netstat

无论是使用 TCP 还是 UDP,任何一个网络服务都与特定的端口(Port Number)关联在一起。因此,每个端口都对应于某个通信协议/服务。 netstat(Network Statistics)是在内核中访问网络连接状态及其相关信息的命令行程序,可以显示路由表、实际的网络连接和网络接口设备的状态信息,以及与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,一般用于检验本机各端口的网络服务运行状况。 🌏 详细参考: 1、https://zh.wikipedia.org/zh-cn/%E9%80%9A%E8%A8%8A%E5%9F%A0 2、https://zh.wikipedia.org/wiki/TCP/UDP%E7%AB%AF%E5%8F%A3%E5%88%97%E8%A1%A8 3、网络常用端口号大全 4、netstat 命令用法详解 5、netstat 命令详解

实作1:查看常用的端口与服务

Windows 系统将一些常用的端口与服务记录在 C:\WINDOWS\system32\drivers\etc\services 文件中,请查看该文件了解常用的端口号分配。

实作2:查看计算机当前的网络连接状况

使用 netstat -an 命令,查看计算机当前的网络连接状况。更多的 netstat 命令选项,可参考上面链接 4 和 5 。 📬 秘籍: 打开的计算机端口,就是向 Internet 打开的一个通道。通过 netstat 命令,我们可以了解当前计算机哪些端口是打开的,从而找出一些恶意后台程序,分析其所作所为,并且可以进一步将相关端口关闭,降低安全风险。

七、DNS

DNS(Domain Name System)即域名系统,是互联网的一项服务。它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS 使用 TCP 和 UDP 的 53 号端口。 🌏 详细参考 1、https://zh.wikipedia.org/wiki/%E5%9F%9F%E5%90%8D%E7%B3%BB%E7%BB%9F 2、一张图看懂DNS域名解析全过程 3、DNS解析过程原理 4、nslookup命令详解 5、nslookup命令详解

实作1:查看固定的/静态的 DNS 信息

Windows 系统将一些固定的/静态的 DNS 信息记录在 C:\WINDOWS\system32\drivers\etc\hosts 文件中,如我们常用的 localhost 就对应 127.0.0.1 。请查看该文件看看有什么记录在该文件中。

实作2:查看或清除解析过的 DNS 记录

解析过的 DNS 记录将会被缓存,以利于加快解析速度。请使用 ipconfig /displaydns 命令查看。我们也可以使用 ipconfig /flushdns 命令来清除所有的 DNS 缓存。 查看解析过的 DNS 记录: 清除 DNS 缓存:

实作3:使用 DNS 服务器查询域名

使用 nslookup qige.io 命令,将使用默认的 DNS 服务器查询该域名。当然你也可以指定使用 CloudFlare(1.1.1.1)或 Google(8.8.8.8) 的全球 DNS 服务器来解析,如:nslookup qige.io 8.8.8.8,当然,由于你懂的原因,这不一定会得到正确的答案。 📬 秘籍: 当我们使用浏览器上网时,或多或少的会看到一些广告。某些网站的广告是非常没有节操的,所以我们一般可以通过安装浏览器插件如 AdGuard、AdBlocker 等来拦截和过滤。 这种方法简单方便有效,不过有一定安全或隐私问题,因为该插件实时知道你访问的 URL。 假设不使用这种第三方的插件,希望自己完全控制,那么就请考虑在我们前面提到的 hosts 文件中添加 DNS 记录。有自愿者时时在维护全球正确的 DNS 记录文件

八、cache

cache 即缓存,是 IT 领域一个重要的技术。我们此处提到的 cache 主要是浏览器缓存。 浏览器缓存是根据 HTTP 报文的缓存标识进行的,是性能优化中简单高效的一种优化方式了。一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以重复利用,还可以减少带宽,降低网络负荷。 🌏 详细参考: 1、深入理解浏览器的缓存机制 2、浏览器缓存看这一篇就够了 3、彻底理解浏览器的缓存机制

实作1:查看有缓存时加载网页花费的时间

打开 Chrome 或 Firefox 浏览器,访问 https://qige.io ,接下来敲 F12 键 或 Ctrl + Shift + I 组合键打开开发者工具,选择 Network 面板后刷新页面,你会在开发者工具底部看到加载该页面花费的时间。请进一步查看哪些文件被 cache了,哪些没有。

实作2:查看无缓存时加载网页花费的时间

接下来仍在 Network 面板,选择 Disable cache 选项框,表明当前不使用 cache,页面数据全部来自于 Internet,刷新页面,再次在开发者工具底部查看加载该页面花费的时间。你可比对与有 cache 时的加载速度差异。 由实作1、2可知,Disable cache时比cache时的加载速度慢。

总结

通过这次实验,我掌握了计算机网络的常用命令并能对其进行相应的操作,对计算机网络有了更加深刻的了解。

最新回复(0)