抓包教程2-抓包抓了什么 认识Http传输
给大家继续介绍网络抓包,介绍HttpCatcher网球抓包教程,Http传输详细的请求头、响应头、响应消息体介绍,让你看得懂抓包抓到的东西都是什么
这篇文章是什么是抓包系列第二篇
首先看一下今天介绍的主要内容
1.抓包知识
2.超文本传输
3.请求、响应具体介绍
4.通过网球抓包分析相关
抓包
抓包(packet capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作。
你可以前往上一篇文章查看、学习
抓包抓的是什么?
在互联网时代中你使用的大部分程序运行时都会有的数据交互,而传输的数据一般都是以数据包的形式传输。
那么抓包可以对这些传输数据包进行截获、重发、编辑、转存等操作,所以抓包抓的就是数据传输中的数据包
HTTP传输
HTTP传输(超文本传输)过程是什么?
你阅读上期文章:什么是抓包?时发生了什么事?
你在你的手机浏览器客户端输入:https://ios.joia.cn/archives/HttpNew1 网址,
并点击了访问,然后浏览器就展现出钟意博客的网页。
- 你访问网址,浏览器会获取服务器的ip
- 根据这个ip地址浏览器会连接到服务器,发起三次TCP握手
- 握手后,浏览器发送http请求(今天重要内容)
- 服务器响应HTTP请求,向客户端发送响应的内容(划重点,会考),浏览器得到html页面,并展示给客户
- 进行第四次TCP握手,断开服务器与客户端连接
这是网络传输的一个过程,本次数据传输为
客户端->服务器->客户端
按照本次要学习的内容,本次过程可以表示为
客户端发送请求到服务器->服务器发送响应到客户端
网络传输具体
首先在你点击访问按钮的时候,客户端会向服务器发出请求,当然请求也不是随便发送的,在HTTP请求报文中,报文由3个部分组成(请求行+请求头+请求体)
为了更加详细介绍,我们用网球来抓包看看,抓到的内容
网球教程
- 1.打开HttpCatcher网球
- 2.开启抓包,访问https://joibk.cn/archives/8/
- 3.完成抓包,关闭抓包
General
General_Log请求文报这里包含了
请求Url(Request URL)、请求方法(Request Method)、远程地址(Remote Address)、状态码(Status Code)、版本(Version)
Request Header
Request Header请求头里面包含的东西是我们今天要讲的重要东西之一,请求部分是浏览器与服务器的悄悄话,这个是用户无法看到的
这是本次抓的请求头
GET /archives/HttpNew1 HTTP/1.1
Host: ios.joia.cn
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Connection: keep-alive
Cookie: 992bfb5d70cb0a2bbf287236
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 15_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6 Mobile/15E148 Safari/604.1
Accept-Language: zh-CN,zh-Hans;q=0.9
Referer: https://ios.joia.cn/
Accept-Encoding: gzip, deflate, br
Get:请求方法,GET和POST是最常见的HTTP方法,简单介绍GET和POST,GET从服务器获取信息,POST提交数据。POST的安全性比GET高
/archives/HttpNew1:请求行,请求行这是抓包中匹配的关键
HTTP/1.1:版本。
Host:域名。也可以作为抓包匹配的关键
Accept:指定客户端能够接收的内容类型
(具体度娘)
Connection:表示是否需要持久连接。
(这里是keep-alive表示需要持久连接,如果是close表示不需要持久连接)
Cookie:就是储存在用户本地终端上的数据
User-Agent:请求的用户信息
Accept-Language:语言
Referer:先前网页的地址,当前请求网页紧随其后,即来路
Accept-Encoding:指定浏览器可以支持的web服务器返回内容压缩编码类型
-
这就是本次抓包请求头的具体介绍,还有其他的可以度娘补充知识
Response Header
Response Header响应头是服务器在接收响应后反馈给客户端的内容,那么本次抓到的具体内容是什么呢
HTTP/1.1 200 OK
Server: nginx
Date: Sun, 30 Oct 2022 11:13:17 GMT
Content-Type: text/html; charset=UTF-8
Vary: Accept-Encoding
strict-transport-security: max-age=31536000
x-pingback: https://ios.joia.cn/action/xmlrpc
X-Cache: HIT
Strict-Transport-Security: max-age=31536000
Content-Encoding: gzip
X-Cache: MISS from kangle web server
Transfer-Encoding: chunked
继续来一一介绍
server:服务器的类型
Data:时间
content-type:服务器回送数据的类型
transfer-encoding:表示数据是以分块方式回送的
Connection:是否需要持续连接
Vary:缓存判断
X-Pingback:Pingback是网志中常用的用来通知网志系统文章被引用情况的一种手段(博客的一些东西)
Strict-Transport-Security:强制安全传输
Content-Encoding:压缩方式
响应消息体
请求部分是浏览器与服务器的悄悄话,这个是用户无法看到的,但是响应消息体就不一样了,他是可以用户看到的,响应消息体也可以当成文件
比如,本次抓包访问的是网站,传回的消息体为html文件,其他请求可能是图片等格式
我们会在下篇文章继续教这部分内容
文章到此结束了,我们下期再见。
有问题的小伙伴可以在文章下面留言评论哦,也可以直接扣我QQ
更多教程:钟意小屋joia.cn,公众号:木木iOS分享
Comments | NOTHING