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

前言

最近公司有個(gè)項(xiàng)目需要驗(yàn)證APP應(yīng)用在一段時(shí)間內(nèi)消耗的流量統(tǒng)計(jì)肩豁,與后臺(tái)數(shù)據(jù)平臺(tái)以及APP自身打印的log日志進(jìn)行核對(duì)對(duì)比分析徒欣。具體分以下幾步執(zhí)行:

在Android系統(tǒng)中安裝系統(tǒng)數(shù)據(jù)埋點(diǎn)采集的APP-->運(yùn)行設(shè)備一段時(shí)間-->設(shè)備關(guān)機(jī)重啟:

1.在后臺(tái)數(shù)據(jù)平臺(tái)通過數(shù)據(jù)庫指令查看并統(tǒng)計(jì)這段時(shí)間內(nèi)系統(tǒng)應(yīng)用所消耗的流量數(shù)據(jù)

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

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

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

---tcpdump需根據(jù)設(shè)備的CPU型號(hào)或平臺(tái)型號(hào)(MTK、高通)進(jìn)行下載,否則執(zhí)行抓取指令的時(shí)候會(huì)報(bào)錯(cuò)音比,數(shù)據(jù)是錯(cuò)誤或者為空。

---busybox一個(gè)通過包名來確認(rèn)某個(gè)包在讀取系統(tǒng)內(nèi)存IP(服務(wù)器端)地址氢惋,以此來通過wireshark工具進(jìn)行分析統(tǒng)計(jì)

本篇只講解第3和第4點(diǎn)數(shù)據(jù)分析過程

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

首先,設(shè)備進(jìn)行root(具體root自行百度)焰望,開啟USB調(diào)試模式骚亿,進(jìn)入系統(tǒng)(adb shell ps)查看存在包名

查看包名

其次,進(jìn)入系統(tǒng)的/proc/uid_stat/ 目錄熊赖,查看并獲取到應(yīng)用的uid號(hào)来屠;

最后,通過指定的UID號(hào)以及操作當(dāng)前應(yīng)用來查看當(dāng)前應(yīng)用的tcp_sed和tcp_rcv(兩者之和就是該應(yīng)用消耗總流量)秫舌;

TCP統(tǒng)計(jì)

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

>詳細(xì)操作步驟如下:

抓包準(zhǔn)備

1. Android手機(jī)需要先獲得root權(quán)限。一種是否獲得root權(quán)限的檢驗(yàn)方法:安裝并打開終端模擬器(可通過安卓市場(chǎng)等渠道獲得)足陨。在終端模擬器界面輸入su并回車嫂粟,若報(bào)錯(cuò)則說明未root,若命令提示符從$變#則為rooted墨缘;因使用的是車鏡產(chǎn)品星虹,通過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手機(jī)尚未root镊讼,可通過superoneclick或其它方法進(jìn)行root處理(需要先安裝Microsoft .NET Framework)宽涌。Superoneclick刷root權(quán)限教程:(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手機(jī)與電腦USB相連(或WiFi連接)卸亮,打開windows命令提示符窗口

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

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

3. 修改tcpdump的權(quán)限

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

#chmod 777 /data/local/tcpdump

4. 進(jìn)入root權(quán)限

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

$ su

在運(yùn)行su指令后玩裙,手機(jī)終端桌面會(huì)出現(xiàn)相應(yīng)提示信息以確認(rèn)您對(duì)root操作的認(rèn)可兼贸。

5. 運(yùn)行tcpdump段直,輸入以下命令啟動(dòng)抓包(指令相關(guān)參數(shù)請(qǐng)自行百度)。

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

通過cmd窗口運(yùn)行后臺(tái)指令:/data/local/tcpdump -p -vv -s 0 -C 100 -w /sdcard/capture.pcap? &

殺掉tcpdump后臺(tái)運(yùn)行指令:ps(查看tcpdump的PID號(hào))--->kill? PID

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

