验证性实验

  • 1.ipconfig
  • 2.ping
  • 3.tracert
  • 4.ARP
  • 5.DHCP
  • 6.netstat
  • 7.DNS
  • 8.cache

本部分共有 8 个实验,实验 1~7 使用 Cmder 在命令行窗口完成,实验 8 使用浏览器完成。
实验指导书

1.ipconfig

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

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

实作二
使用 ipconfig/all 查看旁边计算机的网络配置,看看有什么异同。
这是舍友的pc机,跟我连接同一个手机热点

✎ 问:比较异同

异:IPv4 地址的最后一位不一样,本地连接 IPv6 地址不同。
同:两者子网掩码、默认网关是相同的。

✎ 问:两台PC是否处于同一子网,为什么?

处于同一子网,将IP地址和子网掩码进行与操作,得到的结果都是一样的,就是同一子网。

2.ping

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

实作一
要测试到某计算机如 重庆交通大学 Web 服务器的连通性,可以使用 ping www.cqjtu.edu.cn 命令,也可直接使用 IP 地址。
请掌握使用该命令后屏幕显示的反馈回来信息的意思,如:TTL、时间等。

ping 通后收到了四个回复,都是 32个字节长度的数据,中间则是往返话费的时间。而TTL表示该字段指定IP包被路由器丢弃之前允许通过的最大网段数量,即每经过一个路由器,则把该TTL的值减1,然后再将IP包转发出去。如果在IP包到达目的IP之前,TTL减少为0,路由器将会丢弃收到的TTL=0的IP包,并向IP包的发送者发送ICMP time exceeded消息。

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

✎ 问:假设在秘籍中进行的网络排查中,ping 百度的 IP 即 ping 14.215.177.39 没问题,但 ping 百度的域名即 ping www.baidu.com 不行,那么可能的原因是什么?如何进行验证和解决?

原因:
ping不通的原因可能是DNS出错,因为域名都由DNS进行解析成IP后,再通过IP发送数据。
解决:
设置电脑的DNS为8.8.8.8,如果不行则有可能是当地DNS服务器故障

3.tracert

✍ TRACERT (Trace Route 的组合缩写),也称为路由追踪,该命令行程序可用于跟踪 Internet 协议 (IP) 数据包传送到目标地址时经过的路径。

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

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







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

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

tracert背后的原理就是基于IP包中的TTL,TTL表示该字段指定IP包被路由器丢弃之前允许通过的最大网段数量,即每经过一个路由器,则把该TTL的值减1,然后再将IP包转发出去。如果在IP包到达目的IP之前,TTL减少为0,路由器将会丢弃收到的TTL=0的IP包,并向IP包的发送者发送ICMP time exceeded消息。
用wireshark抓包,发现TTL的值递增

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

第一跳是计算机所在的子网的出口路由器的接口地址,所有出口流量都会经过这个接口,所以节点地址相同。前几跳相同表明该子网出口流量必经过前几跳ip代表的路由器。

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

可能由于安全性原因没有得到回复。

4.ARP

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

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

我这里ping的是树莓派
以下是在电脑和树莓派连接同一个手机热点时,使用ip neigh命令查看ip


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

若是使用ping命令失败,将防火墙关闭即可

删除

ping通并重新查看缓

多了个动态地址

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

当前PC的地址是192.168.56.240

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

将经过的网关信息存储在缓存后,方便下次使用。
优点:稳定,避免计算机受到攻击。
缺点:维护麻烦。

5.DHCP

✍ DHCP(Dynamic Host Configuration Protocol)即动态主机配置协议,是一个用于 IP
网络的网络协议,位于 OSI 模型的应用层,使用 UDP 协议工作,主要有两个用途:

  • 用于内部网或网络服务供应商自动分配 IP 地址给用户
  • 用于内部网管理员对所有电脑作中央管理

简单的说,DHCP 可以让计算机自动获取/释放网络配置。

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

ipconfig/renew

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

可能要以管理员身份启动

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

