目录计算机网络实验教程-棋歌教学网
本部分共有 8 个实验,实验 1~7 使用 Cmder 在命令行窗口完成,实验 8 使用浏览器完成。
- 1. IPconfig
- 1.1. 命令功能简述
- 1.2. 格式、参数及选项简述
- 1.3. 实验描述
- 1.3.1. 实验记录
- (1) 实作一
- (2) 实作二
- 1.3.2. 问题分析
- 2. Ping
- 2.1. 命令功能简述
- 2.2. 格式、参数及选项简述
- 2.3. 实验描述
- 2.3.1. 实验记录
- (1) 实作一
- (2) 实作二
- 2.3.2. 问题分析
- 3. tracert
- 3.1. 命令功能简述
- 3.2. 格式、参数及选项简述
- 3.3. 实验描述
- 3.3.1. 实验记录
- (1) 实作一
- (2) 实作二
- 3.3.2. 问题分析
- 4. DHCP
- 4.1. 命令功能简述
- 4.2. 格式、参数及选项简述
- 4.3. 实验描述
- 4.3.1. 实验记录
- (1)实作一
- 4.3.2. 问题分析
- 5. netstat
- 5.1. 命令功能简述
- 5.2. 格式、参数及选项简述
- 5.3. 实验描述
- 5.3.1. 实验记录
- (1) 实作一
- (2) 实作二
- 6. DNS
- 6.1. 命令功能简述
- 6.2. 格式、参数及选项简述
- 6.3. 实验描述
- 6.3.1. 实验记录
- (1) 实作一
- (2) 实作二
- (3) 实作三
- 6.3.2. 问题分析
- 7. cache
- 7.1. 命令功能简述
- 7.2. 格式、参数及选项简述
- 7.3. 实验描述
- 7.3.1. 实验记录
- (1) 实作一
- (2) 实作二
- 7.3.2. 问题分析
显示所有当前 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。
1.3. 实验描述 1.3.1. 实验记录 (1) 实作一示例:
ipconfig … 显示信息
ipconfig /all … 显示详细信息
ipconfig /renew … 更新所有适配器
ipconfig /renew EL* … 更新所有名称以 EL 开头
的连接
ipconfig /release Con … 释放所有匹配的连接,
例如“有线以太网连接 1”或
“有线以太网连接 2”
ipconfig /allcompartments … 显示有关所有隔离舱的
信息
ipconfig /allcompartments /all … 显示有关所有隔离舱的
详细信息
使用ipconfig/all 查看自己计算机的网络配置,尽可能明白每行的意思,特别注意 IP 地址、子网掩码 Subnet Mask、网关 Gateway。
ipconfig/all
IP 地址:192.168.43.7
子网掩码 Subnet Mask:255.255.255.0
网关 Gateway:192.168.43.1
使用 ipconfig/all 查看旁边计算机的网络配置,看看有什么异同。
旁边同学的计算机配置如下:
对比发现,子网掩码与网关相同, IP 地址不同。
- 问题:
你的计算机和旁边的计算机是否处于同一子网,为什么? - 回答:
是处于同一子网,因为我们ip地址的前两位都是192.168。
ICMP协议“Internet Control Message Protocol”(因特网控制消息协议),是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。
Ping (Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序。Ping使用ICMP发送数据协议;回声请求消息给目的地并报告是否收到所希望的ICMP echo (即回声应答),用来检查网络是否通畅或者网络连接速度。Ping命令可以对一个网络地址发送测试数据包,看该网络地址是否有响应并统计响应时间,以此测试网络。
2.2. 格式、参数及选项简述2.3. 实验描述 2.3.1. 实验记录 (1) 实作一用法: 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。
要测试到某计算机如 “重庆交通大学Web服务器” 的连通性,可以使用ping www.cqjtu.edu.cn命令,也可直接使用 IP 地址。
ping www.cqjtu.edu.cn(2) 实作二
使用 ping/? 命令了解该命令的各种选项并实际使用。
ping/?
ping -t www.baidu.com2.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 ,那么过程如下:
- ping 127.0.0.1,测试自己计算机的状态,如果 OK,那么说明本机网络软件硬件工作正常,否则,问题在本机,检查本机 TCP/IP 配置即网卡状态等;
- ping 192.168.1.64 ,测试到旁边计算机的连通性,如果OK,那么说明本子网内部工作正常,否则,问题在本机网络出口到交换机之间,检查本机网卡到交换机的连线等;
- ping 192.168.1.1,测试到网关的连通性,如果 OK,那么说明本子网出口工作正常,否则,问题在网关,这是你无能为力的事情,报告给网管;
- 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. 格式、参数及选项简述3.3. 实验描述 3.3.1. 实验记录 (1) 实作一用法: 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。
要了解到某计算机如www.baidu.com中间经过了哪些节点(路由器)及其它状态,可使用 tracert www.baidu.com 命令,查看反馈的信息,了解节点的个数。
tracert www.baidu.com
可通过网站http://ip.cn 查看这些节点位于何处,是哪个公司的,大致清楚本机到百度服务器之间的路径。
节点位置:
ping.pe 这个网站可以探测从全球主要的 ISP 到某站点如 https://qige.io 的线路状态,当然也包括各线路到该主机的路由情况。请使用浏览器访问 http://ping.pe/qige.io进行了解。
-
问题一:
tracert 能告诉我们路径上的节点以及大致的延迟等信息,那么它背后的原理是什么?本问题可结合第二部分的 Wireshark 实验进行验证。
回答:
原理是利用TTL,首先将TTL设置为1,它会发送出去,就会到达第一个节点,TTL就变为0。这个节点就会将数据丢弃,发回一个消息,这个消息就包含了该节点一些信息。接着就将TTL设置为2,它的数据就会到达第二个节点,TTL又变为0。又会返回得到第二个节点的信息。如此循环,直至到达目的节点。 -
问题二:
在以上两个实作中,如果你留意路径中的节点,你会发现无论是访问百度还是棋歌教学网,路径中的第一跳都是相同的,甚至你应该发现似乎前几个节点都是相同的,你的解释是什么?
回答:
主机的测试数据会送到网关,然后才能访问外网,有多个网关的情况下,就会出现前几个结点都是相同的。 -
问题三:
在追踪过程中,你可能会看到路径中某些节点显示为 * 号,这是发生了什么?
回答:
出现 * 号的路由是因为出于安全考虑或网络问题没有回应。
DHCP (Dynamic Host Configuration Protocol) 动态主机配置协议,是由服务器控制一段IP地址范围,客户机登录服务器时可以自动获得服务器分配的IP地址和子网掩码。在OSI模型的应用层,使用UDP协议工作,可以让计算机自动获取和释放网络配置
4.2. 格式、参数及选项简述4.3. 实验描述 4.3.1. 实验记录 (1)实作一ipconfig /release
ipconfig /renew
释放或更新所有绑定带TCP/IP的适配器的IP地址租用
一般地,我们自动获取的网络配置信息包括:IP 地址、子网掩码、网关 IP 以及 DNS 服务器 IP 等。使用 ipconfig/release 命令释放自动获取的网络配置,并用 ipconfig/renew 命令重新获取,了解 DHCP 工作过程和原理。
ipconfig/release // WLAN断开
网络瞬间断开连接:
ipconfig/renew //WLAN连接4.3.2. 问题分析
- 问题一:
你没能成功的释放,请思考有哪些可能的原因并着手进行解决?
回答:
可能是它已断开媒体连接,要想释放就需要将媒体连接。通过查找资料发现还有没有加适配器,网卡或驱动也会无法释放成功,想要释放成功就需要添加适配器,网卡或驱动。 - 问题二:
在Windows系统下,如果由于某种原因计算机不能获取 DHCP 服务器的配置数据,那么Windows将会根据某种算法自动配置为 169.254.x.x 这样的 IP 地址。显然,这样的 IP 以及相关的配置信息是不能让我们真正接入 Internet 的,为什么?既然不能接入 Internet,那么Winodws系统采用这样的方案有什么意义?
回答:
这样的地址是为了告诉主机,IP 地址池里面没有多余的 IP ,或者 DHCP 中继代理失效。采用这种方案的意义是为了让不能够正常或许 IP 的主机之间进行通信,一种紧急处理的方案。
Netstat (Network Statistic) , 在内核中访问网络连接状态及其相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。
Netstat是控制台命令,可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。也可以显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
5.3. 实验描述 5.3.1. 实验记录 (1) 实作一
- 显示所有连接。
-a 选项会列出 tcp, udp 和 unix 协议下所有套接字的所有连接。- 只列出 TCP 或 UDP 协议的连接
使用 -t 选项列出 TCP 协议的连接;
使用 -u选项列出 UDP 协议的连接;- 禁用反向域名解析,加快查询速度
默认情况下 netstat 会通过反向域名解析查找每个IP地址对应的主机名, 会降低查找速度。n 选项可以禁用此行为,并且用户 ID 和端口号也优先使 用数字显示。- 只列出监听中的连接
-l 选项可以只列出正在监听的连接(不能和 a 选项同时使用)。- 获取进程名、进程号以及用户 ID
-p 选项可以查看进程信息(此时 netstat 应尽量运行在 root 权限之下,否则不能得到运行在 root 权限下的进程名);
-pe 选项可以同时查看进程名(号)和进程所属的用户名。- 显示路由信息
使用 -r 选项打印内核路由信息,与 route 命令输出一样。- 网络接口信息
-i 选项可以输出网络接口设备的统计信息,结合上 -e 选项,等于 ifconfig 命
令的输出。- 获取网络协议的统计信息
-s 选项可以输出针对不同网络协议的统计信息,包括 Ip、Icmp、Tcp 和 Udp 等。
Windows系统将一些常用的端口与服务记录在 C:WINDOWSsystem32driversetcservices文件中,请查看该文件了解常用的端口号分配。
使用 netstat -an 命令,查看计算机当前的网络连接状况。
netstat -an
DNS(Domain Name System)域名系统,是互联网的一项服务,可以将域名和 IP 地址相互映射的一个分布式数据库。DNS 使用TCP和UDP的53号端口。对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
6.2. 格式、参数及选项简述6.3. 实验描述 6.3.1. 实验记录 (1) 实作一ipconfig /displaydns :查看解析过的 DNS 记录
ipconfig /flushdns : 清除所有的 DNS 缓存
Windows 系统将一些固定的/静态的 DNS 信息记录在C:WINDOWSsystem32driversetchosts文件中,如我们常用的 localhost 就对应 127.0.0.1 。请查看该文件看看有什么记录在该文件中。
解析过的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.86.3.2. 问题分析
- 问题:
上面秘籍中我们提到了使用插件或自己修改 hosts 文件来屏蔽广告,思考一下这种方式为何能过滤广告?如果某些广告拦截失效,那么是什么原因?你应该怎样进行分析从而能够成功屏蔽它? - 回答:
修改hosts文件是指将某个网站重定向到一个地址,使之无法访问达到屏蔽广告的效果。广告拦截失效也许需要物理等待达到屏蔽的效果
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大大地加快了速度。
- 问题:
你的计算机可能还在使用 XX 管家,XX 卫士之类的垃圾软件,那么它可能就会在某些时候提示你计算机的垃圾文件有多少多少,请清理(其实是它本身应该被清理!)之类的d窗。如果你查看一下它判断的所谓垃圾文件,你会发现大多都是浏览器的缓存,而你已经明白了这些缓存文件的作用。所以,清理吗? - 回答:
不清理也是没有什么关系,清理只是改变了加载速度。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)