一.验证性实验
1.ipconfig
实作一

- 媒体状态:当前使用的是哪一块网卡(如果使用的是以太网,那么无线局域网的媒体状态为断开)
- 连接特定的 DNS 后缀:这个DNS服务器将网络上的域名解析为对应的ip地址
- 描述:网卡的品牌型号
- 物理地址:网络适配器(网卡)的物理地址
- DHCP已启用:DHCP是动态分配ip的协议,自动分配唯一的ip地址给用户
- 本地链接 IPv6 地址:电脑的ip地址,近年来发展迅速,巨大的地址空间可以满足每人约57个ip地址
- IPv4 地址:本地在局域网内的ip地址,目前为止,剩余可分配的的ip地址数量很少了。一个局域网里所有电脑的内网IP是互不相同的,但共用一个外网IP
- 子网掩码:指明一个IP地址的哪些位标识的是主机所在的网络地址以及哪些位标识的是主机地址的位掩码。为二进制,前面为1的表示为网络号,后面为0的表示为主机号
- 默认网关:网关又称网间连接器、协议转换器,实现不同网络之间的通信。
2.Ping
实作一:

- ping命令用32字节的数据包来测试能否连接到ip地址为www.cqjtu.edu.cnd的主机上
- windows下一般默认ping4次
- 重庆交通大学网站服务器给我返回了32个字节的回复信息,时间花费了3毫秒
- TTL=58,我电脑的默认TTL值为64,所以可以计算出这个回复数据包经过了(64-58)=6个路由器节点
实作二:
-
ping -t:不间断地Ping指定计算机,直到管理员中断,可以用来测试你和目的主机的连通性

-
ping -n cont:一般向目的主机只能发送4个数据包,使用此命令可以自定义发送数据包的个数,根据数据包往返行程的平均时间可以用来检测你与目的主机的网络情况

-
ping -l size:系统默认发送32bytes数据包,使用此命令可以自定义发送数据包的大小,最大不能超过65500bytes

问题一:假设你不能 ping 通某计算机或 IP,但你确定该计算机和你之间的网络是连通的,那么可能的原因是什么?该如何处理能 保证 ping 通?
(1)答:
- 你和目的主机可能不在同一个子网下
- 目的主机设置了防火墙,防火墙阻止了ping
(2)答:
- 可以采用由近到远的连通性测试,先测试本地计算机的状态ping 127.0.0.1,如果连通,说明没有问题;否则检查网卡状态
- ping 旁边计算机,如果连通,说明本子网内部没有问题;否则问题出在本机出口到交换机之间,可以检查两者之间的连线
- ping 网关,如果连通,说明本子网出口是正常的;否则为网关的问题
问题二:网络排查中,ping 百度的 IP 即 ping 14.215.177.39 没问题,但 ping 百度的域名即 ping www.baidu.com 不行,那么可能的原因是什么?如何进行验证和解决?另外,经常有同学问到的:“能上 QQ,但不能上网” 跟这个问题的原因是相似的。
(1)答:
- ping IP没有问题,但是ping 网站的域名出现了问题,说明域名解析出现了问题,负责域名解析的为DNS
(2)答:
- 可以清除本地的DNS缓存,将域名对应的老旧的IP地址清除,当电脑重新访问某个存在DNS变更的网站时,能够重新获取到新的可用地址
(3)答:
- 因为QQ登录不需要DNS域名解析,即使域名解析出现错误,也不会影响QQ的登录
3.tracert
实作一:


实作二:
问题二:在以上两个实作中,如果你留意路径中的节点,你会发现无论是访问百度还是棋歌教学网,路径中的第一跳都是相同的,甚至你应该发现似乎前几个节点都是相同的,你的解释是什么?
答:
- 无论要访问哪个网站,首先要路过自己局域网内的网关,再通过通信子网即路由器到达其他服务器
问题三:在追踪过程中,你可能会看到路径中某些节点显示为 * 号,这是发生了什么?
答:
- 没有得到响应
4.arp
实作一:


