一、wireshark介绍
- wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取经过电脑的各种数据包,显示网络封包的详细信息。
- wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容。
- 学习wireshark可以让我们更了解各个网络的协议细节,摆脱书本上的死知识,对于各协议有深刻的认识。
二、实验要求与目的
要求:
- 安装和使用软件Wireshark,并会对数据包抓包。
- 能对抓包结果进行过滤、并进行网络协议分析和寻找特定数据(如网站登录密码)
目的:
通过实验掌握如何使用Wireshark来抓数据包、如何分析网络协议
三、实验流程
软件介绍
1、安装
这里我使用的是wireshark4.7.2版本
安装只需要无脑下一步就行了,这里需要注意的就是不要安装在c盘
2、界面介绍
打开后界面如下如所示
可以看到进入便是接口捕获界面,如果你没有显示任何的网卡接口,请按说明将相应抓包工具软件npcap
下载安装好。
为找到我们我们目前所使用的是哪一个网卡,可以打开cmd(按win+R,在对话框输入cmd)
,并输入ipconfig
查看网络使用情况,同时可以看到自己的ip。
这里可以看到我使用的是无线适配器WLAN,所以双击WLAN就进如了软件的主界面。
在主界面可以看到许多的数据报文信息,左上的红色按钮是暂停,帽子按钮是开始,刚进去的时候软件是自动开始捕获的。
那么这里说一下界面的主要信息。
- 过滤条件:根据条件过滤出自己想看到信息。
- 数据包信息:所经过你电脑的所有数据包都会展示在这里 。
- 数据包详细信息:详细展示你想看的数据包。
- 十六进制数:在数据包详细信息里面每一个数据都和右边的十六进制对应。
过滤条件: 过滤的条件比较多,可以根据自己的需求来。比如我们想看tcp协议的包,可以直接在过滤条件那里输入tcp,那么所有在运输层使用到了tcp协议的包都会被过滤出来。
如下图,TLS协议的作用是为tcp提供安全性的,他在运输层使用了tcp的协议,并且处于tcp的更上一层,所以这里也会被过滤出来
数据包信息: 在数据包信息这一部分,可以看到这个包的一些基本信息,如源地址,目的地址和所使用的协议等信息。
数据包详细信息: 这个部分展示了该数据包所处OSI模型的哪一层,从上往下依次是物理层、数据链路层、网络层(IP)、运输层(TCP)、会话层、表示层、应用层(HTTP)
以上就是一些wireshark的简单的介绍
(一)、抓取ICMP报文
ICMP报文属于网络层里的一个协议,我们在抓取的时候,在过滤条件那里输入ICMP。
但是我们并没有发现任何ICMP的报文信息,因为我们还没有构建ICMP的报文。
怎么构建呢?可以通过ping命令来构建ICMP的回声请求报文和回声应答报文,如在cmd输入 ping www.nsu.edu.cn
这里就得到了一串了ICMP报文信息,在cmd窗口有4条信息,而我们能捕获到8条,这是因为我们发送过去一个请求的报文,会收到服务器的应答报文。
请求报文: 源ip地址是我自己的ip,目的ip对方的ip,而在info这里显示了我们是请求报文(request) ,同时在详情这里也也可以看到这个ICMP报文的Type=8,Code=0
,这也表示了回声请求报文。
应答报文: 源ip地址是服务器的ip,目的ip是我自己的ip,而在info这里显示了我们是应答报文(reply) ,同时在详情这里也也可以看到这个ICMP报文的Type=0,Code=0
,这表示回声应答报文。
(二)、抓HTTP包
同样的,抓HTTP包需要在过滤条件输入HTTP。
但是抓包时,发现在浏览器输入www.nsu.edu.cn
发现HTTP过滤不到任何的包(普遍现象)。
这是因为这个网址会自动将我们的协议改成HTTPS,而HTTPS协议使用wireshark没法解析。
所以我们需要手动的将协议更改为HTTP,此时网址为http://www.nsu.edu.cn
这样就能捕获到这个http协议中的内容了。
点开第一个,由我们自己发送到服务器上的包,可以看到这里我们使用了GET的请求方式,并使用的HTTP 1.1这个版本。其他的信息也会在这个数据包的详细信息中找到。
第二个包就是服务器发过来的包,可以看到服务器的响应码是302 redirect
,表示该网站被重定向了,那么具体重定向到什么网址可以在下面的数据栏里面找到。
发现我的输入的http://www.nsu.edu.cn
被重定向到了https://www.nsu.edu.cn
,也就是说将协议更改了,所以捕获不到后面具体的信息了。
这里我又抓了一个HTTP的包,由服务器传过来的包里面就包含了浏览器界面的所有信息。
(三)、捕获4s平台的账号和密码
4s平台的包是由HTTP请求发送的,所以这里我们只需要抓HTTP的包就行了。
首先可以看到进入4s平台之后,抓取到了很多数据包。
然后我们自己输入自己的账号和密码登录平台。
登录之后又捕获到了很多数据包,我们需要找到以POST发的包(因为我们的登录账号信息是由POST方式来发送的 )
找到了之后我们就能看到具体的详细信息了,这两个POST的包一个是密码是明文,一个是密文,大家注意信息保密。
最后在我们数据包的详细界面就能找到自己的账号和密码。
(四)、其他
TCP三次握手的包 :每一次握手flag信息就和书上是一模一样的
FTP的包 :展示了FTP请求与应答的过程
DNS的包: DNS包信息验证了我们在运输层使用的是UDP协议
ARP的包 :实现了IP地址MAC地址的映射