Charle抓包與wireshark使用

今天就來看一下Mac上如何進行抓包,以前有一篇文章介紹了使用Fidder進行抓包html

http://blog.csdn.net/jiangwei0910410003/article/details/19806999macos

不過惋惜的是,Fidder使用C#開發的,因此就不能在Mac上使用了,不過還有另一個抓包神器,就是Charles,它是Java開發的,因此跨平臺,不只能夠在Mac上使用,Linux以及Window下都是可使用的,固然須要安裝JDK,才能運行,同時還有一個問題就是他是收費的。windows

1、下載api

先到它的官網http://www.charlesproxy.com/可下載到最新版本,這個下載有點慢,我已經將它放到網盤中了:http://pan.baidu.com/s/1gdu0S4Vxcode

這個是3.9.3版本的,下載下來,安裝就很少說了,很easy....打開界面:服務器

 Enter your image description here:

2、破解網絡

不過這個收費的,那麼接下來就開始破解吧,其實破解很簡單就是替換一個文件就能夠了,能夠在網上搜:Charles3.9.3破解的jar文件app

這裏我也是下載好了:http://pan.baidu.com/s/1i3gjEfjiphone

下載下來以後咱們就能夠進行破解吧:ide

打開應用程序,選擇Charles,選擇顯示包內容:

 - list text here 而後點擊Contents->Resources->Java:  Enter your image description here:

而後將咱們下載下來的charles.jar替換這裏的charles.jar就能夠了。而後再次打開Charles,就不會太提示30天使用期限了,破解搞定

3、抓包 下面來看一下如何進行抓包

第1、HTTP抓包 一、打開Charles程序 二、查看Mac電腦的IP地址,系統偏好設置->網絡就能夠查看到了,好比個人ip地址是:192.168.1.7 三、打開iOS設置,進入當前wifi鏈接(Mac在一個局域網內),設置HTTP代理Group,將服務器填爲上一步中得到的IP,即192.168.1.7,端口填8888:  Enter your image description here:

四、iOS設備打開你要抓包的app進行網絡操做 五、Charles彈出確認框,點擊Allow按鈕便可

第2、HTTPS抓包

須要下載Charles證書http://www.charlesproxy.com/ssl.zip,解壓後導入到iOS設備中,這裏我也是下載好了:

http://pan.baidu.com/s/1sjJiZYt,咱們在iOS設備中使用safari打開這個連接

 Enter your image description here:  點擊打開:  Enter your image description here:  點擊安裝: Enter your image description here:

再次點擊安裝,證書就安裝成功了

而後在Charles的工具欄上點擊Proxy按鈕,選擇Proxy Settings… 切換到SSL選項卡,選中Enable SSL Proxying,別急,選完先別關掉,還有下一步 這一步跟Fiddler不一樣,Fiddler安裝證書後就能夠抓HTTPS網址的包了,Charles則麻煩一些,須要在上一步的SSL選項卡的Locations表單填寫要抓包的域名和端口,點擊Add按鈕,在彈出的表單中Host填寫域名,好比填api.instagram.com,Port填443

 Enter your image description here: 這時候咱們打開網易app:  Enter your image description here:

就能夠看到數據了,至此抓包工做就搞定了。

注意:當咱們不抓包的時候,會將Charles關閉,這時候iOS是訪問不到網絡的,由於設置了代理(就是Charles),這時候須要將iOS中的代理關閉,這個是抓包時常常犯的錯。

 

 

Wireshark

rvictl -s afe72bbebab036ae562f1f3e392f22cfd350455f
對應生成的接口是 rvi0
 

mac系統版本:mac 10.10 Yosemite

xcode版本:6.3.1


在追蹤bug或者分析借鑑其餘公司的app通信思路時,抓包這件事是很是有必要的。下面說說Wireshark怎麼截獲iphone的數據包。

安裝wireshark

wireshark是依賴x11的,因此首先確認安裝了x11,mac自帶,能夠打開升級一下。
前往-實用工具-x11,打開後點擊菜單欄上的x11,檢查更新 便可。中間提取包內容過程比較長,耐心等待。

下載Wireshark最新版,儘可能去官網下載:
https://www.wireshark.org/download.html (須要翻..)

安裝,安裝過程很簡單,一路下一步。

我這裏下載的Wireshark 1.12.4 Intel 64,安裝後沒法運行,網上說x11位置不對。控制檯執行:
sudo ln -s /opt/X11 /usr/X11
問題依舊。

沒辦法下載了一個XQuartz-2.7.7:

http://xquartz.macosforge.org/landing/

安裝,運行Wireshark。點完wireshark圖標等了10多分鐘,終於算是打開了,以後再打開就不須要等了。


抓iphone數據

想抓iphone的數據,首先須要讓iphone數據經過mac才行。看到網上不少設代理什麼的方法,比較複雜,有的還要越獄。其實不必。只要鏈上數據線,而後在mac的終端執行:
rvictl -s iphone設備id
這時,全部iphone網絡流量都會通過iphone所連接的mac,而且iphone數據仍是走本身的網絡,好比iphone連接在3g網絡,數據仍是會經過3G收發,而不是經過mac的網絡。斷開鏈接:
rvictl -x iphone設備id

設備鏈接後,mac會出現一個對應的虛擬網絡接口,名字是rvi0(若是有多個iphone則累加,rvi1,rvi2…)

只要啓動Wireshark,監聽rvi接口就能抓到iPhone數據了,固然,也可使用Wireshark之外的工具抓取或分析。

關於獲取iphone設備ID,可使用xcode-windows-devices,選擇相應設備,右面設備信息的identifier裏就是了。

相關文章
相關標籤/搜索