答:当主机收到重庆交通大学服务器的响应后,回复的数据包里有重庆交通大学服务器的MAC地址,主机会将回复数据包里面的发送IP和发送MAC地址存入arp缓存中。
实作二:

实作三:

解决方式:

问题:在实作三中,为何缓存中常常有网关的信息?
我们将网关或其它计算机的 arp 信息设置为静态有什么优缺点?
答:
- 主机和外部网络联系时要通过网关,缓存网关信息,方便查找
- 优点:将arp信息设置为静态,便于系统管理。不需要动态更新路由,可以减少对宽带的占用;缺点:当网络拓扑结构发生改变时,需要管理员手动维护。随着网络规模的扩大,维护越来越困难
5.DHCP
实作一


问题:如果你没能成功的释放,请思考有哪些可能的原因并着手进行解决?
答:没有开启DHCP客户端服务
问题:在Windows系统下,如果由于某种原因计算机不能获取 DHCP 服务器的配置数据,那么Windows将会根据某种算法自动配置为 169.254.x.x 这样的 IP 地址。显然,这样的 IP 以及相关的配置信息是不能让我们真正接入 Internet 的,为什么?既然不能接入 Internet,那么Winodws系统采用这样的方案有什么意义?
答:防止主机脱网,虽然不能接入internet,但是可以与同网段的其他计算机通信
问题:在我校不少地方如教室,计算机都采用了 DHCP 来获得网络配置。假如某天因 DHCP 服务器问题从而不能获得网络配置,那么我们可以查看隔壁教室计算机的配置信息来手动进行网络配置,从而使该计算机能够接入 Internet。经常的,在一个固定地方的网络配置我都喜欢采用 静态/手动配置,而不是动态 DHCP 来进行。你能想到是什么原因吗?
答:动态DHCP获取需要一定的时间搜索可用的ip,如果DHCP服务器出现问题,将搜索整个网段。并且静态配置的ip更稳定
6.netstat
实作一:
常用端口号分配

实作二:

7.DNS
实作一:

实作二:

实作三:

问题:我们提到了使用插件或自己修改 hosts 文件来屏蔽广告,思考一下这种方式为何能过滤广告?如果某些广告拦截失效,那么是什么原因?你应该怎样进行分析从而能够成功屏蔽它?
答:
- Host文件的优先级高于DNS服务器。通过将广告域名和错误的地址进行绑定,当下次浏览器解析广告地址时,因为解析错误所以无法访问,就没有广告弹窗了
- 拦截失败可能是因为浏览器有DNS缓存,清除缓存即可
8.cache
实作一:

加载页面花费了 810ms,除了index.html其余都被缓存了
实作二:

禁用缓存后,加载整个页面花费了3.49s,比使用缓存进行加载花费了更多时间
二.Wireshsark实验
1.数据链路层
实作一:

- 字段Frame Number为8
- 字节长度Frame Length为74bytes
问题:你会发现 Wireshark 展现给我们的帧中没有校验字段,请了解一下原因?
答:
- Wireshark在抓包之前,在物理层网卡已经去掉了校验字段,利用校验码CRC循环校验后才抓取包,所以抓包软件抓到的是去掉校验码的数据包
实作二:
1.发送帧:

- 发出帧的目的MAC为qige.io服务器的MAC地址
返回帧:

- 返回帧的源MAC也为qige.io服务器的MAC地址
2.发送帧:

- 我通过arp -a和ipconfig比对,目的MAC地址为本地局域网的网关MAC地址
返回帧:

