计算机网路——验证性实验

计算机网络实验教程-棋歌教学网
本部分共有 8 个实验,实验 1~7 使用 Cmder 在命令行窗口完成,实验 8 使用浏览器完成。

1. IPconfig

1.1. 命令功能简述

显示所有当前 TCP/IP 网络配置值,并刷新动态主机配置协议 (DHCP) 和域名系统 (DNS) 设置。

1.2. 格式、参数及选项简述

用法:
ipconfig [/allcompartments] [/? | /all |
/renew [adapter] | /release [adapter]|
/renew6 [adapter] | /release6 [adapter]|
/flushdns | /displaydns | /registerdns |
/showclassid adapter |
/setclassid adapter [classid] |
/showclassid6 adapter |
/setclassid6 adapter [classid] ]
其中
adapter 连接名称 (允许使用通配符 * 和 ?,参见示例)
选项:
/? 显示此帮助消息
/all 显示完整配置信息。
/release 释放指定适配器的 IPv4 地址。
/release6 释放指定适配器的 IPv6 地址。
/renew 更新指定适配器的 IPv4 地址。
/renew6 更新指定适配器的 IPv6 地址。
/flushdns 清除 DNS 解析程序缓存。
/registerdns 刷新所有 DHCP 租用并重新注册 DNS 名称
/displaydns 显示 DNS 解析程序缓存的内容。
/showclassid 显示适配器允许的所有 DHCP 类 ID。
/setclassid 修改 DHCP 类 ID。
/showclassid6 显示适配器允许的所有 IPv6 DHCP 类 ID。
/setclassid6 修改 IPv6 DHCP 类 ID。
默认情况下,仅显示绑定到 TCP/IP 的每个适配器的 IP 地址、子网掩码和默认网关。
对于 Release 和 Renew,如果未指定适配器名称,则会释放或更新所有绑定到 TCP/IP 的适配器的 IP 地址租用。
对于 Setclassid 和 Setclassid6,如果未指定 ClassId,则会删除 ClassId。

示例:
ipconfig … 显示信息
ipconfig /all … 显示详细信息
ipconfig /renew … 更新所有适配器
ipconfig /renew EL* … 更新所有名称以 EL 开头
的连接
ipconfig /release Con … 释放所有匹配的连接,
例如“有线以太网连接 1”或
“有线以太网连接 2”
ipconfig /allcompartments … 显示有关所有隔离舱的
信息
ipconfig /allcompartments /all … 显示有关所有隔离舱的
详细信息

1.3. 实验描述

1.3.1. 实验记录

(1) 实作一

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

 ipconfig/all 

在这里插入图片描述
在这里插入图片描述

IP 地址:192.168.43.7
子网掩码 Subnet Mask:255.255.255.0
网关 Gateway:192.168.43.1

(2) 实作二

使用 ipconfig/all 查看旁边计算机的网络配置,看看有什么异同。
旁边同学的计算机配置如下:
在这里插入图片描述
对比发现,子网掩码与网关相同, IP 地址不同。

1.3.2. 问题分析

  • 问题:
    你的计算机和旁边的计算机是否处于同一子网,为什么?
  • 回答:
    是处于同一子网,因为我们ip地址的前两位都是192.168。

2. Ping

2.1. 命令功能简述

ICMP协议“Internet Control Message Protocol”(因特网控制消息协议),是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。

