Wireshark抓包及分析——HTTP

1、首先我们打开 Wireshark,可以看到有很多的网络,选择自己正在使用的网络,比如我现在就是使用 WLAN,双击点开就可以了。
在这里插入图片描述

2、然后开始抓包分析,在浏览器中输入网址
在这里插入图片描述

3、可以看到 Wireshark 已经抓到很多数据包,然后过滤,筛选出 HTTP 数据包。
在这里插入图片描述

4、接下来才是对 HTTP 数据包的分析。
双击点开HTTP请求、HTTP响应(最前面——箭头向右的是请求,箭头向左的是响应)

(1)Frame
物理层的数据帧概况。
(2)Ethernet II
数据链路层以太网帧头部信息,一般包含源(本机)、目的地(服务器)物理地址(MAC)。
(3)Internet Protocol Version 4
互联网层IP包头部信息,一般包含源(本机)、目的地(服务器)IP地址。
(4)Transmission Control Protocol
传输层的数据段头部信息,此处是TCP协议,一般包含源(本机)、目的地(服务器)端口和连接状态。
(5)Hypertext Transfer Protocol
应用层的信息,此处是HTTP协议。

我着重要解读的是HTTP协议包解读。
下面就是一个请求数据包
在这里插入图片描述

> Frame 432: 536 bytes on wire (4288 bits), 536 bytes captured (4288 bits) on interface 0
> Ethernet II, Src: Cybertan_83:22:81 (60:14:b3:83:22:81), Dst: XiaomiEl_1b:75:f7 (40:31:3c:1b:75:f7)
> Internet Protocol Version 4, Src: 192.168.31.208, Dst: 128.119.245.12
> Transmission Control Protocol, Src Port: 56556, Dst Port: 80, Seq: 1, Ack: 1, Len: 482
v Hypertext Transfer Protocol
	v GET /ethereal-labs/HTTP-ethereal-file1.html HTTP/1.1\r\n										#请求信息
		v [Expert Info (Chat/Sequence): GET /ethereal-labs/HTTP-ethereal-file1.html HTTP/1.1\r\n]	#专家信息
			[GET /ethereal-labs/HTTP-ethereal-file1.html HTTP/1.1\r\n]
			[Severity level: Chat]
			[Group: Sequence]
		Request Method: GET																			#请求方式 GET
		Request URI: /ethereal-labs/HTTP-ethereal-file1.html										#请求地址
		Request Version: HTTP/1.1																	#请求版本,即本机浏览器(客服端的版本)
	Host: gaia.cs.umass.edu\r\n																		#请求主机
	Connection: keep-alive\r\n																		#使用持久连接
	Cache-Control: max-age=0\r\n																	#检验是否有本地缓存,max-age>0 时 直接从游览器缓存中 提取max-age<=0 时 向server 发送http 请求确认 ,该资源是否有修改 
	Upgrade-Insecure-Requests: 1\r\n
	User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36\r\n	#浏览器类型
	Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3\r\n	#请求的类型
	Accept-Encoding: gzip, deflate\r\n																#请求的编码格式
	Accept-Language: zh-CN,zh;q=0.9\r\n																#请求的语言
	\r\n
	[Full request URI: http://gaia.cs.umass.edu/ethereal-labs/HTTP-ethereal-file1.html]				#完整的请求 URL 路径
	[HTTP request 1/1]																				#HTTP请求进度 1/1
	[Response in frame: 438]																		#响应帧,编号

下面就是一个响应数据包,可以看到一些传递数据
在这里插入图片描述

> Frame 438: 538 bytes on wire (4304 bits), 538 bytes captured (4304 bits) on interface 0
> Ethernet II, Src: XiaomiEl_1b:75:f7 (40:31:3c:1b:75:f7), Dst: Cybertan_83:22:81 (60:14:b3:83:22:81)
> Internet Protocol Version 4, Src: 128.119.245.12, Dst: 192.168.31.208
> Transmission Control Protocol, Src Port: 80, Dst Port: 56556, Seq: 1, Ack: 483, Len: 484
v Hypertext Transfer Protocol
	v HTTP/1.1 200 OK\r\n																			#响应信息
		v [Expert Info (Chat/Sequence): HTTP/1.1 200 OK\r\n]										#专家信息
			[HTTP/1.1 200 OK\r\n]
			[Severity level: Chat]
			[Group: Sequence]
		Response Version: HTTP/1.1																	#响应版本,即服务器版本
		Status Code: 200																			#状态码
		[Status Code Description: OK]																#响应状态码描述
		Response Phrase: OK																			#响应短语
	Date: Sat, 21 Sep 2019 08:34:51 GMT\r\n															#响应时间
	Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/5.4.16 mod_perl/2.0.10 Perl/v5.16.3\r\n	#服务器信息
	Last-Modified: Sat, 21 Sep 2019 05:59:02 GMT\r\n												#上一次修改时间
	ETag: "7e-59309e22c0357"\r\n																	#上一次修改标志
	Accept-Ranges: bytes\r\n																		#接收范围
	v Content-Length: 126\r\n																		#内容长度
		[Content length: 126]
	Keep-Alive: timeout=5, max=100\r\n																#保持响应时间,以及最大值#
	Connection: Keep-Alive\r\n																		#持久连接
	Content-Type: text/html; charset=UTF-8\r\n														#响应的内容类型
	\r\n
	[HTTP response 1/1]																				#HTTP响应进度 1/1
	[Time since request: 0.253416000 seconds]														#响应时间
	[Request in frame: 432]																			#请求帧,编号
	[Request URI: http://gaia.cs.umass.edu/ethereal-labs/HTTP-ethereal-file1.html]					#完整 URL 路径
	File Data: 126 bytes																			#文件长度
v Line-based text data: text/html (4 lines)															#响应数据内容
	<html>\n
	Congratulations.  You've downloaded the file \n
	http://gaia.cs.umass.edu/ethereal-labs/HTTP-ethereal-file1.html!\n
	</html>\n
Wireshark是一款开源的网络协议分析工具,广泛用于网络故障排除、协议开发和教育。它可以捕获网络数据包,并提供详细的协议信息和解码。下面是如何使用Wireshark进行HTTP抓包分析的步骤: ### 1. 安装Wireshark 首先,从Wireshark的官方网站下载并安装适合你操作系统的版本。 ### 2. 启动Wireshark 安装完成后,启动Wireshark。你会看到网络接口列表,选择你要捕获数据包的接口。 ### 3. 开始捕获数据包 点击“开始捕获数据包”按钮(通常是一个鲨鱼鳍图标),Wireshark将开始捕获通过选定接口的所有网络流量。 ### 4. 过滤HTTP流量 为了只显示HTTP流量,可以在过滤器输入框中输入`http`,然后按回车键。这样,Wireshark将只显示HTTP协议相关的流量。 ### 5. 进行HTTP请求 在捕获数据包的同时,打开一个网页或使用HTTP客户端发送请求。Wireshark将捕获这些HTTP请求和响应。 ### 6. 停止捕获数据包 完成请求后,点击“停止捕获数据包”按钮(通常是一个红色的方形图标)。 ### 7. 分析HTTP流量 在捕获的数据包列表中,找到HTTP请求和响应。你可以通过点击每个数据包来查看详细信息,包括HTTP头部和负载。 ### 8. 查看详细信息 在数据包详细信息窗口中,展开“Hypertext Transfer Protocol”节点,可以查看请求和响应的详细信息,如方法、URI、状态码、头部信息和数据负载。 ### 9. 保存捕获的数据 如果你需要保存捕获的数据以便后续分析,可以点击“文件”菜单,选择“保存”或“另存为”,然后选择保存位置和文件名。 ### 10. 导出HTTP对象 Wireshark还提供了导出HTTP对象的功能。你可以通过“文件”菜单,选择“导出对象”->“HTTP”,然后选择要导出的对象。 通过以上步骤,你可以使用Wireshark进行HTTP抓包分析,帮助你理解和调试HTTP协议相关的网络问题。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值