【问题标题】:On Android, how to capture incoming packet on network layer (IP)?在 Android 上,如何在网络层 (IP) 上捕获传入的数据包?
【发布时间】:2019-12-12 16:00:42
【问题描述】:

目前在Android平台上,有Android应用可以借助VPNService在Application层抓包。但是,正如文档描述的那样

(使用 VPNService 返回的 fd)每次从描述符中读取都会检索路由到接口的传出数据包。每次写入描述符都会注入一个传入数据包,就像从接口接收到的数据包一样。

这表明我们无法通过VPN获取网络层(IP)上的传入数据包;如果我们使用套接字,我们会丢失网络层数据包的粒度。

有没有什么方法可以在安卓设备上获取传入的 IP 数据包而无需 root ?

【问题讨论】:

    标签: android networking ip vpn packet


    【解决方案1】:

    在网络设备上抓取数据包,而不是在您的接入点/交换机/路由器/防火墙上。通常他们有内置的工具。 如果你在你的电脑上设置一个接入点并将手机连接到它,你可以获取这些数据包https://www.youtube.com/watch?v=CojA2ZZPiKs

    【讨论】:

    • 有很多方法可以在路由器、PC 或 root 的 Android 设备上完成,但它们不是我想要的。
    猜你喜欢
    • 2016-06-02
    • 2018-07-01
    • 1970-01-01
    • 2012-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-18
    • 1970-01-01
    相关资源
    最近更新 更多