RPC和安卓抓包
感谢正己大佬开源:安卓逆向这档事
目前不是很用的到,留个位置以后再说.
抓包
这里用小黄鸟进行抓包
http相关原理就不写了,这个比我学C语言还早()
反制手段
不写先,抓包这件事目前不是很用得上
请求体解析
HTTP请求报文分为3部分:第一部分叫起始行(Request line),第二部分叫首部(Request Header),第三部分叫主体(Body)。

- 状态:表示请求的状态,这里是"Completed",意味着请求已经完成。
- 方法:HTTP 请求的方法(也称为动词),这里为 "GET",说明这是一个获取资源的请求。
- 协议:使用的 HTTP 协议版本,此处为 "HTTP/1.1"。(Reqable支持HTTP1、HTTP2和HTTP3(QUIC)协议)
- Code:HTTP 状态码,200 表示服务器成功处理了请求。
- 服务器地址:请求的目标服务器的 IP 地址和端口号,这里是 "180.76.198.77:443"。
- Keep Alive:是否保持连接 alive,值为 "true" 意味着会保持连接。
- Content Type:返回内容的数据类型,这里没有指定具体的类型。
- 代理协议:如果使用了代理,则显示代理协议,此例中为 "https"。
HTTP方法
| 方法 | 描述 |
|---|---|
| GET | 请求指定的页面信息并返回实体主体 |
| HEAD | 类似于GET请求,只不过返回的响应中没有具体的内容,用于获取报头 |
| POST | 向指定资源提交数据进行处理请求(例如提交表单或者上传文件),数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或对已有资源的修改 |
| PUT | 从客户端向服务器传送的数据取代指定文档的内容 |
| DELETE | 请求服务器删除指定的页面 |
HTTP常见状态码
| 名 称 | 释 义 |
|---|---|
| 200 OK | 服务器成功处理了请求。 |
| 301 Moved Permanently | 请求的URL已被永久移动。Response应包含Location URL指向新位置。 |
| 302 Moved Temporarily | 请求的URL被暂时移动。Response应包含Location URL指向临时位置。 |
| 304 Not Modified | 客户端缓存的资源是最新的,无需重新发送,客户端应使用缓存。 |
| 404 Not Found | 请求的资源未在服务器上找到。 |
| 401 Unauthorized | 请求要求用户的身份认证。 |
| 500 Internal Server Error | 服务器遇到了意外的情况,无法完成请求。 |
原始报文及请求头解析

