標籤:
轉:http://blog.csdn.net/lixing333/article/details/42776187
之前寫過一篇通過Wireshark進行抓包,分析網路連接的文章《通過WireShark抓取iOS連網資料執行個體分析》:http://blog.csdn.net/lixing333/article/details/7782539
最近一些工作需要抓包,在我的Mac上安裝了Wireshark之後,發現運行不了。探究之,發現Wireshark的介面用的是X Window,所以需要在X11環境下運行。安裝X11之後,仍然閃退,探究後無果,遂轉而尋找其他軟體。試了幾款抓包軟體後,發現Charles這款軟體最方便,甚至比Wireshark這個老牌的抓包分析工具還要好用的多。
Wireshark雖然功能很強大,能抓各個包,進行各種類型過濾,但這也導致了它的學習成本很高,不容易上手;而且,Wireshark預設是監控所有裝置,包括電腦上的各種軟體、瀏覽器,以及串連到電腦熱點的裝置上的網路連接,比較雜亂,想找到我們需要的網路連接比較麻煩。比如下面這張圖,你能讀懂嗎?反正我是不懂。得需要過濾等等的操作,反正麻煩的很。
Charles就沒有這樣的麻煩。Charles是一個非常輕量的軟體,它不是監控網卡上所有的網路連接,而只監控特定連接埠(預設是8888連接埠)的網路連接,這樣,其它無關的資料就首先被屏蔽了。如下:
如何使用:前期準備仍然如《通過WireShark抓取iOS連網資料執行個體分析》:http://blog.csdn.net/lixing333/article/details/7782539 這篇文章裡所說,網線、熱點分享必須有。Charles監控的是8888連接埠的資料,所以我們需要在手機裝置上設定8888連接埠為代理。在電腦終端用"ifconfig"命令查看自己電腦網卡的區域網路IP地址,注意是有線網卡en0的IP地址,而不是無線網卡en1。如:
以iPhone為例,我們串連到了電腦之後,開啟“設定”-“網路”,編輯已經串連上的Wifi:
這樣設定好之後,我們開啟瀏覽器,開啟百度首頁,這時Charles會提示:有一台新裝置請求串連,要允許嗎?選擇Allow。
開啟百度之後,Charles介面上會出現一個一個的網址,而且新的網路請求還會被標記出來,非常方便。Request、Response都很清晰,方便查看:
好了,以後可以擺脫Wireshark這個龐大而又難用的東西了,媽媽再也不用擔心我不會抓包啦!
比Wireshark更輕量、更方便的抓包軟體:Charles