不管是iPhone的iOS還是Android系統上開發的應用App基本上都會需要使用網路通訊來傳輸資料。開發人員有的時候可能會需要通過抓包的方式來瞭解應用具體在傳輸些什麼資料,以及資料是否正確。今天給大家介紹一種如何在Windows作業系統上使用著名的抓包工具軟體Wireshark來截獲iPhone、iPad等iOS裝置或Android裝置的網路通訊資料的方法。
首先先認識下什麼是Wireshark:Wireshark(前稱Ethereal)是一個網路封包分析軟體。網路封包分析軟體的功能是擷取網路封包,並儘可能顯示出最為詳細的網路封包資料。 - [來自:百度百科]。
要捕獲iPhone傳輸的資料我們不能直接在iPhone上進行。所以我的想法是在Windows上安裝一個Wireshark抓包軟體,同時這台電腦有一張無線網卡。然後我將這台Windows電腦的無線網卡設定成為一個無線路由器,然後用iPhone串連上這個虛擬無線路由器。這樣所有iPhone傳輸的資料都會到我們Windows電腦的這張無線網卡,之後我們就可以用Wireshark來抓包擷取這張無線網卡的所有網路資料,其中就包括我們的iPhone的網路通訊資料了。通過我的實際測試,這個想法是完全可行的。在這裡我們需要使用到兩個軟體,一個是上面提到的Wireshark,另外一個是能夠將電腦的無線網卡變身為共用無線路由器的Connectify Hotspot軟體。
首先下載安裝Wireshark []和Connectify Hotspot []。
安裝Connectify Hotspot和Wireshark
下載完成後,直接雙擊安裝Connectify Hotspot,安裝過程中會需要重新啟動一次。重啟後在螢幕的右邊就會彈出Connectify Hotspot的視窗了。先把Connectify Hotspot放在一邊,把Wireshark安裝上。
設定Connectify Hotspot為無線路由器
開啟右下角的Connectify Hotspot視窗,設定Password,等下在iPhone上我們要用此密碼驗證。第二個Internet to Share要選擇Windows電腦的無線網卡,我這裡直接顯示的是Wi-Fi。然後Share Over同樣選擇Wi-Fi。下面一項是加密方式,這跟設定無線路由器的加密方式一樣。這裡使用預設的WPA2。然後點擊Start Hotspot按鈕就可以將這台Windows電腦的無線網卡變身成一個無線路由器了。如:
iPhone串連Connectify Hotspot
Connectify Hotspot成功運行後,開啟iPhone手機,進入設定 - 無線區域網路。這裡就會看到一個新的無線網路,名為Connectify-me。點擊它,然後輸入我們在Connectify Hotspot上設定的密碼就可以串連了。如:
串連成功後可以在iPhone上開啟瀏覽器試著開啟一個網頁,看能否開啟。如果能夠開啟,就說明成功了。
用Wireshark抓包擷取iPhone網路通訊資料
下面就可以開始工作了。運行Wireshark,在視窗上點擊Interface List,看哪張網卡正在發送和接受資料包的,從Packets那一項可以看出。點擊網卡前面的選擇框選中,然後點Start按鈕開始抓包。如:
現在你就可以在iPhone上運行各種網路應用了,只要他們有網路通訊傳輸任何資料,Wireshark都可以截獲到這些資料。比如就是我用iPhone的瀏覽器Safari訪問了一下Connectify的網站,Wireshark抓到的HTTP包。我使用了http過濾器,只顯示了所有的HTTP包。
希望本文對需要抓包分析應用傳輸的網路資料的iPhone和Android開發的朋友有所協助。
原文連結:http://www.phonebaike.com/apple/20130119_332.html