怎样对Android设备进行网络抓包
問題描寫敘述:
?????? 前段時間自己的app訪問server的url總是會出現間接性失敗的問題,于是和server的同事開了個會。提出了他們server存在的這個bug,我的同事自然說自己的server沒問題,然后要我重現bug然后提供抓包給他分析。
所以我自己去折騰了各種網絡抓包的方法。以下介紹一種實際可行的對android設備抓包的方法。
解決方式:
?????? 利用tcpdump對android設備進行抓包,用wireshark進行抓包分析。
在進行抓包之前,須要將設備進行root,推薦是用root工具king root。成功率較高。
1、下載tcpdump
我給大家準備好了tcpdump的下載地址
http://www.strazzere.com/android/tcpdump
2、將tcpdump復制進自己的android設備
不須要adb shell進入設備。直接運行adb push e:\tools\tcpdump /data/local/tcpdump將文件拷貝到指定的目錄。
能夠手動復制,也能夠利用adb push指令進行復制。
這個指令須要進入到你adb所在的文件夾才干運行。
復制完畢后能夠用ls查看是否復制成功。
3、進入到tcpdump相應的目錄
cd /data/local
4、運行tcpdump的抓包指令
./tcpdump -p -vv -s 0 -w /sdcard/capture.pcap
正常情況下,是能夠抓包成功過了。可是你可能會遇到以下的提示
這樣的情況下須要對tcpdump進行讀寫授權,運行讀寫權限的時候。先進行adb shell進入設備。不須要進入到tcpdump的目錄
mount -t yaffs2 -o remount,rw,noatime,nodiratime /mnt/sdcard/data/tcpdump
-t vfstype 指定文件系統的類型。通常不必指定。mount 會自己主動選擇正確的類型。
假設還是不行能夠用以下指令改動讀寫權限
/*改動讀寫權限*/
chmod 6755 /data/local/tcpdump
5、將抓到的包拷貝到電腦
adb pull /sdcard/capture.pcap?C:\Users\XXX\Desktop\capture.pcap5、抓包完畢。用wireshark進行分析
wireshark的下載鏈接非常多,我就不貼了。結論:
android設備抓包的方式還有不止這一種,假如你的電腦能開wifi熱點的話,能夠讓android設備連接自己的wifi熱點。能夠直接用wireshark直接進行抓包。會簡便非常多。
抓包以及分析技能做網絡應用的童鞋們還是須要掌握的,比方訪問server速度過慢的原因,也能夠通過抓包來進行分析。
以下我會繼續介紹怎樣分析網絡抓包。找出開頭提到的訪問server間隙性失敗的原因。在抓包分析之前,先了解一下TCP的三次握手和四次握手
《TCP建立連接三次握手和斷開連接四次握手 》。這篇文章從抓包分析了TCP建立連接的三次握手和四次握手機制
總結
以上是生活随笔為你收集整理的怎样对Android设备进行网络抓包的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (转)RabbitMQ学习之spring
- 下一篇: 【工具】git笔记(一)