7. 將抓包結(jié)果復(fù)制至本地(前面那個(gè)目錄為手機(jī)端地址鸯檬,后面那個(gè)目錄為本地地址),或通過拷貝的方式進(jìn)行粘貼復(fù)制到電腦端

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

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

合并多個(gè)文件

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

獲取應(yīng)用的服務(wù)器IP地址

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

獲取應(yīng)用的服務(wù)器IP地址

使用Wireshark工具分析

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

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

3.通過過濾條件進(jìn)行過濾

點(diǎn)擊wireshark工具的“Statistics”-->“EndPoint”,勾選“Limit to display filter”選項(xiàng),如下圖所示

統(tǒng)計(jì)的應(yīng)用消耗流量1

點(diǎn)擊“Statistics”-->“IO Graphs”犯祠,顯示I/O圖表

I/O圖表

點(diǎn)擊“Statistics”-->“TCP Scream Graph” -->“Throughput”旭等,顯示TCP流吞吐量圖形

TCP流圖形圖吞吐量

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

IP地址和域名

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

IP地址包消耗流量大小

IP地址和域名對(duì)應(yīng)消耗流量大小對(duì)比

流量分析

總結(jié):

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

2弃榨、采用WiFi熱點(diǎn)的方式進(jìn)行抓包采集流量數(shù)據(jù),操作步驟見下圖

流量統(tǒng)計(jì)

參考資料:

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

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

3.wireshark 用戶使用手冊(cè)

4.tcpdump入門教程

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末梨睁,一起剝皮案震驚了整個(gè)濱河市鲸睛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌坡贺,老刑警劉巖官辈,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異遍坟,居然都是意外死亡拳亿,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門愿伴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來肺魁,“玉大人,你說我怎么就攤上這事隔节《炀” “怎么了寂呛?”我有些...
    開封第一講書人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)瞬雹。 經(jīng)常有香客問我昧谊,道長(zhǎng),這世上最難降的妖魔是什么酗捌? 我笑而不...
    開封第一講書人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任呢诬,我火速辦了婚禮,結(jié)果婚禮上胖缤,老公的妹妹穿的比我還像新娘尚镰。我一直安慰自己,他們只是感情好哪廓,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開白布狗唉。 她就那樣靜靜地躺著,像睡著了一般涡真。 火紅的嫁衣襯著肌膚如雪分俯。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評(píng)論 1 305
  • 那天哆料,我揣著相機(jī)與錄音缸剪,去河邊找鬼。 笑死东亦,一個(gè)胖子當(dāng)著我的面吹牛杏节,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播典阵,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼奋渔,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了壮啊?” 一聲冷哼從身側(cè)響起嫉鲸,我...
    開封第一講書人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎他巨,沒想到半個(gè)月后充坑,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡染突,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年捻爷,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片份企。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡也榄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情甜紫,我是刑警寧澤降宅,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站囚霸,受9級(jí)特大地震影響腰根,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜拓型,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一额嘿、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧劣挫,春花似錦册养、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至帐我,卻和暖如春坎炼,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背拦键。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來泰國(guó)打工点弯, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人矿咕。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像狼钮,于是被迫代替她去往敵國(guó)和親碳柱。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,167評(píng)論 25 707
  • 用兩張圖告訴你熬芜,為什么你的 App 會(huì)卡頓? - Android - 掘金 Cover 有什么料莲镣? 從這篇文章中你...
    hw1212閱讀 12,730評(píng)論 2 59
  • 簡(jiǎn)介 用簡(jiǎn)單的話來定義tcpdump,就是:dump the traffic on a network涎拉,根據(jù)使用者...
    保川閱讀 5,956評(píng)論 1 13
  • 簡(jiǎn)介 用簡(jiǎn)單的話來定義tcpdump瑞侮,就是:dump the traffic on a network,根據(jù)使用者...
    JasonShi6306421閱讀 1,240評(píng)論 0 1
  • 看山是山鼓拧,看水是水半火; 看山不是山,看水不是水季俩; 看山還是山钮糖,看水還是水; 堅(jiān)持是一種高貴的品質(zhì)。
    友文行閱讀 381評(píng)論 0 0