- 源MAC地址和发送帧中的目的地址相同,都是本地局域网的网关MAC地址
问题:
- 访问本子网的计算机时,目的 MAC 就是该主机的
- 访问非本子网的计算机时,目的 MAC 是网关的
请问原因是什么?
答:
- 当本机访问的是本子网的计算机,数据包无需离开本通信子网,传输数据也是在本子网里进行,所以是对方主机的MAC物理地址;
- 当本机访问的是非本子网的计算机,也就是说此时有两个不同通信子网的主机之间需要通信,数据包就需要离开本通信子网,这里就涉及到数据包在两个通信子网的传输,传输数据要离开本通信子网,就势必要经过网关,因此,该目的MAC物理地址就是本网关的物理地址
实作三:
1.同一子网
arp请求:

arp回复:

- 回应的源MAC地址为arp请求中的目的IP地址对应的MAC地址
- 目的MAC地址为arp请求中的源MAC地址、
2.网络层
实作一:熟悉IP包结构

问题:为提高效率,我们应该让 IP 的头部尽可能的精简。但在如此珍贵的 IP 头部你会发现既有头部长度字段,也有总长度字段。请问为什么?
答:
- 便于传输时的识别IP总长度,节省时间,当长度超过1500bytes时就会被数据链路层进行分段,从而使得效率提高
- 便于接收端了解完整的数据
实作二:IP包的分段和重组

- 这里第一包的标志字段为0x1,表示这个包不是该组最后一个一个分片
- Fragment Offset值为0,表示该IP包在该组中分片位置是第一个
问题:分段与重组是一个耗费资源的操作,特别是当分段由传送路径上的节点即路由器来完成的时候,所以 IPv6 已经不允许分段了。那么 IPv6 中,如果路由器遇到了一个大数据包该怎么办?
答:
- 在IPv6中分段操作只能在源与目的地上执行,不能在路由器上进行。当数据包过大时,路由器会直接丢弃该数据包,并向发送端发回一个“分组太大”的ICMP差错报文
实作三:考察TTL事件

此包的TTL值为1

TTL值增加到了2

最后包状态显示Time-to-live exceeded,此时TTL值为63
综上分析,TTL从1开始,每经过一个路由,TTL的的设置就会增加1,直到到达目的地址,发送包才将TTL设置为64,将数据按照路由的顺序进行数据的发送,路由器接收到包后发现TTL值有剩余,于是回复Time-to-live exceeded。
问题:在 IPv4 中,TTL 虽然定义为生命期即 Time To Live,但现实中我们都以跳数/节点数进行设置。如果你收到一个包,其 TTL 的值为 50,那么可以推断这个包从源点到你之间有多少跳?
答:TTL的设置为与其最靠近的2的n次幂。所以如果TTL值为50,那么可以推断主机一开始设置的TTL值为64,于是乎可以推断这个包从源点到我之间有(64-50)=14跳
3.传输层
实作一:熟悉 TCP 和 UDP 段结构
TCP:

-
Source Port:源端口,用来传输数据包的端口
-
Destination Port:目的端口,数据包将要被发送到的端口
-
Sequence Number:序号,这个数字用来表示一个TCP片段,这个域用来保证数据流中的部分没有缺失
-
Acknowledgment Number:确认号:这个数字是在通信中希望从另一个设备中得到的下一个数据包的序列号
-
Flags:标志,URG、ACK、PSH、RST、SYN和FIN标志都用来表示所传输的TCP数据包的类型
-
Window:窗口大小,TCP接收者缓冲的字节大小
-
Checksum:校验和,用来保证TCP头和数据的内容在抵达目的地时的完整性
-
Urgent Pointer:紧急指针,如果设置了URG位,则这个域将被检查作为额外的指令,告诉CPU从数据包的哪里开始读取数据
UTP:

- Source Port:源端口,用来传输数据包的端口
- Destination Port:目标端口,数据包将要被传输到的端口
- Length:数据包长度,数据包的字节长度
- Checksum:校验和,用来确保UDP头和数据到达时的完整性
问题:由上大家可以看到 UDP 的头部比 TCP 简单得多,但两者都有源和目的端口号。请问源和目的端口号用来干什么?
答:源端口和目的端口用于源主机和目的主机中特定程序或者软件进行数据通信的接口
实作二:分析TCP建立和释放连接

