计算机网络验证性实验
一、ipconfig命令
ipconfig可用于显示当前的TCP/IP配置的设置值,通常是用來检验人工配置的TCP/IP设置是否正确。
实作
使用 ipconfig/all 查看自己计算机的网络配置,尽可能明白每行的意思,特别注意 IP 地址、子网掩码 Subnet Mask、网关 Gateway。
不带参数
![在这里插入图片描述](https://img-blog.csdnimg.cn/9f10eab7
带参数 “/all”
二、ping命令
PING (Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序 。ping 是工作在 TCP/IP 网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送 ICMP(Internet Control Message Protocol 因特网报文控制协议)Echo 请求报文,测试目的站是否可达及了解其有关状态。
实作1
测试到某计算机的连通性。比如使用 ping www.csdn.net
命令测试到CSDN服务器的连通性(也可以直接ping对方的ip地址)
上图表明,本机向csdn服务器发送了四个32字节大小的包,并且显示出了每个包从出发到返回所用时间,结果末尾并显示出平均用时。TTL表示每个包剩余的生存时间。
TTL是 Time To Live的缩写,该字段指定IP包被路由器丢弃之前允许通过的最大网段数量。TTL是IPv4报头的一个8 bit字段。
实作2
使用 ping/?
命令了解该命令的各种选项并实际使用。
三、tracert命令
TRACERT (Trace Route 的组合缩写),也称为路由追踪,该命令行程序可用于跟踪 Internet 协议 (IP) 数据包传送到目标地址时经过的路径。
Tracert 工作原理
通过向目标发送不同 IP 生存时间 (TTL) 值的“Internet 控制消息协议 (ICMP)”回应数据包,Tracert 诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减 1。数据包上的 TTL 减为 0 时,路由器应该将“ICMP 已超时”的消息发回源系统。
Tracert 先发送 TTL 为 1 的回应数据包,并在随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP 已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL 过期的数据包,这在 Tracert 实用程序中看不到。
实作
要了解到某计算机如 www.baidu.net 中间经过了哪些节点(路由器)及其它状态,可使用 tracert www.csdn.net
命令,查看反馈的信息,了解节点的个数。
在图中我们可以看出
- 最左侧的序号,标明在我使用的宽带上,经过17个路由节点,可以到达百度的服务;
- 中间这三列,单位是ms,是表示我们连接到每个路由节点的速度,返回速度和多次链接反馈的平均值;
- 后面的IP,就是每个路由节点对应的IP
- 在多个路由节点上,返回消息是超时,这表示这个路由节点和当前我们使用的宽带,是无法联通的至于原因,就有很多种了,比如:特意在路上上做了过滤限制;比如确实是路由的问题等,具体问题具体分析;
如果在测试的时候,大量的都是*和返回超时,那就说明这个IP,在各个路由节点都有问题。
四、ARP
ARP(Address Resolution Protocol)即地址解析协议,是用于根据给定网络层地址即 IP 地址,查找并得到其对应的数据链路层地址即 MAC地址的协议。
实作
运行 arp -a
命令查看当前的 arp 缓存。
ARP缓存是个用来储存IP地址和MAC地址的缓冲区,其本质就是一个IP地址–>MAC地址的对应表,表中每一个条目分别记录了网络上其他主机的IP地址和对应的MAC地址。
- 动态项目随时间推移自动添加和删除
- 静态项目一直保留在缓存中,直到重新启动计算机为止
使用 arp /?
命令了解该命令的各种选项
五、DHCP
DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。
使用 ipconfig/release
命令释放自动获取的网络配置,并用 ipconfig/renew
命令重新获取,了解 DHCP 工作过程和原理。
问:在Windows系统下,如果由于某种原因计算机不能获取 DHCP 服务器的配置数据,那么Windows将会根据某种算法自动配置为 169.254.x.x 这样的 IP 地址。显然,这样的 IP 以及相关的配置信息是不能让我们真正接入 Internet 的,为什么?既然不能接入 Internet,那么Winodws系统采用这样的方案有什么意义?
答:自动配置的IP地址和信息可以短暂性的解决计算机不能获取 DHCP 服务器的配置数据的问题
六、netstat
netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。
实作一
Windows 系统将一些常用的端口与服务记录在C:\WINDOWS\system32\drivers\etc\services
文件中,请查看该文件了解常用的端口号分配。
实作二
使用 netstat -an
命令,查看计算机当前的网络连接状况。
其他命令
1.列出所有端口(显示所有连接)
-a
选项会列出 tcp, udp 和 unix 协议下所有套接字的所有连接。
使用
-t
选项列出 TCP 协议的连接
使用-u
选项列出 UDP 协议的连接
七、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
,但这不一定会得到正确的答案。
nslookup命令
1.直接查询
查询一个域名的A记录nslookup domain [dns-server]
如果没指定dns-server,用系统默认的dns服务器。下面是一个例子:
2. 查询其他记录
直接查询返回的是A记录,我们可以指定参数,查询其他记录,比如AAAA、MX等。nslookup -qt=type domain [dns-server]
3.查询更具体的信息
nslookup –d [其他参数] domain [dns-server]
只要在查询的时候,加上-d
参数,即可查询域名的缓存。
八、cache
cache 即缓存,是 IT 领域一个重要的技术。我们此处提到的 cache 主要是浏览器缓存。
浏览器缓存是根据 HTTP 报文的缓存标识进行的,是性能优化中简单高效的一种优化方式了。一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以重复利用,还可以减少带宽,降低网络负荷。
实作一
打开 Chrome 或 Firefox 浏览器,访问 https://qige.io
,接下来敲 F12 键 或 Ctrl + Shift + I 组合键打开开发者工具,选择 Network 面板后刷新页面,你会在开发者工具底部看到加载该页面花费的时间。请进一步查看哪些文件被 cache了,哪些没有。
实作二
接下来仍在 Network 面板,选择 Disable cache 选项框,表明当前不使用 cache,页面数据全部来自于 Internet,刷新页面,再次在开发者工具底部查看加载该页面花费的时间。你可比对与有 cache 时的加载速度差异。