【计算机网络】实验报告一:验证性实验
验证性实验
- 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 时的加载速度差异。
加载时间大大加长
第一部分【验证性实验】完成
【计算机网络】实验报告一:验证性实验相关推荐
- 计算机网络实验一:验证性实验
Chris的计算机网络实验一:验证性实验 Ipconfig Ipconfig 概念 Ipconfig 实作一 Ping Ping 概念 Ping 实作一 Ping 实作二 Tracert Tracer ...
- 《计算机网络实验教程》——验证性实验
文章目录 一.简介 二.验证性实验 ipconfig ping tracert ARP DHCP netstat DNS cache 一.简介 实验教程原网页来自棋歌教学网 本计算机网络实验教程由验证 ...
- 计算机网络实验一、验证性实验
一.验证性实验 1.ipconfig 实作一 实作二 问题一 2.ping 实作一 实作二 3.tracert 实作一 实作二 问题一 问题二 问题三 4.ARP 实作一 实作二 实作三 问题一 问题 ...
- 【模电实验】【验证性实验——基本差动放大电路实验】
实验4-1 验证性实验--基本差动放大电路实验 1. 静态工作点的测试 按照下图连接电路,检查无误后将A, B两端短接,接通电源12 V, 分别测量三极管各极对地的电压值,推算静态电流,记入下表,并与 ...
- 【模电实验】【超值1 + 1】【验证性实验——比例、求和运算电路实验】【验证性实验——各种非正弦信号发生器实验】
实验6-1 验证性实验--比例.求和运算电路实验 1. 反相比例放大电路实验 参照下图连接电路,确认无误后接通电源 其中仿真图如下: 测量静态工作点 根据表 4.6.1 中的参数对电路直流工作点进行测 ...
- 【模电实验】【验证性实验——单管共发射极放大电路实验】
实验3-1 验证性实验--单管共发射极放大电路实验 1. 放大电路静态工作点的测量与调试 测量放大电路的静态工作点,应在输入信号 u1=0u_1 = 0u1=0 的情况下进行.即将放大器输入信号端对 ...
- 数据结构教程(第五版 李春葆 上机实验题3 验证性实验)
一.实现顺序栈的各种基本运算的算法 #include<stdio.h> #include<stdlib.h> #define MaxSize 50 typedef struct ...
- 第二次网页设计实验报告(设计性实验)(表格+表单)
第一个: <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8& ...
- 数据结构教程(第五版 李春葆 上机实验题4 验证性实验)
一.实现顺序串的各种基本运算的算法 #include<stdio.h> #include<stdlib.h> #define MaxSize 50typedef struct{ ...
- 计算机网络实验(验证性实验)
计算机网络实验(验证性实验) 文章目录 计算机网络实验(验证性实验) 前言 验证性实验 ipconfig 实作一:查看自己的网络配置 实作二:比较自己与其他计算机网络配置异同 是同一子网吗? ping ...
最新文章
- vue-cli · Failed to download repo vuejs-templates/webpack: tunneling socket could not be established
- 32位大写 md5 php_编写生成32位大写和小写字符的md5的函数
- 我是非计算机专业学生,非计算机专业学生怎么走上计算机技术之路?
- BootStrap学习笔记,优缺点总结
- Wrong FS: hdfs://xxx/xxx expected: file:///
- Vim快速移动光标至行首和行尾
- PyPA Packaging Python Projects
- pycharm OpenCV代码补全失效解决方法
- xmlhelper (把实体对象转成xml文档)
- 博弈论(Game Theory)入门学习笔记(持续更新)
- Mike and Cellphone
- 永磁同步电机的矢量控制策略(八)一一一仿真模型搭建与源代码
- 智能机器人软件开发入门教程:带你从0到1快速入门
- python回归分析结果怎么看_Python数据分析|线性回归
- 微信小程序picker地区选择器显示省市二级联动
- uva-1645-递推
- 算法竞赛常见赛制及题目形式
- 光遇安卓服务器维护哪天,光遇安卓版什么时候上线 光遇全平台公测具体开服时间...
- 在windows下如何配置RTT开发环境?
- Python的5大就业方向,薪资诱人前景好
热门文章
- PS-实战-ICON图标
- 【机器学习】线性回归与逻辑回归的理论与实战
- java计算机毕业设计人口普查信息管理系统源代码+数据库+系统+lw文档
- 协同演化博弈模型matlab,求教 matlab做演化博弈
- android蓝牙配对 自动联接,Android系统下蓝牙自动配对连接方法
- 亮度、饱和度、对比度、灰度 RGBHSV
- 图神经网络在推荐系统的应用!
- 教授专栏37 | 黄昊: 发展虚拟资产, 须监管教育并行
- micropython复现经典单片机项目(一)旋转立方块
- Pygame实战之外星人入侵NO.11——设置开始按钮