这张图片展示的是一个HTTP请求报文的原始格式,以下是对各个行的解释:
- 第一行是请求行,包含了请求方法(GET)、请求路径以及HTTP协议版本(HTTP/1.1)。在这个例子中,请求方法是GET,表明这是一个获取操作;请求路径是
/ZJ2595/wuaijie/raw/master/movie/list1.json,这意味着请求的目标资源位于gitee.com网站的某个特定目录下,具体来说是在ZJ2595/wuaijie仓库下的master分支中的movie/list1.json文件;HTTP/1.1表示使用的HTTP协议版本。 - 第二行
Host: gitee.com是一个HTTP头字段,指明了请求要访问的具体主机名,即gitee.com。 - 第三行
Connection: Keep-Alive表示客户端希望保持持久连接。这意味着一旦TCP连接建立之后,可以重复使用该连接来发送多个HTTP请求,而不需要为每个请求单独建立一个新的连接。 - 第四行
Accept-Encoding: gzip告诉服务器客户端支持的压缩编码类型。在这个例子中,客户端表示它可以接受gzip压缩编码的内容。 - 最后一行
User-Agent: okhttp/3.12.0提供了关于发起请求的应用程序的信息。User-Agent头字段通常用于标识发出请求的浏览器或应用程序的类型、版本和其他相关信息。在这里,User-Agent是okhttp/3.12.0,这表示请求是由OkHttp库的一个版本3.12.0发出的。
请求头 (Request Headers)
| 名称 | 描述 |
|---|---|
| Accept | 指定客户端能接收的媒体类型。 |
| Accept-Charset | 指定客户端能接收的字符集。 |
| Accept-Encoding | 指定客户端能解码的编码方式,如gzip或deflate。 |
| Accept-Language | 指定客户端首选的语言。 |
| Authorization | 包含用于访问资源的认证信息。 |
| Cache-Control | 控制缓存行为,如no-cache或max-age。 |
| Connection | 控制HTTP连接是否保持活动状态,如keep-alive或close。 |
| Content-Length | 指明请求体的长度。 |
| Content-Type | 指明请求体的数据类型,如application/json。 |
| Cookie | 包含客户端的cookie信息。 |
| Date | 请求生成的时间。 |
| Expect | 指定客户端期望服务器执行的操作。 |
| From | 发送请求的用户邮箱地址。 |
| Host | 请求的目标服务器的域名和端口号。 |
| If-Modified-Since | 用于条件性GET,如果资源自指定日期后未被修改则返回304。 |
| If-None-Match | 用于条件性GET,如果资源的ETag与提供的不匹配则返回资源。 |
| Origin | 指明请求来源的源站地址,常用于跨域资源共享(CORS)。 |
| Pragma | 包含与特定代理有关的指令。 |
| Referer | 指明请求前一个页面的URL,可用于跟踪引用页面。 |
| TE | 表示客户端能处理的传输编码方式。 |
| Trailer | 指明报文主体之后的尾部字段。 |
| Transfer-Encoding | 指明报文主体的传输编码方式,如chunked。 |
| Upgrade | 指示客户端希望升级到另一种协议。 |
| User-Agent | 包含客户端软件的名称和版本信息。 |
| Via | 记录请求经过的中间节点,用于追踪和诊断。 |
| Warning | 包含非致命问题的警告信息。 |
响应体解析

响应头 (Response Headers)
| 名称 | 描述 |
|---|---|
| Age | 响应对象在代理或缓存中的存储时间。 |
| Cache-Control | 控制缓存行为,如public、private、no-store、no-cache等。 |
| Connection | 指示连接是否保持打开,如keep-alive或close。 |
| Content-Encoding | 指明响应体的编码方式,如gzip或deflate。 |
| Content-Length | 响应体的长度。 |
| Content-Type | 响应体的数据类型,如text/html。 |
| Date | 服务器生成响应的时间。 |
| ETag | 响应资源的实体标签,用于判断资源是否已被修改。 |
| Expires | 响应过期时间,之后缓存不应再使用。 |
| Last-Modified | 资源最后修改的时间。 |
| Location | 用于重定向,包含资源的新位置。 |
| Pragma | 与特定代理有关的指令。 |
| Proxy-Authenticate | 当代理服务器需要认证时使用。 |
| Retry-After | 在重试之前等待的时间。 |
| Server | 服务器软件的名称和版本。 |
| Set-Cookie | 用于设置或更新客户端的cookie。 |
| Trailer | 指明响应尾部字段。 |
| Transfer-Encoding | 响应体的传输编码方式,如chunked。 |
| Upgrade | 用于协议升级。 |
| Vary | 指明哪些请求头会影响响应的内容,用于缓存控制。 |
| WWW-Authenticate | 当服务器需要认证时使用。 |
| X-Frame-Options | 控制页面是否可以在iframe中显示。 |

-
count: 表示返回的电影总数,这里是102个。
-
- results
- 这是一个包含电影信息的数组。每个电影信息包括以下字段:
- id: 电影的唯一标识符。
- name: 电影的名称。
- alias: 电影的别名或英文名称。
- cover: 电影封面的URL链接。
- categories: 电影的分类,通常是一个数组,包含多个类别。
- published_at: 电影的上映日期。
- minute: 电影的时长,以分钟为单位。
- score: 电影的评分。
- regions: 电影的上映地区,通常是一个数组,包含多个地区名称。
- drama: 电影的剧情简介。

浙公网安备 33010602011771号