2016-10-03 85 views
0

我想要捕獲安裝在AVD上的Android應用程序(文件.apk)的GUI(例如按下按鈕)上激活的事件生成的網絡流量。首先,我在ADB介面使用strace的命令(我已經使用ps命令所獲得的處理的PID)捕獲的過程的系統調用:捕獲Android應用程序生成的網絡流量

strace -f -tt -s 200 -p 27707 -o syscallcap.txt 

然後我分析txt文件,但主要線程(27707)接收數據(或發送數據) - 系統調用recvfrom(sendto或sendmsg) - 來自未知進程;最後兩個字段是NULL):

27707 19:06:29.441356 recvfrom的(72, 「nysv \ 0 \ 0 \ 0 \ 0} \ 323 \ 33 {\ 370 \ r \ 0 \ 0W \ 36 \ 1 \ 0 \ 0 \ 0 \ 0 \ 0" ,2400,MSG_DONTWAIT, NULL,NULL)= 24

我怎樣才能瞭解哪些系統調用是很重要的,我的目的? 如何從系統調用開始捕獲安裝在仿真器上的android應用程序的http/tcp/udp網絡流量? 任何建議或意見,這是值得歡迎的,因爲它是一個論文項目。

回答

0

那麼,我知道記錄設備的網絡流量有兩種方式。

IPTABLES

IPTables的是Linux的Netfilter模塊防火牆應用程序,用於配置鏈和規則。我們使用iptables攔截並將流量重定向到我們的內部代理服務器,然後該代理服務器將流量中繼到配置的代理服務器。

需要ROOT

Android firewall with VpnService

使用這種方法,你可以實現你的應用程序的隧道,將記錄所有的網絡流量。

提供的鏈接應該給你一個方向

現在,從前臺應用程序映射的交通,所有的應用程序有一個唯一的應用程序ID可用於設置/監視鏈條登錄它的訪問流量。

相關問題