使用wireshark工具抓取手机包
從網絡上面搜索到的資料看,要抓取手機中app的網絡包有下面幾種方式:
(1).將tcpdump移植到Android平臺,然后在命令行下啟動tcpdump進行抓包。Tcpdump程序實際上可以看作是wireshark的命令行版本,將該程序移植到Android平臺直接抓包,這是一種最直接的抓包方式,然后將抓獲的數據包文件,從手機傳到windows系統上用wireshark打開進行分析,這種方式貌似不能用于蘋果手機。
(2).使用fiddler,在windows系統上打開fiddler軟件,該軟件會將我們的電腦變成一個代理,然后在手機上設置wifi網絡,將代理指定為開啟fiddler的那臺電腦,并且端口設置為fiddler偵聽的8888端口,這時候使用手機訪問的數據,就會通過該代理,在fiddler中就可以看到http的數據包。這種方法我試了半天怎么都看不到數據包,不知道哪里出問題了,根據原理,這種方式支持可以通過代理訪問網絡的手機。所以從原理上說是支持Android和蘋果手機的。
(3).通過各種方式在pc電腦上建立wifi熱點,然后使用wireshark在pc電腦上監視該wifi熱點,通過手機連接該熱點訪問網絡。這樣wireshark會獲取所有流經該熱點的數據包這種方式適用于所有能夠無線訪問的手機,也就是說所有的Android和蘋果手機。
那么如何在pc電腦上建立wifi熱點呢,有這么幾種辦法:
(1).Win7電腦經過設置,可以將無線網卡設置為wifi熱點,這種方法我以前用過,可以成功,但是步驟繁瑣,而且不一定能夠成功,其他的windows系統估計就沒戲了。
(2).使用軟件自動建立wifi熱點,不需要自己手工配置,這樣的軟件有Connectify Hotspot,獵豹免費wifi,360免費wifi軟件,這幾個軟件我都使用過,比較好用,這種方式同樣也只能針對有無線網卡的筆記本電腦,原理也是將筆記本電腦上的無線網卡建立熱點了,只不過是軟件自動的,不需要人工設置,比方法1要方便。
注意:經過實驗發現,手機連接這種方式建立的熱點,所發送的數據,用wireshark去抓包,需要捕獲電腦上本身聯網的那個“網絡連接”,例如我的筆記本上面有一個“本地連接”,該連接是使用有線網絡的。我用獵豹免費wifi軟件建立一個熱點之后,我的電腦上多出一個“無線網絡連接3”,可以看到該“無線網絡連接3”是獵豹生成的,但是我抓包的時候,wireshark需要捕獲“本地連接”上的包,也就是我的手機訪問的數據實際上還是使用的“本地連接”,通信IP也是“本地連接”上的IP地址,而在手機的wifi連接設置中看到的ip地址,在我抓的包中也搜不到,也就是說手機通過該熱點訪問網絡,實際上還是使用的“本地連接”的IP地址,至于是什么原理,我目前也不太清楚。但是下面要說的隨身wifi硬件則與此不同,隨身wifi是建立了網卡。
(3).使用隨身wifi硬件。這種也是很方便的方法,而且比較穩定,對筆記本電腦和臺式機都可以使用。我之前買了一個360的隨身wifi(不是打廣告,本人對360公司不感冒,但是他的隨身wifi做的確實還可以,同事中有買小米wifi的,不太穩定)。只要在360的官網上下載驅動,直接插上隨身wifi就可以使用,我推薦使用這種方法。
如果你用的是筆記本電腦可以使用方法2,如果是臺式機器可以使用方法3。
下面重點說明,通過隨身wifi建立熱點,然后使用wireshark抓包的辦法,其他方式建立熱點抓包的原理一樣,只不過是建立熱點的方式不同而已,抓包過程沒有區別:
首先插入隨身wifi:
使用手機連接上面的wifi,然后打開“網絡和共享中心”,在里面點擊我們使用隨身wifi建立的網絡連接:
里面可以看到該鏈接的網卡物理地址,以及ipv6的地址信息,這應該是隨身wifi建立的一個網卡,之所以要查看這些信息,是因為我們要確定wireshark抓包的時候抓取那個網卡的信息,一般電腦上有多網卡或者是有虛擬機可能也會生成虛擬網卡。
打開wireshark,選擇菜單“Capture”—“Interface”在彈出的對話框中有一列是IP欄,可以看到除了本機的網絡連接以外,好像其他的網絡鏈接這一欄顯示的都是IPv6的地址,其中我們可以找到與上面網絡連接信息中匹配的IP地址:
還可以點擊該條目右邊的“Details”按鈕,打開詳細信息對話框,在“802.3(Ethernet)”選項卡中,可以看到網卡的物理地址,該物理地址與上面的網絡連接對話框中顯示的物理地址是對應的:
這樣可以確定我們需要抓取哪個網卡的數據,確定之后,直接點擊該條目的“Start”按鈕,使用連上該wifi的手機隨便訪問網絡,就可以抓取所有包了,如果嫌查看網卡信息麻煩,你可以把這幾個顯示有數據包的網卡都抓包試一下,就應該可以看出來隨身wifi對應的是那個網絡連接了。
在手機上查看連接該wifi被分配的IP地址信息:
在wireshark的抓包結果中,通過地址與http協議過濾出該地址172.24.160.3相關的數據包得到如下的結果:
這些數據是我在小米手機上,通過UC瀏覽器瀏覽博格園電腦版網頁抓獲的所有數據包。
對于iphone手機的抓包過程沒有任何區別。該方法可以抓獲所有發送自手機的數據包,包括http與非http的所有數據包。
個人認為這種方式非常簡單方便,抓取的數據包全面,而且通過隨身wifi設置熱點不需要任何繁瑣的配置,僅僅是安裝一個驅動而已,實際上隨身wifi好像是新建了一個網卡。我們只要用wireshark抓獲該隨身wifi建立的網卡的數據就可以了。對于從事app開發的園友來說19塊錢買一個wifi是非常值得的,這會為你的調試,以及研究別人的協議提供非常大的幫助
轉載于:https://www.cnblogs.com/lijiangjie-1006/p/6370152.html
總結
以上是生活随笔為你收集整理的使用wireshark工具抓取手机包的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Unicode : RLO
- 下一篇: 关于eclipse没有http jar的