【问题标题】:IPTables: Get UID of incoming network trafficIPTables:获取传入网络流量的 UID
【发布时间】:2014-05-08 21:53:05
【问题描述】:

我希望能够记录 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 可以覆盖的东西吗?如果没有,如何获取通过网络接收数据包的应用程序?

【问题讨论】:

    标签: android linux iptables


    【解决方案1】:

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

    【讨论】:

    • 谢谢,这回答了我问题的第一部分!无论如何,有没有一种简单的方法可以将传入数据包的端口映射到应用程序?
    【解决方案2】:

    要获取应用程序列表,您可以使用 netstat -tulpenss -tulpen 动态生成应用程序列表,并将该数据与来自 INPUT 链的 iptables 日志链接.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-04
      • 2016-05-05
      • 1970-01-01
      相关资源
      最近更新 更多