Ping (Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序。Ping使用ICMP发送数据协议;回声请求消息给目的地并报告是否收到所希望的ICMP echo (即回声应答),用来检查网络是否通畅或者网络连接速度。Ping命令可以对一个网络地址发送测试数据包,看该网络地址是否有响应并统计响应时间,以此测试网络。

2.2. 格式、参数及选项简述

用法: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
[-r count] [-s count] [[-j host-list] | [-k host-list]]
[-w timeout] [-R] [-S srcaddr] [-c compartment] [-p]
[-4] [-6] target_name
选项:
-t Ping 指定的主机,直到停止。
若要查看统计信息并继续操作,请键入 Ctrl+Break;
若要停止,请键入 Ctrl+C。
-a 将地址解析为主机名。
-n count 要发送的回显请求数。
-l size 发送缓冲区大小。
-f 在数据包中设置“不分段”标记(仅适用于 IPv4)。
-i TTL 生存时间。
-v TOS 服务类型(仅适用于IPv4。该设置已被弃用,
对IP 标头中的服务类型字段没有任何影响)。
-r count 记录计数跃点的路由(仅适用于 IPv4)。
-s count 计数跃点的时间戳(仅适用于 IPv4)。
-j host-list 与主机列表一起使用的松散源路由(仅适用于 IPv4)。
-k host-list 与主机列表一起使用的严格源路由(仅适用于 IPv4)。
-w timeout 等待每次回复的超时时间(毫秒)。
-R 同样使用路由标头测试反向路由(仅适用于 IPv6)。
根据 RFC 5095,已弃用此路由标头。
如果使用此标头,某些系统可能丢弃
回显请求。
-S srcaddr 要使用的源地址。
-c compartment 路由隔离舱标识符。
-p Ping Hyper-V 网络虚拟化提供程序地址。
-4 强制使用 IPv4。
-6 强制使用 IPv6。

2.3. 实验描述

2.3.1. 实验记录

(1) 实作一

要测试到某计算机如 “重庆交通大学Web服务器” 的连通性,可以使用ping www.cqjtu.edu.cn命令,也可直接使用 IP 地址。

ping www.cqjtu.edu.cn 

在这里插入图片描述

(2) 实作二

使用 ping/? 命令了解该命令的各种选项并实际使用。

ping/? 

在这里插入图片描述

ping -t www.baidu.com

在这里插入图片描述

2.3.2. 问题分析

  • 问题:
    假设你不能 ping 通某计算机或 IP,但你确定该计算机和你之间的网络是连通的,那么可能的原因是什么?该如何处理能保证 ping 通?

秘籍:
当你的网络出现故障不能访问某计算机如 14.215.177.39 (百度的 IP 地址之一 ) 时,我们一般可采用由近及远的连通性测试来确定问题所在。现假设你的 IP 是 192.168.1.89,你旁边计算机的 IP 是 192.168.1.64,网关的 IP 是 192.168.1.1 ,那么过程如下:

  1. ping 127.0.0.1,测试自己计算机的状态,如果 OK,那么说明本机网络软件硬件工作正常,否则,问题在本机,检查本机 TCP/IP 配置即网卡状态等;
  2. ping 192.168.1.64 ,测试到旁边计算机的连通性,如果OK,那么说明本子网内部工作正常,否则,问题在本机网络出口到交换机之间,检查本机网卡到交换机的连线等;
  3. ping 192.168.1.1,测试到网关的连通性,如果 OK,那么说明本子网出口工作正常,否则,问题在网关,这是你无能为力的事情,报告给网管;
  4. ping 14.215.177.39,测试到百度的连通性,如果 OK,那就 OK,否则,问题在网关以外,这也是你无能为力的事情,报告给网管或者李彦宏?
  • 回答:
    1.ping 192.168.43.7 —— 本机状态正常
    2.ping 192.168.43.131 —— 无法访问,子网内部工作异常
    3.ping 192.168.43.1 —— 子网出口工作正常
    4.ping 14.215.177.39 —— 网关外工作正常

在这里插入图片描述
在这里插入图片描述

综上所述,问题出现在子网内部,本机网络出口到交换机之间。

3. tracert

3.1. 命令功能简述

TRACERT (Trace Route ),路由追踪,用于确定 IP 数据报访问目标所采取的路径。Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。

3.2. 格式、参数及选项简述

用法: tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout]
[-R] [-S srcaddr] [-4] [-6] target_name
选项:
-d 不将地址解析成主机名。
-h maximum_hops 搜索目标的最大跃点数。
-j host-list 与主机列表一起的松散源路由(仅适用于 IPv4)。
-w timeout 等待每个回复的超时时间(以毫秒为单位)。
-R 跟踪往返行程路径(仅适用于 IPv6)。
-S srcaddr 要使用的源地址(仅适用于 IPv6)。
-4 强制使用 IPv4。
-6 强制使用 IPv6。

3.3. 实验描述

3.3.1. 实验记录

(1) 实作一

