記錄一次使用tcpdump+wireshark抓包分析的過程

前言

最近公司有個項目需要驗證APP應用在一段時間內消耗的流量統(tǒng)計,與后臺數據平臺以及APP自身打印的log日志進行核對對比分析。具體分以下幾步執(zhí)行:

在Android系統(tǒng)中安裝系統(tǒng)數據埋點采集的APP-->運行設備一段時間-->設備關機重啟:

1.在后臺數據平臺通過數據庫指令查看并統(tǒng)計這段時間內系統(tǒng)應用所消耗的流量數據

2.在系統(tǒng)日志log中查看系統(tǒng)應用消耗的流量統(tǒng)計(以包名:bytes格式輸出打印)

3.通過Android自身的TCP收發(fā)長度統(tǒng)計功能進行分析

4.通過tcpdump+wireshark工具進行抓包統(tǒng)計分析系統(tǒng)應用消耗的流量(此步驟比較難實現(xiàn),需要兩個腳本進行復制抓取和分析【tcpdump和busybox】)

---tcpdump需根據設備的CPU型號或平臺型號(MTK、高通)進行下載,否則執(zhí)行抓取指令的時候會報錯,數據是錯誤或者為空。

---busybox一個通過包名來確認某個包在讀取系統(tǒng)內存IP(服務器端)地址,以此來通過wireshark工具進行分析統(tǒng)計

本篇只講解第3和第4點數據分析過程

一、通過Android自身的TCP收發(fā)長度統(tǒng)計功能進行分析

首先,設備進行root(具體root自行百度),開啟USB調試模式,進入系統(tǒng)(adb shell ps)查看存在包名

查看包名

其次,進入系統(tǒng)的/proc/uid_stat/ 目錄,查看并獲取到應用的uid號;

最后,通過指定的UID號以及操作當前應用來查看當前應用的tcp_sed和tcp_rcv(兩者之和就是該應用消耗總流量);

TCP統(tǒng)計

二、通過tcpdump+wireshark工具進行抓包統(tǒng)計分析系統(tǒng)應用消耗的流量

>詳細操作步驟如下:

抓包準備

1. Android手機需要先獲得root權限。一種是否獲得root權限的檢驗方法:安裝并打開終端模擬器(可通過安卓市場等渠道獲得)。在終端模擬器界面輸入su并回車,若報錯則說明未root,若命令提示符從$變#則為rooted;因使用的是車鏡產品,通過wifi方式連接,故直接輸入以下步驟即可,

adb connect x.x.x.x ---> adb root? --->??adb connect x.x.x.x --->adb remount --->adb connect x.x.x.x?

