从命令提示符到wireshark和CPT,以实验的格式学习计算机网络

实验目录


前期准备

需要软件:
Cmder Cmder下载1 Cmder下载2(官网)
Wireshark Wireshark下载
Cisco Packet Tracer (CPT) CPT下载
CPT 建议免费注册,否则将以 Guest 身份下载和使用
CPT官网

关于Cmder的一些常用快捷键

Tab       自动路径补全
Ctrl+T    建立新页签
Ctrl+W    关闭页签
Ctrl+Tab  切换页签
Alt+F4    关闭所有页签
Alt+Shift+1 开启cmd.exe
Alt+Shift+2 开启powershell.exe
Alt+Shift+3 开启powershell.exe (系统管理员权限)
Ctrl+1      快速切换到第1个页签
Ctrl+n      快速切换到第n个页签( n值无上限)
Alt + enter 切换到全屏状态
Ctr+r       历史命令搜索
Tab         自动路径补全
Ctrl+T      建立新页签
Ctrl+W      关闭页签
Ctrl+Tab    切换页签
Alt+F4      关闭所有页签
Alt+Shift+1 开启cmd.exe
Alt+Shift+2 开启powershell.exe
Alt+Shift+3 开启powershell.exe (系统管理员权限)
Ctrl+1      快速切换到第1个页签
Ctrl+n      快速切换到第n个页签( n值无上限)
Alt + enter 切换到全屏状态
Ctr+r       历史命令搜索
Win+Alt+P   开启工具选项视窗

参考资料

使用Cmder替换cmd,让开发更高效


一、验证性实验

1.ipconfig

  1. ipconfig-Microsoft简介
  2. ipconfig命令詳細圖解
  3. ipconfig-WiKI

ipconfig是微软操作系统的电脑上用来控制网络连线的一个命令行工具。它的主要功用,包括用来显示现时网络连线的设置(/all参数),或透过/release参数来释放获取的ip位置,和透过 /renew 来重新获取ip位置的分配。

显示所有当前 TCP/IP 网络配置值并刷新动态主机配置协议 (DHCP) 和域名系统 (DNS) 设置。 在没有参数的情况下使用, ipconfig 显示 Internet 协议版本 4 (IPv4) 以及所有适配器的 IPv6 地址、子网掩码和默认网关。

参数 说明
/all 显示所有适配器的完整 TCP/IP 配置。 适配器可表示物理接口(例如已安装的网络适配器)或逻辑接口(如拨号连接)。
/? 显示帮助信息
/release 释放某一个网络上的IP位置
/renew 更新某一个网络上的IP位置
/flushdns 把DNS解析器的暂存内容全数删除
  • 实作一
    从命令提示符到wireshark和CPT,以实验的格式学习计算机网络

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

  • 回答:
    当我的计算机和旁边的计算机连接在同一个交换机或者是同一个路由器的同一个LAN口上的时候,处在同一个子网

2.ping

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

  1. ping指令高級用法
  2. Ping 命令详解

用法:

 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] [-4] [-6] target_name


-t :Ping 指定的计算机直到中断。

-a :将地址解析为计算机名。

-n count :发送 count 指定的 ECHO 数据包数。默认值为 4。

-l size :发送包含由 size 指定的数据量的 ECHO 数据包。默认为 32 字节;最大值是65,527。

-f :在数据包中发送"不要分段"标志。数据包就不会被路由上的网关分段。

-i ttl :将"生存时间"字段设置为 ttl 指定的值。

-v tos :将"服务类型"字段设置为 tos 指定的值。

-r count :在"记录路由"字段中记录传出和返回数据包的路由。count 可以指定最少 1 台,最多 9 台计算机。

-s count :指定 count 指定的跃点数的时间戳。

-j host-list :利用 host-list 指定的计算机列表路由数据包。连续计算机可以被中间网关分隔(路由稀疏源)IP 允许的最大数量为 9。

-k host-list :利用 host-list 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔(路由严格源)IP 允许的最大数量为 9。

-w timeout :指定超时间隔,单位为毫秒。

destination-list :指定要 ping 的远程计算机。
  • 实作一

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

从命令提示符到wireshark和CPT,以实验的格式学习计算机网络

  • 实作二

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

