文章目录

  • 一、简介
  • 二、验证性实验
    • ipconfig
    • ping
    • tracert
    • ARP
    • DHCP
    • netstat
    • DNS
    • cache

一、简介

实验教程原网页来自棋歌教学网

本计算机网络实验教程由验证性、Wireshark 和 Cisco Packet Tracer 实验等三个部分组成,可供信息学院各专业及校内其它专业使用

建议:
验证性实验和 Wireshark 实验建议全部掌握,Cisco Packet Tracer 实验可根据情况选择完成

特点:

  • 覆盖面广
  • 难易组合
  • 实用性强

What you’ll learn:
常用计算机网络命令
使用 Wireshark 进行协议分析
使用 Cisco Packet Tracer 进行网络模拟

What you’ll need:
本教程的实验在 Windows 平台下进行,但你也可在 Linux 或其它平台下进行这些实验。

Windows 平台需要安装的软件如下:

Windows 自带的命令行窗口程序或者comder、windows terminal等命令行窗口
抓包和协议分析软件 wireshark
Cisco Packet Tracer(CPT)
最新版的浏览器谷歌或火狐

二、验证性实验

ipconfig

ipconfig 是微软操作系统的计算机上用来控制网络连接的一个命令行工具。它的主要用来显示当前网络连接的配置信息(/all 参数)。

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


实作2
使用 ipconfig /all 查看旁边计算机的网络配置,看看有什么异同。
说明:由于我做此次实验时身边并没有其他计算机,所以我想的办法是,用桥接模式给虚拟机联网,然后在虚拟机的Linux系统下查看(命令为ifconfig)

查看结果之后,得知不同之处是:
IPv4 地址不一样,但只是最后一位不一样。
物理地址不同;
本地连接 IPv6 地址不同。

相同之处是:
子网掩码

问题? 你的计算机和旁边的计算机是否处于同一子网,为什么?

答:是,将IP地址和子网掩码最后一位进行与操作,得到的结果相同,是同一子网。

ping

