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

【Android】如何抓取 Android 设备的 UDP/TCP 数据包?

目录

    • 前言
    • 理解抓包
    • tcpdump 实时抓包
    • Wireshark 解包
    • 抓包后的一些思考

前言

在真正接触 UDP/TCP 抓包之前,我一直以为这是一项高深莫测的技术。可当我们真正了解之后才发现,其实并没有那么复杂——不过如此。

所谓的大佬,往往只是掌握了你尚未涉足的知识。而当你掌握了他们未曾触及的领域,你同样也能成为那个受人瞩目的“技术大佬”。

本文将带你了解如何抓取 Android 设备上的 UDP 数据包。跟我一起,迈出成为技术大佬的一步。

理解抓包

抓包(Packet Capture)就是指截取在网络中传输的数据包,用来查看、分析通信内容的过程。

抓包几乎可以抓取所有基于网络传输协议的数据包,包括但不限于:HTTP/HTTPS、FTP、WebSocket、MQTT、TCP、UDP等等。

tcpdump 实时抓包

在本文中,抓包分为两个大步骤,分别为 tcpdump 实时抓包与 Wireshark 解析数据包。tcpdumpLinux 系统内核的一个命令行工具,基于 Linux 内核的 Android 也可以像使用 Linux 那样去使用该指令。

  • 执行 tcpdump 指令前需要进入 Android 系统的 shell 状态
adb -s 设备ip\id shell
  • 通过 su 指令切换至root状态(非root设备无法使用该指令)
su
  • 开始抓包
tcpdump -i any 数据类型 -w /sdcard/udp.pcap

数据类型:根据个人需求,可选 udptcp,不填则默认抓取全部数据包。

  • 停止抓包后将文件保存至电脑
adb -s 设备ip/id pull /sdcard/udp.pcap 电脑路径

Wireshark 解包

👉 点击前往下载 Wireshark

提取抓包文件到电脑后,将 .pcap 后缀名的文件使用 Wireshark 打开,打开后如图:

在这里插入图片描述

接着在顶部的过滤器过滤指定端口的数据,这样就可以看到我们抓取的 UDP 数据。

在这里插入图片描述

如果你想要过滤的数据是 HTTP、MQTT 数据,可以直接在 过滤器输入 http、mqtt

在这里插入图片描述
这里值得注意的是,在查看 HTTP 的数据时,需要选中某一条 HTTP 数据右键 👉 追踪流 👉 HTTP Stream 才能解析出所有的信息。

在这里插入图片描述

抓包后的一些思考

随着抓包工具的普及,网络数据拦截的技术门槛显著降低,数据传输面临的安全威胁日益严峻。要有效应对这一挑战,核心在于实施通信加密——即使数据被截获,攻击者也无法破解其真实内容。

需明确的是,抓包(Packet Capture)作为网络通信的基础行为,本质上无法彻底杜绝。但通过合理的技术手段,可以大幅提高攻击者的破解难度和成本,确保被捕获的数据包无法被有效利用。以下是具体防护策略与使用对应防护措施的工具/技术:

协议防护措施类似工具/技术
UDPDTLS、QUIC、自定义加密OpenSSL, NaCl
MQTTMQTT over TLS、ACL、VPCMosquitto, EMQX
HTTPHTTPS、HSTS、API 签名Nginx, Let’s Encrypt
通用VPN、零信任、流量混淆WireGuard, IPSec

以上就是针对抓包风险的防护措施总结,希望能为您的数据安全防护提供有效参考。通过合理的加密策略和协议优化,可以显著降低敏感信息泄露的风险。

参考文档
1、Wireshark 使用指南 — 官方文档
2、Wireshark 使用指南 — 哔哩哔哩大学
3、Wireshark的抓包和分析,看这篇就够了

http://www.xdnf.cn/news/723781.html

相关文章:

  • ass字幕嵌入mp4带偏移
  • ubuntu系统安装Pyside6报错解决
  • Flask与PostgreSQL交互教程
  • K8s工作流程与YAML实用指南
  • 企业信息化集成方案:聚水潭·奇门数据对接金蝶云星空
  • 历年中国科学技术大学计算机保研上机真题
  • 无人机桥梁3D建模、巡检、检测的航线规划
  • 解决访问网站提示“405 很抱歉,由于您访问的URL有可能对网站造成安全威胁,您的访问被阻断”问题
  • 最悉心的指导教程——阿里云创建ECS实例教程+Vue+Django前后端的服务器部署(通过宝塔面板)
  • 使用 Zabbix 监控 MySQL 存储空间和性能指标的完整实践指南
  • OramaCore 是您 AI 项目、答案引擎、副驾驶和搜索所需的 AI 运行时。它包括一个成熟的全文搜索引擎、矢量数据库、LLM界面和更多实用程序
  • 编译rustdesk,使用flutter、hwcodec硬件编解码
  • 深度学习笔记25-RNN心脏病预测(Pytorch)
  • docker-compose搭建prometheus以及grafana
  • 工厂方法模式(Factory Method)深度解析:从原理到实战优化
  • 车辆减振器焊口疲劳试验台
  • powershell 中 invoke-expression 报错解决
  • 华为欧拉系统中部署FTP服务与Filestash应用:实现高效文件管理和共享
  • AsyncIOScheduler与BackgroundScheduler的线程模型对比
  • iOS 集成网易云信的音视频呼叫组件
  • leetcode:479. 最大回文数乘积(python3解法,数学相关算法题)
  • [Javascript进阶]JSON.stringify与JSON.parse详解
  • 公网ip怎么申请和使用?本地只有内网IP如何提供外网访问?
  • 实验设计与分析(第6版,Montgomery)第5章析因设计引导5.7节思考题5.8 R语言解题
  • 【C++】STL详解(四)---Stack和Queue
  • Vue3中Element-Plus中el-input及el-select 边框样式
  • 【设计模式】观察者模式
  • Java 大数据处理:使用 Hadoop 和 Spark 进行大规模数据处理
  • Eureka实战:怎么配置优化以减少服务发现延迟
  • 计算机网络第一章课后练习