1、如何抓手机APP的HTTP包【逆向学习】

目录

 

手机APP抓包工具

如何抓包手机APP包

普通HTTP包电脑端设置

移动端手机中设置WiFi代理

Charles抓包普通http的常见问题

手机端已经设置了Charles的代理,但是手机端还是无法上网

手机端首次使用网络时,Charles要点击Allow去允许使用网络才行

Charles抓包看到unknown是什么意思


手机APP抓包工具

1、fiddler 【推荐PC电脑端使用】

2、Charles【推荐PC、Mac端使用】

3、HttpAnalyzerStdV7

4、Wireshark【。。。不能解密ssl这就很难受】

 

由于Charles 的界面更加让我心情愉悦,所以,整体的抓包工具,我更加喜欢用Charles作为我的抓包工具第一选择,另外就是fiddler为主。主要是功能更多一点。

 

如何抓包手机APP包

 

普通HTTP包电脑端设置

使用工具:Charles

使用方法: 电脑端在Charles上面设置好 http代理的端口,默认是:8888; 移动端手机上面设置的WiFi上面设置端口代理。

 

PC端设置Charles的HTTP代理
Proxy -> Proxy Settings -> Proxies -> HTTP Proxy

 

 

默认是8888
可以改为自己想要的任意端口
(默认已)勾选:
Support HTTP/2
Enable transparent HTTP proxying

 

移动端手机中设置WiFi代理

 

确保电脑和手机是同一个网络
电脑端是要有线网络
后续会有详细解释如何操作
手机端可以是Wifi无线网
然后设置手机端Wifi代理为Charles所在电脑的IP和Charles的HTTP代理的端口

我用白嫖的红米手机为大家展示一下!

代理IP:Charles所在电脑的IP

可以用CMD命令 ipconfig 找到以太网的本地IP地址

然后就像这样填写进入到与电脑相同局域网中的WiFi中就行了!

 

打开Charles后,默认就是开启抓包的,然后你打开手机的浏览器,输入百度之类的网站网址后,你就可以在Charles界面中看到一系列的数据包。

 

接着就可以用Charles愉快的抓包和分析http的请求了

 

Charles抓包普通http的常见问题

 

  • 手机端已经设置了Charles的代理,但是手机端还是无法上网

甚至app都没有网络了
Charles中也无法抓到包
这种情况有多种可能:PC端要用有线网络而不能使无线WiFi、如果各种配置都正常,但是手机端还是无法上网:

这时候可以去试试:

把PC端网络,从无线的Wifi换成有线的LAN口的网络。

 

  • 手机端首次使用网络时,Charles要点击Allow去允许使用网络才行

注意到手机端刚刚设置Charles的Wifi代理后,手机中的Wifi会提示:已连接,但是无法访问互联网

意味着:此时手机还无法正常使用网络

原因:其他设置了代理为Charles的设备,在第一次使用网络时,Charles会弹出是否允许使用网络:

A connection attempt to Charles has been made from the host x.x.x.. You should only allow
access to Charles to trusted users. If you deny this attempt you will not be asked again for this host
address until you restart Charles. Access controls are maintained in the Access Control Settings in the
Proxy menu.

 

此时要点击Allow去允许使用网络,然后手机端才能正常使用Charles代理去访问网络。

 

  • Charles抓包看到unknown是什么意思

从上述的普通http的抓包信息中可以看到:对于https的请求来说,Charles中抓包:

  • 接口显示的是:<unknown>
  • Method是:CONNECT
    • 顺带解释一下CONNECT的含义
      • 是HTTP的8中Method中的一种
      • 作用是:
        • HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。通常用于SSL加密服务器的链接(经由非加密的HTTP代理服务器
        • 并非所有的http隧道支持connect方法
        • Http隧道分为两种
          • 不使用CONNECT的隧道
          • 使用CONNECT的隧道
        • 总之:
          • Http CONNECT相当于客户端和服务器之间建立的一个隧道
          • 而通过这个隧道的请求是加密的
            • 所以CONNECT方式的请求使用抓包是抓不到

是无法查看https的原文,明文的信息的。

想要Charles抓包https的话,相关设置要稍微复杂一点。

 

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值