要了解到某计算机如www.baidu.com中间经过了哪些节点(路由器)及其它状态,可使用 tracert www.baidu.com 命令,查看反馈的信息,了解节点的个数。

 tracert www.baidu.com 

在这里插入图片描述

可通过网站http://ip.cn 查看这些节点位于何处,是哪个公司的,大致清楚本机到百度服务器之间的路径。

节点位置:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

(2) 实作二

ping.pe 这个网站可以探测从全球主要的 ISP 到某站点如 https://qige.io 的线路状态,当然也包括各线路到该主机的路由情况。请使用浏览器访问 http://ping.pe/qige.io进行了解。
在这里插入图片描述

3.3.2. 问题分析

  1. 问题一:
    tracert 能告诉我们路径上的节点以及大致的延迟等信息,那么它背后的原理是什么?本问题可结合第二部分的 Wireshark 实验进行验证。
    回答:
    原理是利用TTL,首先将TTL设置为1,它会发送出去,就会到达第一个节点,TTL就变为0。这个节点就会将数据丢弃,发回一个消息,这个消息就包含了该节点一些信息。接着就将TTL设置为2,它的数据就会到达第二个节点,TTL又变为0。又会返回得到第二个节点的信息。如此循环,直至到达目的节点。

  2. 问题二:
    在以上两个实作中,如果你留意路径中的节点,你会发现无论是访问百度还是棋歌教学网,路径中的第一跳都是相同的,甚至你应该发现似乎前几个节点都是相同的,你的解释是什么?
    回答:
    主机的测试数据会送到网关,然后才能访问外网,有多个网关的情况下,就会出现前几个结点都是相同的。

  3. 问题三:
    在追踪过程中,你可能会看到路径中某些节点显示为 * 号,这是发生了什么?
    回答:
    出现 * 号的路由是因为出于安全考虑或网络问题没有回应。

4. DHCP

4.1. 命令功能简述

DHCP (Dynamic Host Configuration Protocol) 动态主机配置协议,是由服务器控制一段IP地址范围,客户机登录服务器时可以自动获得服务器分配的IP地址和子网掩码。在OSI模型的应用层,使用UDP协议工作,可以让计算机自动获取和释放网络配置

4.2. 格式、参数及选项简述

ipconfig /release
ipconfig /renew
释放或更新所有绑定带TCP/IP的适配器的IP地址租用

4.3. 实验描述

4.3.1. 实验记录

(1)实作一

一般地,我们自动获取的网络配置信息包括:IP 地址、子网掩码、网关 IP 以及 DNS 服务器 IP 等。使用 ipconfig/release 命令释放自动获取的网络配置,并用 ipconfig/renew 命令重新获取,了解 DHCP 工作过程和原理。

 ipconfig/release  // WLAN断开

在这里插入图片描述

网络瞬间断开连接:
在这里插入图片描述

ipconfig/renew  //WLAN连接

在这里插入图片描述

4.3.2. 问题分析

  1. 问题一:
    你没能成功的释放,请思考有哪些可能的原因并着手进行解决?
    回答:
    可能是它已断开媒体连接,要想释放就需要将媒体连接。通过查找资料发现还有没有加适配器,网卡或驱动也会无法释放成功,想要释放成功就需要添加适配器,网卡或驱动。
  2. 问题二:
    在Windows系统下,如果由于某种原因计算机不能获取 DHCP 服务器的配置数据,那么Windows将会根据某种算法自动配置为 169.254.x.x 这样的 IP 地址。显然,这样的 IP 以及相关的配置信息是不能让我们真正接入 Internet 的,为什么?既然不能接入 Internet,那么Winodws系统采用这样的方案有什么意义?
    回答:
    这样的地址是为了告诉主机,IP 地址池里面没有多余的 IP ,或者 DHCP 中继代理失效。采用这种方案的意义是为了让不能够正常或许 IP 的主机之间进行通信,一种紧急处理的方案。

5. netstat

5.1. 命令功能简述

Netstat (Network Statistic) , 在内核中访问网络连接状态及其相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。
Netstat是控制台命令,可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。也可以显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