2. 如果Android手機尚未root,可通過superoneclick或其它方法進行root處理(需要先安裝Microsoft .NET Framework)。Superoneclick刷root權限教程:(http://soft.shouji.com.cn/news/501.shtml)

3. 需要先獲得 Android SDK

4. 需要獲得tcpdump軟件,獲取地址(https://pan.baidu.com/s/1HNKlP81WB6Ir6sA1EMPfBw)

5.需要獲得buysbox,獲取地址(https://pan.baidu.com/s/1hTYnZYGBe3T13fPIcMAZOw)

抓包步驟

1. 將Android手機與電腦USB相連(或WiFi連接),打開windows命令提示符窗口

2. 將tcpdump程序copy至android手機(該命令前面那個目錄文件為本地地址,后面那個目錄為目的手機端地址)

C:\android-sdk-windows\platform-tools>adb push c:/tcpdump /data/local/tcpdump

3. 修改tcpdump的權限

C:\android-sdk-windows\platform-tools>adb shell

#chmod 777 /data/local/tcpdump

4. 進入root權限

C:\android-sdk-windows\platform-tools>adb shell

$ su

在運行su指令后,手機終端桌面會出現(xiàn)相應提示信息以確認您對root操作的認可。

5. 運行tcpdump,輸入以下命令啟動抓包(指令相關參數請自行百度)。

cmd窗口實時打印指令:/data/local/tcpdump -p -vv -s 0 -C 100 -w /sdcard/capture.pcap??

通過cmd窗口運行后臺指令:/data/local/tcpdump -p -vv -s 0 -C 100 -w /sdcard/capture.pcap? &

殺掉tcpdump后臺運行指令:ps(查看tcpdump的PID號)--->kill? PID

6. 在手機端執(zhí)行相應需要進行抓包分析的操作,執(zhí)行完成后在命令提示符窗口執(zhí)行Ctrl+C中斷抓包進程

7. 將抓包結果復制至本地(前面那個目錄為手機端地址,后面那個目錄為本地地址),或通過拷貝的方式進行粘貼復制到電腦端

C:\android-sdk-windows\platform-tools>adb pull /sdcard/capture.pcap c:/

8. 使用Wireshark工具查看抓包文件capture.pcap

合并多個文件

由于通過tcpdump抓取的數據量過多,文件有很多,需要合并文件后才好進行用工具分析,所以這里要合并下抓取的文件,具體合并方式見(https://blog.csdn.net/qq_20480611/article/details/50774686)

獲取應用的服務器IP地址

1.把busybox腳本放置設備的某個路徑下,通過buysbox腳本獲得nxosdata包名的IP地址為x.x.x.x

獲取應用的服務器IP地址

使用Wireshark工具分析

1.經tcpdump腳本抓取的數據,通過wireshark工具分析,并通過過濾IP地址(指令為:ip.src==x.x.x.x[src為發(fā)送;dst為接收]),統(tǒng)計得出xx應用所消耗的流量為xxxBytes

2.軟件下載安裝,見度娘

3.通過過濾條件進行過濾

點擊wireshark工具的“Statistics”-->“EndPoint”,勾選“Limit to display filter”選項,如下圖所示

統(tǒng)計的應用消耗流量1

點擊“Statistics”-->“IO Graphs”,顯示I/O圖表

I/O圖表

點擊“Statistics”-->“TCP Scream Graph” -->“Throughput”,顯示TCP流吞吐量圖形

TCP流圖形圖吞吐量

點擊“統(tǒng)計”-->“已解析的地址”,查看已解析的地址和域名

IP地址和域名

點擊“統(tǒng)計”-->“conversatioss”,查看IP地址包的流量消耗大小bytes

IP地址包消耗流量大小

IP地址和域名對應消耗流量大小對比

流量分析

總結:

1、此次在原計劃抓包采集流量數據是在物聯(lián)網卡(SIM卡)的基礎上執(zhí)行,但因抓取的數據在wireshark工具上分析是空白(局域網的數據),故放棄此方法

2、采用WiFi熱點的方式進行抓包采集流量數據,操作步驟見下圖

流量統(tǒng)計

參考資料:

1.http://blog.51cto.com/fangxin/735178

2.https://blog.csdn.net/zhuyunier/article/details/79043833

3.wireshark 用戶使用手冊

4.tcpdump入門教程

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,461評論 6 532
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,538評論 3 417
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,423評論 0 375
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,991評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,761評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,207評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,268評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,419評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 48,959評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,782評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,983評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,528評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,222評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,653評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,901評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,678評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,978評論 2 374

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,660評論 25 708
  • 用兩張圖告訴你,為什么你的 App 會卡頓? - Android - 掘金 Cover 有什么料? 從這篇文章中你...
    hw1212閱讀 12,786評論 2 59
  • 簡介 用簡單的話來定義tcpdump,就是:dump the traffic on a network,根據使用者...
    保川閱讀 5,977評論 1 13
  • 簡介 用簡單的話來定義tcpdump,就是:dump the traffic on a network,根據使用者...
    JasonShi6306421閱讀 1,251評論 0 1
  • 看山是山,看水是水; 看山不是山,看水不是水; 看山還是山,看水還是水; 堅持是一種高貴的品質。
    友文行閱讀 386評論 0 0