歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android手機tcpdump抓包

最近一直在開發基於微信公眾帳號的應用,在開發過程中遇到問題時,無法非常方便的獲取到數據包,導致分析解決問題比較麻煩。這裡介紹如何在Android手機上實現tcpdump抓包。

1、root機器

在用tcpdump抓包過程中,需要使用到root權限。當前可以進行root的方法有很多,個人推薦http://root.baidu.com/,安裝使用挺方便的。

2、准備adb工具

ADB是Android手機開發包中自帶的Bug調試工具,使用這個工具可以非常方便的通過PC對Android機器進行調試,在本人使用過程中經用將其用於在Android機器上面執行Shell命令

1)adb shell,在PC機的命令終端中直接執行Android的Shell命令(也可以通過在Android機器上面安裝命令終端等App來執行shell命令,從易用性來講肯定沒有使用adb shell方便的多,但也是一種方法)

2)adb push local remote,將PC上的文件推送到Android機器上面的路徑中

3)adb pull remote local,從Android機器上面的文件拉取到PC指定的路徑中

3、安裝tcpdump

Android系統雖然源自於Linux操作系統,為適用於手持設備環境的要求,對其進行一番簡化閹割是無法避免的,其中tcpdump這調試分析神器,就在被閹割的行列。為正常使用tcpdump,我們需要在Android系統中安裝一份tcpdump,主要步驟為:

1)下載tcpdump包

提供一份tcpdump包下載地址:http://www.strazzere.com/android/tcpdump

2)上傳tcpdump包到Android機器

adb push d:\tcpdump /data/local/tmp

remote安裝目錄需要根據情況進行自定義

3)執行chmod 0777 tcpdump命令,賦予可執行權限(執行chmod a+x tcpdump反映失敗,還沒整明白啥原因)

4、抓取數據

到此為止,基本上已經完成了准備工作。tcpdump命令的具體使用方法可以參見tcpdump手冊( http://www.tcpdump.org/)。在實際操作過程中,按照在Linux執行抓包的命令:tcpdump -Xnlps0 -i any port 80 -w pcap.cap時,卻告知tcpdump: syntax error,查看幫助文檔才發現不支持port類型過濾,為此最後將抓包命令簡化為:./tcpdump -Xnlps0 -w pcap.cap,一不做二不休,將全部的包都抓下來,在PC機器上面用Wireshark也相當可行。

5、分析數據

正如上面所講的,直接采用wireshark來分析數據比較方便。

Linux系統安全工具之tcpdump  http://www.linuxidc.com/Linux/2014-10/107889.htm

Linux系統入門學習:如何使用tcpdump來捕獲TCP SYN,ACK和FIN包  http://www.linuxidc.com/Linux/2014-10/107722.htm

Linux運維工程師利器:Nmap和tcpdump http://www.linuxidc.com/Linux/2014-02/96993.htm

tcpdump的用法及使用案例 http://www.linuxidc.com/Linux/2013-11/93200.htm

Linux下實現 tcpdump http://www.linuxidc.com/Linux/2013-08/88775.htm

Linux操作系統tcpdump抓包分析詳解 http://www.linuxidc.com/Linux/2013-07/87309.htm

更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11

Copyright © Linux教程網 All Rights Reserved