5.2. 格式、参数及选项简述

  1. 显示所有连接。
    -a 选项会列出 tcp, udp 和 unix 协议下所有套接字的所有连接。
  2. 只列出 TCP 或 UDP 协议的连接
    使用 -t 选项列出 TCP 协议的连接;
    使用 -u选项列出 UDP 协议的连接;
  3. 禁用反向域名解析,加快查询速度
    默认情况下 netstat 会通过反向域名解析查找每个IP地址对应的主机名, 会降低查找速度。n 选项可以禁用此行为,并且用户 ID 和端口号也优先使 用数字显示。
  4. 只列出监听中的连接
    -l 选项可以只列出正在监听的连接(不能和 a 选项同时使用)。
  5. 获取进程名、进程号以及用户 ID
    -p 选项可以查看进程信息(此时 netstat 应尽量运行在 root 权限之下,否则不能得到运行在 root 权限下的进程名);
    -pe 选项可以同时查看进程名(号)和进程所属的用户名。
  6. 显示路由信息
    使用 -r 选项打印内核路由信息,与 route 命令输出一样。
  7. 网络接口信息
    -i 选项可以输出网络接口设备的统计信息,结合上 -e 选项,等于 ifconfig 命
    令的输出。
  8. 获取网络协议的统计信息
    -s 选项可以输出针对不同网络协议的统计信息,包括 Ip、Icmp、Tcp 和 Udp 等。

5.3. 实验描述

5.3.1. 实验记录

(1) 实作一

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

(2) 实作二

使用 netstat -an 命令,查看计算机当前的网络连接状况。

 netstat -an

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6. DNS

6.1. 命令功能简述

DNS(Domain Name System)域名系统,是互联网的一项服务,可以将域名和 IP 地址相互映射的一个分布式数据库。DNS 使用TCP和UDP的53号端口。对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。

6.2. 格式、参数及选项简述

ipconfig /displaydns :查看解析过的 DNS 记录
ipconfig /flushdns : 清除所有的 DNS 缓存

6.3. 实验描述

6.3.1. 实验记录

(1) 实作一

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

(2) 实作二

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

ipconfig /displaydns 

在这里插入图片描述

 ipconfig /flushdns 

在这里插入图片描述

(3) 实作三

使用 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

在这里插入图片描述

nslookup qige.io 8.8.8.8 

在这里插入图片描述

6.3.2. 问题分析
  • 问题:
    上面秘籍中我们提到了使用插件或自己修改 hosts 文件来屏蔽广告,思考一下这种方式为何能过滤广告?如果某些广告拦截失效,那么是什么原因?你应该怎样进行分析从而能够成功屏蔽它?
  • 回答:
    修改hosts文件是指将某个网站重定向到一个地址,使之无法访问达到屏蔽广告的效果。广告拦截失效也许需要物理等待达到屏蔽的效果

7. cache

7.1. 命令功能简述

Cache缓存,是指可以高速数据交换的存储器,先于内存与CPU交换数据,因此速率很快。且主要指的是浏览器缓存,是根据HTTP报文的缓存标识进行的。

7.2. 格式、参数及选项简述

7.3. 实验描述

7.3.1. 实验记录

(1) 实作一

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

在这里插入图片描述

(2) 实作二

接下来仍在 Network 面板,选择 Disable cache 选项框,表明当前不使用 cache,页面数据全部来自于 Internet,刷新页面,再次在开发者工具底部查看加载该页面花费的时间。你可比对与有 cache 时的加载速度差异。
在这里插入图片描述
对比可以看出,使用cache大大地加快了速度。

7.3.2. 问题分析

  • 问题:
    你的计算机可能还在使用 XX 管家,XX 卫士之类的垃圾软件,那么它可能就会在某些时候提示你计算机的垃圾文件有多少多少,请清理(其实是它本身应该被清理!)之类的弹窗。如果你查看一下它判断的所谓垃圾文件,你会发现大多都是浏览器的缓存,而你已经明白了这些缓存文件的作用。所以,清理吗?
  • 回答:
    不清理也是没有什么关系,清理只是改变了加载速度。

8. ARP

8.1. 命令功能简述