若是主机不能接入Internet,也可使得同一子网下的主机在局域网中进行通信。

6.netstat

✍ 无论是使用 TCP 还是 UDP,任何一个网络服务都与特定的端口(PortNumber)关联在一起。因此,每个端口都对应于某个通信协议/服务。
netstat(Network Statistics)是在内核中访问网络连接状态及其相关信息的命令行程序,可以显示路由表、实际的网络连接和网络接口设备的状态信息,以及与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,一般用于检验本机各端口的网络服务运行状况。

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

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

7.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,当然,由于你懂的原因,这不一定会得到正确的答案。

8.cache

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

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

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

加载时间大大加长

第一部分【验证性实验】完成

【计算机网络】实验报告一:验证性实验相关推荐

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

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

  2. 《计算机网络实验教程》——验证性实验

    文章目录 一.简介 二.验证性实验 ipconfig ping tracert ARP DHCP netstat DNS cache 一.简介 实验教程原网页来自棋歌教学网 本计算机网络实验教程由验证 ...

  3. 计算机网络实验一、验证性实验

    一.验证性实验 1.ipconfig 实作一 实作二 问题一 2.ping 实作一 实作二 3.tracert 实作一 实作二 问题一 问题二 问题三 4.ARP 实作一 实作二 实作三 问题一 问题 ...

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

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

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

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

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

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

  7. 数据结构教程(第五版 李春葆 上机实验题3 验证性实验)

    一.实现顺序栈的各种基本运算的算法 #include<stdio.h> #include<stdlib.h> #define MaxSize 50 typedef struct ...

  8. 第二次网页设计实验报告(设计性实验)(表格+表单)

    第一个: <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8& ...

  9. 数据结构教程(第五版 李春葆 上机实验题4 验证性实验)

    一.实现顺序串的各种基本运算的算法 #include<stdio.h> #include<stdlib.h> #define MaxSize 50typedef struct{ ...

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

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

最新文章

  1. vue-cli · Failed to download repo vuejs-templates/webpack: tunneling socket could not be established
  2. 32位大写 md5 php_编写生成32位大写和小写字符的md5的函数
  3. 我是非计算机专业学生,非计算机专业学生怎么走上计算机技术之路?
  4. BootStrap学习笔记,优缺点总结
  5. Wrong FS: hdfs://xxx/xxx expected: file:///
  6. Vim快速移动光标至行首和行尾
  7. PyPA Packaging Python Projects
  8. pycharm OpenCV代码补全失效解决方法
  9. xmlhelper (把实体对象转成xml文档)
  10. 博弈论(Game Theory)入门学习笔记(持续更新)
  11. Mike and Cellphone
  12. 永磁同步电机的矢量控制策略(八)一一一仿真模型搭建与源代码
  13. 智能机器人软件开发入门教程:带你从0到1快速入门
  14. python回归分析结果怎么看_Python数据分析|线性回归
  15. 微信小程序picker地区选择器显示省市二级联动
  16. uva-1645-递推
  17. 算法竞赛常见赛制及题目形式
  18. 光遇安卓服务器维护哪天,光遇安卓版什么时候上线 光遇全平台公测具体开服时间...
  19. 在windows下如何配置RTT开发环境?
  20. Python的5大就业方向,薪资诱人前景好

热门文章

  1. PS-实战-ICON图标
  2. 【机器学习】线性回归与逻辑回归的理论与实战
  3. java计算机毕业设计人口普查信息管理系统源代码+数据库+系统+lw文档
  4. 协同演化博弈模型matlab,求教 matlab做演化博弈
  5. android蓝牙配对 自动联接,Android系统下蓝牙自动配对连接方法
  6. 亮度、饱和度、对比度、灰度 RGBHSV
  7. 图神经网络在推荐系统的应用!
  8. 教授专栏37 | 黄昊: 发展虚拟资产, 须监管教育并行
  9. micropython复现经典单片机项目(一)旋转立方块
  10. Pygame实战之外星人入侵NO.11——设置开始按钮