- 根据TCP建立连接的方式,如图第一次握手SYN为1,第二次握手SYN和ACK都为1,第三次握手SYN为0,ACK为1

- 第一次挥手,客户端发送[FIN,ACK]作为标志位,报文的序号Seq为161,确认号ACK为99
- 第二次挥手,服务器也返回[FIN,ACK]作为标志位,报文的序列号Seq为98,确认号ACK为161
- 第三次挥手,客户端发送[ACK]作为标志位,报文序列号为162,确认号ACK为99
- 第四次挥手,服务器端返回[ACK]作为标志位,报文序列号为99,确认号为162
问题一:去掉 Follow TCP Stream,即不跟踪一个 TCP 流,你可能会看到访问 qige.io 时我们建立的连接有多个。请思考为什么会有多个连接?作用是什么?
答:
- 当客户端与服务器端数据传输完毕后,就会立刻断开连接,如果需要重新发送数据,就要再次建立连接
- 作用是为了能更多用户进行访问,当不再需要传输数据时,断开连接,节省了通道的使用,不会出现长期占用通道但不进行数据交换的情况
问题二:我们上面提到了释放连接需要四次挥手,有时你可能会抓到只有三次挥手。原因是什么?
答:
- 当被动关闭方(服务端)在 TCP 挥手过程中,没有数据要发送并且开启了 TCP 延迟确认机制,那么第二和第三次挥手就会合并传输,这样就出现了三次挥手。
4.应用层
实作一:了解DNS解析
-
先使用ipconfig/flushdns命令清除缓存,再使用nslookup qige.io命令进行解析

-
同时使用Wireshark进行抓包,使用dns过滤

当前计算机使用UDP,向默认的DNS服务器的53号端口发出了查询请求

DNS服务器的53号端口返回给了主机结果

实作二:了解HTTP的请求和应答
- 打开浏览器访问 qige.io 网站,用 Wireshark 抓包(可用http 过滤再加上 Follow TCP Stream),不要立即停止 Wireshark 捕获,待页面显示完毕后再多等一段时间以将释放连接的包捕获

-
请在你捕获的包中找到 HTTP 请求包,查看请求使用的什么命令,如:
GET, POST。并仔细了解请求的头部有哪些字段及其意义。
Accept:告诉WEB服务器自己接受什么对象类型
Content-Type:WEB服务器告诉浏览器自己响应的对象的类型
Content-length:WEB服务器告诉浏览器自己响应的对象的长度
Cache-Control:用来指示缓存系统应该怎样处理缓存
Host:客户端指定自己想访问的WEB服务器的域名/IP地址和端口号
POST:请求的方式,其中包括URL和版本
-
请在你捕获的包中找到 HTTP 应答包,查看应答的代码是什么,如:200, 304, 404 等。并仔细了解应答的头部有哪些字段及其意义

这里的状态码为200
状态码:
1xx:接收到请求且正在处理
2xx:请求正常处理完毕
3xx:重定向状态,表示浏览器需要进行附加操作
4xx:服务器无法处理这个请求
5xx:服务器处理出错
问题:刷新一次 qige.io 网站的页面同时进行抓包,你会发现不少的 304 代码的应答,这是所请求的对象没有更改的意思,让浏览器使用本地缓存的内容即可。那么服务器为什么会回答 304 应答而不是常见的 200 应答?
答:服务器对于浏览器的第一次应答后,浏览器会将数据缓存,因此浏览器第二次发送请求的时候,服务器会回复浏览器上次请求的资源现在在缓存里,服务器根据浏览器传来的时间发现和当前请求资源的修改时间一致,应答304,表示不再重新发送数据。
三.Cisco Packet Tracer 实验
1.直接连接两台PC构建LAN
-
放置两台PC,用交叉线进行连接

-
配置PC的IP地址


-
进行Ping操作

2.用交换机构建LAN
- 网络构建如下(按要求已配置好IP地址):

