android - IPTables:获取传入网络流量的 UID

标签 android linux iptables

我希望能够记录 Android 上所有应用程序的所有网络流量。目前我正在使用 iptables 来实现此目的,它会生成如下日志消息:

如果有传出数据包,一切都很好,我得到了发送应用程序的 uid

Rule: iptables -A OUTPUT -j NFLOG
Logs: IN= OUT=pdp0 SRC=10.179.120.240 DST=173.252.102.16 LEN=52 PROTO=TCP SPT=49541 DPT=443 UID=10093

但是,对于传入的包,我仅获取目标端口 (DPT),并且没有与接收应用程序匹配的内容。

Rule: iptables -A INPUT -j NFLOG
Logs: IN=pdp0 OUT= SRC=173.252.102.16 DST=10.179.120.240 LEN=81 PROTO=TCP SPT=443 DPT=49541  

这是 iptables 可以涵盖的内容吗?如果没有,如何获取通过网络接收数据包的应用程序?

最佳答案

流量在最终由守护进程/服务器/...进行本地处理之前会经过 iptables,因此 iptables 不知道 INPUT 链中数据包的所有者 (UID)。 请参阅http://de.wikipedia.org/wiki/Datei:Netfilter-packet-flow.svg

关于android - IPTables:获取传入网络流量的 UID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22729721/

相关文章:

linux - 从 Windows 添加 Shell 脚本到 CVS

php - 尝试从 PHP 执行 C 程序并将其输出到 Web 浏览器

linux - Linux 中的 $ip 和 iptables 有什么区别?

linux - Centos 的 Apache 配置

android - Gradle同步失败:安装项目失败:RunConfigurationChecker

android - 根据距离在 Firebase 中搜索

java - 摩尔斯电码闪光时间

android - 想要使用 Android NDK 强制 wchar_t 成为一个无符号的短

c - O_FLAGS 附加或创建文件。在 C unix 中使用 open()

ubuntu - 如何永久更新 iptables