ARP(Address Resolution Protocol)地址解析协议,是根据给定网络层地址(通常是IPv4地址),查找并得到物理地址的一个 TCP/IP 协议,其对应的数据链路层地址,如MAC地址的协议。ARP 协议定义在 1982 年的 RFC 826。

8.2. 格式、参数及选项简述

ARP -s inet_addr eth_addr [if_addr]
ARP -d inet_addr [if_addr]
ARP -a [inet_addr] [-N if_addr] [-v]
-a 通过询问当前协议数据,显示当前 ARP 项。
如果指定 inet_addr,则只显示指定计算机
的 IP 地址和物理地址。如果不止一个网络
接口使用 ARP,则显示每个 ARP 表的项。
-g 与 -a 相同。
-v 在详细模式下显示当前 ARP 项。所有无效项
和环回接口上的项都将显示。
inet_addr 指定 Internet 地址。
-N if_addr 显示 if_addr 指定的网络接口的 ARP 项。
-d 删除 inet_addr 指定的主机。inet_addr 可
以是通配符 *,以删除所有主机。
-s 添加主机并且将 Internet 地址 inet_addr
与物理地址 eth_addr 相关联。物理地址是用
连字符分隔的 6 个十六进制字节。该项是永久的。
eth_addr 指定物理地址。
if_addr 如果存在,此项指定地址转换表应修改的接口
的 Internet 地址。如果不存在,则使用第一
个适用的接口。

8.3. 实验描述

8.3.1. 实验记录

(1) 实作一

运行 arp -a 命令查看当前的 arp 缓存, 请留意缓存了些什么。
在这里插入图片描述
然后 ping 一下你旁边的计算机 IP(注意,需保证该计算机的 IP 没有出现在 arp 缓存中,或者使用 arp -d * 先删除全部缓存),再次查看缓存,你会发现一些改变,请作出解释。
在这里插入图片描述
在这里插入图片描述
再次使用命令 arp -a ,可以发现多了一个地址,且是动态的,这是由于同一局域网下,如果出现新的主机,本机的接口会将新主机的 IP 和物理地址记录在列表中,从而方便下次的访问。

(2) 实作二

请使用 arp /? 命令了解该命令的各种选项。
在这里插入图片描述

(3) 实作三

一般而言,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 命令设置其为静态类型的。

  1. 首先,通过ipconfig查看到当前网关IP: 192.168.43.7
    在这里插入图片描述

  2. 对应的MAC地址是 22-b6-e6-71-b6-89
    在这里插入图片描述

  3. 执行 arp -s 192.168.43.7 22-b6-e6-71-b6-89
    在这里插入图片描述

TroubleShooting:
你可能会在实作三的操作中得到 “ARP 项添加失败: 请求的操作需要提升” 这样的信息,表示命令没能执行成功,你该如何解决?

Answer:

  1. 以管理员身份运行cmd,输入命令:netsh i i show in
    在这里插入图片描述

  2. 执行 netsh -c i i add neighbors Idx ip地址 物理地址
    无线网络连接即我们要修改的地址,Idx为15:
    即 netsh -c i i add neighbors 15 192.168.43.7 22-b6-e6-71-b6-89
    在这里插入图片描述

  3. 通过 arp -a命令查看,修改成功
    在这里插入图片描述

8.3.2. 问题分析

  • 问题一:
    在实作三中,为何缓存中常常有网关的信息?

  • 回答一:
    ARP缓存本身记录着你有访问过的pc网卡MAC物理地址,另外一个ip是你同个局域网的pc。

  • 问题二:
    我们将网关或其它计算机的arp信息设置为静态有什么优缺点?

  • 回答二:
    静态分配IP地址是指给每一台计算机都分配一个固定的IP地址,优点是便于管理,特别是在根据IP地址限制网络流量的局域网中,以固定的IP地址或IP地址分组产生的流量为依据管理,可以免除在按用户方式计费时用户每次上网都必须进行的身份认证的繁琐过程,同时也避免了用户经常忘记密码的尴尬。静态分配IP地址的弱点是合法用户分配的地址可能被非法盗用,不仅对网络的正常使用造成影响,同时由于被盗用的地址往往具有较高的权限,因而也容易给合法用户造成损失和潜在的安全隐患。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值