手机抓包方式汇总_手机抓包app

(2) 2024-08-08 09:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
手机抓包方式汇总_手机抓包app,希望能够帮助你!!!。

我们经常会需要分析手机App的发包数据,本文汇总整理一下常见的抓包的方法。

方法一

手机设置代理为电脑上的抓包程序(Fiddler/Charles)。通过手机安装对应抓包程序证书,可以实现https请求抓包。
优点:设置和操作简单
缺点:设置代理,会被App安全机制检测到,同时存在不支持代理的App。

方法二

透明代理(Transparent Proxy)。这种方式是在手机连接的热点设备上,将手机的网络包进行抓取转发。对设备来说是无感的,所以被称为透明代理。
热点设备可以是PC,也可以是路由器,甚至可以是树莓派等开发板,只要设备能同时支持有线和无线连接。这里以Macbook pro为例来实现透明代理。
设置步骤:

  1. 系统偏好设置-共享,打开互联网共享,来源设置为以太网,共享端口设置为Wi-Fi,在Wi-Fi选项中可以配置共享无线热点的名称和密码。
  2. 打开IP转发
sudo sysctl -w net.inet.ip.forwarding=1 
  1. 使用ifconfig命令找到当前共享热点的无线网卡,具体操作方法是手机连接到共享热点后,查看当前网关,然后看看ifconfig列出的网卡列表里,哪一个网卡的ip地址是手机上显示的网关ip。我的电脑显示的是共享热点网卡是bridge100。
    创建并启用端口转发规则,将bridge100网卡的80、443端口流量转发到本地的8080端口:
echo "rdr pass on bridge100 inet proto tcp to any port {80, 443} -> 127.0.0.1 port 8080" | sudo pfctl -ef - 

运行以下命令可以看到已经创建好的转发规则:

sudo pfctl -s nat 

pfctl命令是PF防火墙的配置命令,类似于Linux系统的iptables。PF防火墙 ( 全称:Packet Filter ) 是 UNIX LIKE 系统上进行 TCP/IP 流量过滤和网络地址转换的软件系统。PF 同样也能提供 TCP/IP 流量的整形和控制,并且提供带宽控制和数据包优先集控制。

  1. 配置允许mitmproxy访问pfctl
sudo sh -c "echo 'ALL ALL=NOPASSWD: /sbin/pfctl -s state' >> /etc/sudoers" 
  1. 本地安装mitmproxy
brew install mitmproxy 
  1. 启动mitmproxy
    mitmproxy提供了三种不同的启动命令:
  • mitmproxy gives you an interactive command-line interface
  • mitmweb gives you a browser-based GUI
  • mitmdump gives you non-interactive terminal output

这里用的是mitmweb,启动后自动打开浏览器,显示一个可交互的网页页面,抓取的数据包也会在页面上显示。

mitmweb --mode transparent 
  1. 连接共享热点的设备访问http://mitm.it安装证书文件并启用信任。

总结

以上两种抓包方式,也被称为中间人攻击,就是代理程序接收到用户终端发来请求数据时,伪装成用户向目标服务器发送了数据请求,同时将数据进行了解包分析。但是当遇到服务器请求进行证书校验时,这种方式就无法生效了。
本文只是利用了手里现成的设备来实现透明代理抓包,同样的也可以通过Linux设备,Windows设备,以及路由器等设备来实现,部分教程补充在参考资料中。

参考:
mitmproxy透明代理设置
mitmproxy官方网站
透明代理入门
iptables实现透明代理,进行Web流量截取的方法
Android路由重定向+透明代理抓App包

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复