问题1:PC0 能否 ping通 PC1、PC2、PC3 ?

问题2:PC3 能否 ping 通 PC0、PC1、PC2 ?为什么?

答:因为同一个子网内的主机相互之间可以通信,不同子网内的主机如果没有路由器无法进行通信
问题3:将 4 台 PC 的掩码都改为 255.255.0.0 ,它们相互能 ping 通吗?为什么?
- 修改掩码如下:

ping结果如下:

答:因为此时的四台PC都处于192.168.0.0子网下
问题:使用二层交换机连接的网络需要配置网关吗?为什么?
答:需要配置网关。因为设置了网关,在发送数据时,交换机才会知道如何转发数据包。
3.交换机接口地址列表
-
查看交换机3的MAC地址表:

-
使用PC0
pingPC1,交换机3的MAC表中增加了相应记录
经过查询,新增的两条MAC地址就是PC0和PC1的MAC地址
4.生成树协议(Spanning Tree Protocol)
-
构建好拓扑结构后,经过一段时间如下:

由图可知交换机为了避免广播循环风暴,运用了STP协议,对多余的线路进行了阻塞,交换机5连接的两根线路,物理上虽然是连接的,但是逻辑上是不通的,处于Blocking状态
- 假如将交换机4与交换机5之间的连线剪断:

由图可知,一段时间后生成树自动发生改变
5.路由器配置初步
-
网络拓扑结构如下

-
路由器默认是没有广域网模块的,所以在设计网络拓扑结构时,需要对两个学校的路由器做配置,将WIC-1T模块拖入插槽中,再重启路由器,如图:

-
左边路由器是重庆交通大学的,下面连接着交换机,交换机连接着重庆交通大学的网络,分配的网络号为
192.168.1.0/24,该路由器也是重庆交通大学的网关,分配的IP为192.168.1.1,如图:

重庆大学的路由器同以上做相同的配置即可,网关号改为192.168.3.1就可以了

- 两个路由器之间的广域网也是一个子网,分配网络号为
192.168.2.0/24,将重庆交通大学设为DCE端,将Clock Rate设置为64000,如图:

-
配置好各个设备的网络号后,使用PC0进行
ping操作
问题:现在交通大学内的各 PC 及网关相互能 ping 通,重庆大学也类似。但不能从交大的 PC ping 通重大的 PC,反之亦然,也即不能跨子网。为什么?
答:因为还没有配置静态路由,路由器还不知道如何路由,所以无法ping通
6.静态路由
-
告诉重庆交通大学路由器到重庆大学网络如何走

-
告诉重庆大学路由器到重庆交通大学网络怎么走:

- 再用PC0
ping重庆大学的PC2(成功)

7.动态路由RIP
- 移除静态路由


- 交通大学路由器RIP路由配置

-
重庆大学路由器RIP路由配置

-
测试使用PC0来
ping重庆大学的PC2
8.动态路由OSPF
-
清除RIP路由

-
交通大学路由器OSPF路由配置:

-
重庆大学路由器OSPF路由配置:

-
尝试使用PC0来
ping重庆大学的PC2(成功)

9.DHCP、DNS及Web服务器简单配置
-
构建拓扑结构

-
进行Server配置:
- ip地址设置

-
HTTP设置

-
DHCP配置:

-
DNS配置:

-
各个PC的网络配置:


-
使用PC0的浏览器进行网页浏览


10.WLAN初步配置
-
构建的拓扑结构如下:

-
构建步骤:
-
配置PC的无线网卡:

-
配置Laptop无线网卡:

-
本文详细介绍了网络基础的一系列实验,包括ipconfig、ping、tracert、arp、DHCP、netstat和DNS的使用,以及Wireshark在网络层、传输层和应用层的数据包分析。还涵盖了CiscoPacketTracer中的LAN构建和路由配置,展示了网络通信和故障排查的基本过程。
7204

被折叠的 条评论
为什么被折叠?



