一、Android終端app流量測試
流量測試的原理:在安卓手機上,應用的網絡流量數據都會保存在系統的/proc/uid_stat/$UID/tcp_rcv 和/proc/uid_stat/$UID/tcp_snd兩個文件夾里面,一個是請求耗費的流量,一個是接受的數據流量,這兩個數據是由系統記錄的,在我們啟動某個軟件的時候,系統會根據這個應用所占用的進程號pid在根目錄下創建一個以這個命名的文件夾,在文件夾的下面有存有UID的文件。
了解一下PID和UID可以查看博客:https://blog.csdn.net/vshuang/article/details/43639211
獲取PID:
查看當前應用的UID,手機連接電腦,adb shell ,adb shell ps | grep “你想測試的應用的包名”
如上圖紅色框中就是我們要查的PID,然后再根據PID查找UID
進入 /proc/28904/status
如上圖紅色框中就是我們要查的UID
cd uid_stat/10137
cat tcp_rcv
cat tcp_snd
如上圖就可以看到當前這個應用的上下行流量,單位是byte。
另一種獲取流量數據方法:
cat /proc/net/xt_qtaguid/stats|grep #uid#
第六列是接收數據,第八列是傳輸數據。第六列和第八列流量加一起。一個UID對應多個進程,所以兩行流量全部相加。獲取的流量數據也app累積流量。
具體查看博客:https://blog.csdn.net/u013948858/article/details/76079367
安卓8.0以上手機使用如下方法測試流量:
1.查看應用PID,進入adb shell 后使用命令PS -A 通過包名找到PID;
2.查找應用UID,進入/proc/11970 目錄--- cd /proc/11970 后通過命令 cat status 查看UID;
3.在adb shell 中使用命令,cat /proc/net/xt_qtaguid/stats | grep UID 查看應用流量信息。記錄上行流量tx_bytes 為Tx1,下行流量rx_btyes為Rx1;
4.操作應用;
5.使用命令,cat /proc/net/xt_qtaguid/stats | grep UID 查看應用流量信息。記錄上行流量tx_bytes 為Tx2,下行流量rx_btyes為Rx2;
6.兩次測出來的數據和,獲取應用使用流量B=(Tx2-Tx1)+(Rx2-Rx1).
二、iOS終端app流量測試
手機連接電腦,使用xcode-open developer tool - instrument-network測試流量。
開始后,操作手機,查看流量消耗
流量消耗為 byles in +byles out
謝謝查看,筆記后期修改
2019-09-22