PING (Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序 。ping 是工作在 TCP/IP 网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送 ICMP(Internet Control Message Protocol 因特网报文控制协议)Echo 请求报文,测试目的站是否可达及了解其有关状态。

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

请掌握使用该命令后屏幕显示的反馈回来信息的意思,如:TTL、时间等。

可以看到ping交通大学服务器是失败了

但是Ping百度成功了。
所以推测不是我的网络连接的问题,而是学校服务器关闭或者禁止ping等的操作。
ping 百度收到四个回复,都是 32 个字节长度的数据,与对方主机往返一次花费了 32ms ,TTL为54,因为TTL设为128,所以还可得知经过了 74 个路由器。

实作二

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

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

答:猜测是对方服务器的问题,要么没开启,要么采用某种手段禁止Ping。可以与对方沟通保证我能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,否则,问题在网关以外,这也是你无能为力的事情,报告给网管或者李彦宏?

由于ping不通学校的服务器,所以我按照秘籍进行了排查,确定不是我这边的问题了。

TroubleShooting—— 假设在秘籍中进行的网络排查中,ping 百度的 IP 即 ping 14.215.177.39没问题,但 ping 百度的域名即 ping www.baidu.com 不行,那么可能的原因是什么?如何进行验证和解决? 另外,经常有同学问到的:“能上 QQ,但不能上网” 跟这个问题的原因是相似的。

答:可能的原因是 DNS发生故障导致解析失败
验证:百度搜索当地 DNS 服务器地址,对比当前 DNS服务器设置是否正确;
解决:1、可临时设置 DNS 服务器地址为 8.8.8.8 2、打电话咨询当地的通信运营商或者电信部门

课外浏览
ping 这个程序曾经是有 bug 的,比如使对方缓冲区溢出导致死机,或死 ping 对方以达到耗费对方主机的系统和网络资源等,请查阅相关资料了解。

tracert

TRACERT (Trace Route 的组合缩写),也称为路由追踪,该命令行程序可用于跟踪 Internet 协议 (IP) 数据包传送到目标地址时经过的路径。
实作1
要了解到某计算机如 www.baidu.com 中间经过了哪些节点(路由器)及其它状态,可使用 tracert www.baidu.com 命令,查看反馈的信息,了解节点的个数。

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

查询如下








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

✎ 问题一
tracert 能告诉我们路径上的节点以及大致的延迟等信息,那么它背后的原理是什么?本问题可结合第二部分的 Wireshark 实验进行验证。

答:原理是设置 TTL 为 1.2.3…n ,路由器会将死掉的包的信息返回给主机,从而实现显示路径各个结点。

✎ 问题二
在以上两个实作中,如果你留意路径中的节点,你会发现无论是访问百度还是棋歌教学网,路径中的第一跳都是相同的,甚至你应该发现似乎前几个节点都是相同的,你的解释是什么?

答:在多个网关的情况下,才会出现前几个结点都是相同的,而主机的数据必须先送到网关。

✎ 问题三
在追踪过程中,你可能会看到路径中某些节点显示为 * 号,这是发生了什么?

答:出现 * 号的节点是没有回应的,可能是因为处于安全进行保密也可能就是网络问题。

ARP

ARP(Address Resolution Protocol)即地址解析协议,是用于根据给定网络层地址即 IP 地址,查找并得到其对应的数据链路层地址即 MAC地址的协议。 ARP 协议定义在 1982 年的 RFC 826。

实作一

运行 arp -a 命令查看当前的 arp 缓存, 请留意缓存了些什么。

然后 ping 一下你旁边的计算机 IP(注意,需保证该计算机的 IP 没有出现在 arp 缓存中,或者使用 arp -d * 先删除全部缓存),再次查看缓存,你会发现一些改变,请作出解释。

删除缓存(这一步需要管理员权限,以管理员身份运行wt)

Ping旁边的电脑(linux)

再次查看

实作二
请使用 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 命令设置其为静态类型的。

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

首先确保自己的命令行程序是以管理员身份运行的,然后netsh i i show in找到指定的Idx

然后netsh -c i i add neighbors 12 10.60.255.254 mac地址即可
再次查看

可以看到更改为静态了。

问题
在实作三中,为何缓存中常常有网关的信息?
我们将网关或其它计算机的 arp 信息设置为静态有什么优缺点?

答:因为系统在传输数据的时候将经过的网关信息存储在缓存中,有利于下次使用时快速找到。
优点:利于管理,同时将 IP-MAC 绑定可以有效的防治 ARP 欺骗,并且可以免除用户进行身份认证的繁琐操作;
缺点:有安全隐患,如果冒充其中一个 IP ,那么会对用户的安全造成威胁。

DHCP

DHCP(Dynamic Host Configuration Protocol)即动态主机配置协议,是一个用于 IP 网络的网络协议,位于 OSI 模型的应用层,使用 UDP 协议工作,主要有两个用途:
用于内部网或网络服务供应商自动分配 IP 地址给用户
用于内部网管理员对所有电脑作中央管理
简单的说,DHCP 可以让计算机自动获取/释放网络配置。

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

重新获得:

DHCP 工作过程和原理:

1、 DHCP原理

1.DHCP Discover:Client开始DHCP过程中的第一个请求报文,源地址为 0.0.0.0,目的地址为 255.255.255.255,附有MAC地址和计算机名,向网络进行广播

2.DHCP Offer:Server对DHCP Discover报文的响应,提供IP地址

3.DHCP Request:Client对DHCP Offer报文的响应,选择IP 。客户端收到最先抵达DHCP Offer,并向网络发送一个DHCP Request广播封包

4.DHCP Declient:Client网络发送一个ARP 封包,发现Server分配给它的IP地址无法使用,如IP地址发生冲突时,将发出此报文让Server禁止使用这次分配的IP地址同时重新发送
DHCP Discover 信息

5.DHCP Ack:Server对 DHCP Request 报文的响应,Client收到此报文后才真正获得了IP地址和相关配置信息。

6.DHCP Nak:此报文是Server对Client的DHCP Request报文的拒绝响应,Client 收到此报文后,一般会重新开始DHCP过程。

7.DHCP Release:此报文是Client主动释放IP地址,当Server 收到此报文后就可以收回IP地址分配给其他的Client

8.DHCP使用UDP67和UDP68端口

2、DHCP工作过程:

TroubleShooting

如果你没能成功的释放,请思考有哪些可能的原因并着手进行解决?

答:很可能没有开启DHCP客户端服务;解决办法是在 “ win+R ” 然后输入 “ sc config DHCP start= AUTO ” 重启后就OK 了。

问题

在Windows系统下,如果由于某种原因计算机不能获取 DHCP 服务器的配置数据,那么Windows将会根据某种算法自动配置为169.254.x.x 这样的 IP 地址。显然,这样的 IP 以及相关的配置信息是不能让我们真正接入 Internet 的,为什么?既然不能接入 Internet,那么Winodws系统采用这样的方案有什么意义?

答:这样的地址是为了告诉主机,IP 地址池里面没有多余的 IP ,或者 DHCP 中继代理失效。采用这种方案的意义是为了让不能够正常或许 IP 的主机之间进行通信。

秘籍

在我校不少地方如教室,计算机都采用了 DHCP 来获得网络配置。假如某天因 DHCP
服务器问题从而不能获得网络配置,那么我们可以查看隔壁教室计算机的配置信息来手动进行网络配置,从而使该计算机能够接入 Internet。

经常的,在一个固定地方的网络配置我都喜欢采用 静态/手动配置,而不是动态 DHCP 来进行。你能想到是什么原因吗?

答:设置静态ip可以保证自己在有新的主机接入时,不被抢了Ip。

netstat

无论是使用 TCP 还是 UDP,任何一个网络服务都与特定的端口(Port Number)关联在一起。因此,每个端口都对应于某个通信协议/服务。

netstat(Network Statistics)是在内核中访问网络连接状态及其相关信息的命令行程序,可以显示路由表、实际的网络连接和网络接口设备的状态信息,以及与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,一般用于检验本机各端口的网络服务运行状况。
实作一
Windows 系统将一些常用的端口与服务记录在 C:\WINDOWS\system32\drivers\etc\services 文件中,请查看该文件了解常用的端口号分配。

实作二
使用 netstat -an 命令,查看计算机当前的网络连接状况。更多的 netstat 命令选项,可参考上面链接 4 和 5 。

秘籍

打开的计算机端口,就是向 Internet 打开的一个通道。通过 netstat
命令,我们可以了解当前计算机哪些端口是打开的,从而找出一些恶意后台程序,分析其所作所为,并且可以进一步将相关端口关闭,降低安全风险。

DNS

DNS(Domain Name System)即域名系统,是互联网的一项服务。它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS 使用 TCP 和 UDP 的 53 号端口。
实作一
Windows 系统将一些固定的/静态的 DNS 信息记录在 C:\WINDOWS\system32\drivers\etc\hosts 文件中,如我们常用的 localhost 就对应 127.0.0.1 。请查看该文件看看有什么记录在该文件中。

实作二
解析过的 DNS 记录将会被缓存,以利于加快解析速度。请使用 ipconfig /displaydns 命令查看。我们也可以使用 ipconfig /flushdns 命令来清除所有的 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 记录文件

TroubleShooting

上面秘籍中我们提到了使用插件或自己修改 hosts文件来屏蔽广告,思考一下这种方式为何能过滤广告?如果某些广告拦截失效,那么是什么原因?你应该怎样进行分析从而能够成功屏蔽它?

答:这种方式能过滤广告时因为将 127.0.0.1 广告链接设置为广告推送链接,从而广告链接就访问不到本机,而是访问它自己的服务器;
广告拦截失效是因为有可能存在跨服务器访问;可以使用 adsafe解决。

cache

cache 即缓存,是 IT 领域一个重要的技术。我们此处提到的 cache 主要是浏览器缓存。

浏览器缓存是根据 HTTP 报文的缓存标识进行的,是性能优化中简单高效的一种优化方式了。一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以重复利用,还可以减少带宽,降低网络负荷。

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


加载花了973Ms,如图所示,可以看出有五部分没有被cache。
实作二
接下来仍在 Network 面板,选择 Disable cache 选项框,表明当前不使用 cache,页面数据全部来自于 Internet,刷新页面,再次在开发者工具底部查看加载该页面花费的时间。你可比对与有 cache 时的加载速度差异。


花了1.42s,所以可以得知,缓存可以大大加快页面的加载速度。

秘籍

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

答:不清理,我没有安装此类软件。

《计算机网络实验教程》——验证性实验相关推荐

  1. 计算机网络实验(验证性实验)

    计算机网络实验(验证性实验) 文章目录 计算机网络实验(验证性实验) 前言 验证性实验 ipconfig 实作一:查看自己的网络配置 实作二:比较自己与其他计算机网络配置异同 是同一子网吗? ping ...

  2. 计算机网络实验之验证性实验

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

  3. 【模电实验】【验证性实验——基本差动放大电路实验】

    实验4-1 验证性实验--基本差动放大电路实验 1. 静态工作点的测试 按照下图连接电路,检查无误后将A, B两端短接,接通电源12 V, 分别测量三极管各极对地的电压值,推算静态电流,记入下表,并与 ...

  4. 【模电实验】【精简版】【验证性实验——两级阻容耦合负反馈放大器实验】

    实验5-1 验证性实验--两级阻容耦合负反馈放大器实验 参照下图连接电路,在放大器输入端加入 Uim=10mV,f=1kHzU_{im} = 10mV, f = 1 kHzUim​=10mV,f=1k ...

  5. 【模电实验】【超值1 + 1】【验证性实验——比例、求和运算电路实验】【验证性实验——各种非正弦信号发生器实验】

    实验6-1 验证性实验--比例.求和运算电路实验 1. 反相比例放大电路实验 参照下图连接电路,确认无误后接通电源 其中仿真图如下: 测量静态工作点 根据表 4.6.1 中的参数对电路直流工作点进行测 ...

  6. 【模电实验】【验证性实验——单管共发射极放大电路实验】

    实验3-1 验证性实验--单管共发射极放大电路实验 1. 放大电路静态工作点的测量与调试 测量放大电路的静态工作点,应在输入信号 u1=0u_1 = 0u1​=0 的情况下进行.即将放大器输入信号端对 ...

  7. 计算机网络实验报告:【验证性实验】

    一.简介 本计算机网络实验教程由验证性.Wireshark 和 Cisco Packet Tracer 实验等三个部分组成,可供信息学院各专业及校内其它专业使用 建议 验证性实验和 Wireshark ...

  8. 计算机网络实验报告:第一部分【验证性实验】

    目录 一.简介 二.验证性实验 1)ipconfig 2)ping 3)tracert 4)ARP 5)DHCP 6)netstat 7)DNS 8)cache 一.简介 本计算机网络实验教程由验证性 ...

  9. 计算机网络实验一:验证性实验

    Chris的计算机网络实验一:验证性实验 Ipconfig Ipconfig 概念 Ipconfig 实作一 Ping Ping 概念 Ping 实作一 Ping 实作二 Tracert Tracer ...

