2014-03-29 24 views
1

的UID我希望能夠登錄我的所有網絡流量在Android上所有的應用程序。目前我使用iptables的用於這一目的產生我的日誌消息是這樣的: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的可以覆蓋?如果沒有,我怎麼能得到通過網絡接收數據包的應用程序?

回答

1

交通通過它結束了在本地處理之前所經過的iptables守護程序/服務器/ ...,所以iptables的不知道在INPUT鏈的包的所有者(UID)。 見http://de.wikipedia.org/wiki/Datei:Netfilter-packet-flow.svg

+0

謝謝,這個回答我的問題的第一部分!無論如何,有沒有簡單的方法將傳入數據包的端口映射到應用程序? – Jonas

0

爲了得到一個應用程序列表,你可以動態地使用netstat的-tulpenSS -tulpen生成的應用程序的列表,並與你的iptables的日誌從INPUT鏈鏈接數據。