从命令提示符到wireshark和CPT,以实验的格式学习计算机网络

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

  • 回答:
    网络连通说明网线以及通信过程中间的通信子网没问题,则原因可能有:
    1.网络协议配置问题(eg:局域网IP冲突)
    2.网卡问题
    3.目的IP在防火墙里面把Ping给ban了 4.IP协议未安装
    解决方案:
    1.ping 127.0.0.1,检查是否是自身网卡问题
    2.在网络连接属性里面查看网络协议配置是否出错
    3.ping一下其他的IP确认是否是对方计算机的问题

秘籍:
当你的网络出现故障不能访问某计算机如 14.215.177.39 (百度的 IP 地址之一 ) 时,我们一般可采用由近及远的连通性测试来确定问题所在。现假设你的 IP 是 192.168.1.89,你旁边计算机的 IP 是 192.168.1.64,网关的 IP 是 192.168.1.1 ,那么过程如下:
1.ping 127.0.0.1 ,测试自己计算机的状态,如果 OK,那么说明本机网络软件硬件工作正常,否则,问题在本机,检查本机 TCP/IP 配置即网卡状态等
2.ping 192.168.1.64 ,测试到旁边计算机的连通性,如果OK,那么说明本子网内部工作正常,否则,问题在本机网络出口到交换机之间,检查本机网卡到交换机的连线等
3.ping 192.168.1.1,测试到网关的连通性,如果 OK,那么说明本子网出口工作正常,否则,问题在网关,这是你无能为力的事情,报告给网管
4.ping 14.215.177.39,测试到百度的连通性,如果 OK,那就 OK,否则,问题在网关以外,这也是你无能为力的事情,报告给网管或者李彦宏?

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

  • 回答:
    域名ping不通说明域名解析不出来。
    负责解析域名的,就是DNS,
    首先清空一下DNS缓存,命令窗口ipconfig/flushdns然后设置电脑的DNS为google的DNS 8.8.8.8 或者电信的 101.226.4.6或者114.114.114.114大部分是可以的 如果还是Ping不通 则可联系给域名服务的服务商,他们会给出dns服务器。
    能上 QQ,但不能上网是因为QQ是不需要DNS解析域名的,DNS再怎么出问题也不会影响

在baiInternet上域名与IP地址之间是一对一(或者多对一)的,也可采用DNS轮循实现一对多,域名虽然便于人们记忆,但机器之间只认IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。

3.tracert

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

可通过网站 http://ip.cn 查看这些节点位于何处,是哪个公司的,大致清楚本机到百度服务器之间的路径。
从命令提示符到wireshark和CPT,以实验的格式学习计算机网络

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

从命令提示符到wireshark和CPT,以实验的格式学习计算机网络
ping 油管时,国内服务器都处于离线状态
从命令提示符到wireshark和CPT,以实验的格式学习计算机网络
使用G Suite可视化追踪到Netflix
从命令提示符到wireshark和CPT,以实验的格式学习计算机网络

✎ 问题一

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

tracert背后的原理就是基于IP包中的TTL,每当数据包经过一个路由器,其存活时间就会减1。当其存活时间是0时,主机便取消数据包,并发送一个ICMP TTL数据包给原数据包的发出者。
计算机发出TTL从1开始逐次加一的ICMP报文,通过返回的ICMP报文得到沿途IP信息。
tracert baidu的时候使用wireshark进行抓包
从命令提示符到wireshark和CPT,以实验的格式学习计算机网络
抓包结果明显看到本机发出的报文的TTL是从一开始逐次加一的

✎ 问题二

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

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

✎ 问题三

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

出于安全性考虑,大多数防火墙以及启用了防火墙功能的路由器缺省配置为不返回各种 ICMP 报文,其余路由器或交换机也可被管理员主动修改配置变为不返回 ICMP 报文。因此 Traceroute 程序不一定能拿全所有的沿途网关地址,所以有的节点显示为*号。

4.ARP

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

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

从命令提示符到wireshark和CPT,以实验的格式学习计算机网络

实作二:
请使用 arp /? 命令了解该命令的各种选项。

从命令提示符到wireshark和CPT,以实验的格式学习计算机网络

实作三:
一般而言,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 命令设置其为静态类型的。

当前网关ip为192.168.43.79,MAC地址为c2-a6-42-5d-6a-b7
从命令提示符到wireshark和CPT,以实验的格式学习计算机网络

上一篇:CPT/cpt接口


下一篇:在线广告产品概述