最新文章

  1. python---骰子游戏
  2. 这种口令解决方案可替代多因子验证
  3. 未来计算机打蜡机,电脑洗车机的未来发展方向:多样化or精简化?
  4. SpringBoot设置首页(默认页)跳转
  5. 固定日期时间倒计时,倒计时不可点击,普通倒计时
  6. Python软件封装打包
  7. 【爬虫】微博数据采集
  8. opencv接受树莓派usb摄像头rtsp视频流
  9. php网页部分截图,关于php:PHP实现网页截图
  10. 熊拍拍是什么?熊拍拍是下一个风口吗?
  11. python qq群发消息_Python版QQ群发消息
  12. 于丹《庄子》心得讲稿-《大道与自然》
  13. linux mono 安装步骤,如何在Ubuntu 18.04上安装Mono
  14. python采用强制缩进的方式使得代码具有极佳的可读性_计算机专业高级语言程序设计课程改革探索...
  15. 特运tong app sign签名破解
  16. 香港主机CDN加速,让您的网站速度飙升
  17. 安卓app之按键美化
  18. 芯片引脚外围电容有何作用?
  19. Qt打开图片,维持原宽高比,适应窗口
  20. 深度学习矩阵乘法的终极奥义einsum,结合多个计算框架上的使用

热门文章

  1. 字体单位 html,CSS字体单位
  2. 【汇正财经】大盘低开回升
  3. Subscriber class .NewsFragment and its super classes have no public methods
  4. qq农场 源码java_HappyFarm 仿QQ农场游戏源代码 - 下载 - 搜珍网
  5. 海思Hi3519A 基础入门教程
  6. 共享打印机找不到网络路径的解决方法
  7. 交通强国,标准先行【附PPT】
  8. 设置右键菜单,添加右键快捷应用
  9. 蚂蚁借呗每月等额计算方式
  10. 知识点四 图论:dijkstra (HDU 2544 +HDU 1874)