当前位置: 首页 > news >正文

【Android】Proxyman 抓 HTTP 数据包

前言

抓包(Packet Capture)是指在网络通信中截取、分析数据包的过程。

抓包通常用于网络调试、性能优化、安全分析等工作,可以帮助开发者或运维人员查看网络请求的详细内容,包括请求的URL、请求头、响应状态、数据内容等信息。

在抓包过程中,抓包工具会监听网络接口,将传输的数据包截取下来并以可读的方式展示出来。

抓包工具可以分析多种协议的数据包,如 HTTP、HTTPS、TCP、UDP 等,帮助我们深入了解网络通信的细节。

抓包

HTTP

Proxyman 是一款高性能的抓包应用程序,使开发人员能够查看来自应用程序和域的 HTTP/HTTPS 请求,包括 iOS 设备、iOS 模拟器Android 设备。

前期准备

  1. 下载 Proxyman

    点击下载 👉 Proxyman

  2. 安装完成后打开 Proxyman ,根据指引安装证书到本地电脑

  3. 找一台 Root 过的 Android 设备,让设备网络与电脑网络处于同一局域网,并能使用电脑 pingAndroid 设备的 IP 地址。

  4. 进入 Android 设备的网络设置,为 以太网WIFI 配置代理信息。配置的代理信息如下:

    Server:192.1.68.1.5
    Port:9090
    Authentication:No

    配置代理需要确保 Android 设备上的 VPN 被关闭,以免代理冲突。

  5. Android 设备上打开浏览器,访问 http://proxy.man/ssl 网址下载 CA 证书。

  6. 打开设置,根据 安全 → 加密与凭证 → 安装证书 → CA 证书 的操作步骤安装刚刚下载的 CA 证书。

  7. 如果你的 Android 系统版本高于 10 ,需要在你的 Android 项目上配置信任 CA 证书,即在 res/xml/network_security_config.xml 加上如下配置:

    <?xml version="1.0" encoding="utf-8"?>
    <network-security-config><debug-overrides><trust-anchors><!-- Trust user added CAs while debuggable only --><!-- 信任用户添加的CA证书 --><certificates src="user" /><!-- 信任系统预装的CA证书 --><certificates src="system" /></trust-anchors></debug-overrides><!-- 允许明文流量(即HTTP请求)--><base-config cleartextTrafficPermitted="true"><!-- 配置指定信任的证书来源。--><trust-anchors><!-- 表示信任系统预装的CA证书和用户添加的CA证书 --><certificates src="system" /><!-- 信任系统预装的CA证书和用户添加的CA证书 --><certificates src="user" /></trust-anchors></base-config>
    </network-security-config>
    

    将配置文件的引用添加到 AndroidManifest.xml

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"><applicationandroid:networkSecurityConfig="@xml/network_security_config"></application>
    </manifest>
    
  8. 打开APP
    具体详情可参考 👉 Android Device & Emulator

注意事项:
1、http 的网络请求在任何的 Android 版本上都可以进行抓包,https 的网络请求在Android 10及以上的Android 版本抓包,必须需要在 Android 项目加上一些配置才能抓包。
2、Android 10 及以上的 Android 版本需要在 Android 系统上配置 CA 证书。
3、使用抓包工具进行抓包的电脑要求要和 Android 端的网络处于同一局域网,且使用电脑能够 ping 通。

http://www.lryc.cn/news/486995.html

相关文章:

  • 基于Java Springboot活力健身馆管理系统
  • Excel SUMIFS
  • 复制Qt项目后常见问题解决
  • C#-WPF 常见类型转换方法(持续更新)
  • Path does not exist: file:/D:/pythonProject/spark/main/datas/input/u.data
  • 物联网——UNIX时间戳、BKP备份寄存器、RTC时钟
  • 力扣 LeetCode 94. 二叉树的中序遍历(Day6:二叉树)
  • 删除缓存之后,浏览器显示登录新设备
  • 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-04
  • Stable diffusion详细讲解
  • 软件工程期末复习-用例建模
  • 【Golang】——Gin 框架中的表单处理与数据绑定
  • hive-内部表外部表-详细介绍
  • Windows系统 ElasticSearch,分词器、Kibana安装
  • 黑马智数Day10
  • 网络传输:网卡、IP、网关、子网掩码、MAC、ARP、路由器、NAT、交换机
  • MySQL45讲 第二十四讲 MySQL是怎么保证主备一致的?——阅读总结
  • Visual Studio 圈复杂度评估
  • Springboot之登录模块探索(含Token,验证码,网络安全等知识)
  • golang调用模组程序实现交互输入自动化,获取imei及iccid
  • ACE之单例
  • 泷羽sec学习打卡-云技术基础1-docker
  • 7天掌握SQL - 第一天:数据库基础与SQL入门
  • A037-基于Spring Boot的二手物品交易的设计与实现
  • 【异常记录】Junitmock之InvalidUseOfMatchersException异常
  • Spring Boot3自定义starter
  • 掌控 Solidity:事件日志、继承和接口的深度解析
  • 新手教学系列——善用 VSCode 工作区,让开发更高效
  • Vue3 虚拟列表组件库 virtual-list-vue3 的使用
  • WebRTC实现双端音视频聊天(Vue3 + SpringBoot)