iOS Wireshark抓包

級別:★★☆☆☆
標(biāo)簽:「Wireshark for mac」「iOS TCP抓包」「iOS UDP抓包」
作者: Xs·H
審校: QiShare團(tuán)隊(duì)


在iOS應(yīng)用開發(fā)過程中继控,通過抓包調(diào)試服務(wù)接口的場景時(shí)常出現(xiàn)。Charles和Wireshark是我在iOS開發(fā)過程中最常用的兩款軟件。

接上篇iOS Charles抓包,Charles是很強(qiáng)大的網(wǎng)絡(luò)請求抓包工具橄务,常用于抓包HTTP/HTTPS請求。而作者在做IoT項(xiàng)目時(shí),智能硬件配網(wǎng)協(xié)議是基于TCP/UDP或者藍(lán)牙的月腋,需要用Wireshark進(jìn)行抓包調(diào)試。Wireshark官網(wǎng)

本文基于作者在項(xiàng)目中抓包iPhone和智能硬件之間TCP/UDP通信數(shù)據(jù)的經(jīng)驗(yàn)來介紹Wireshark的使用方式瓣赂。

一榆骚、啟動Wireshark

Wireshark是免費(fèi)軟件,可以從官網(wǎng)直接下載安裝煌集。

從非官方網(wǎng)站下載資源時(shí)要注意甄別安裝包來源妓肢,謹(jǐn)防木馬和病毒。

安裝成功后苫纤,啟動Wireshark碉钠,可看到本地接口列表界面。圖示如下:

此時(shí)卷拘,要選擇一個(gè)接口放钦,雙擊后進(jìn)入抓包界面。Ethernet:en0(以太網(wǎng)卡)和Wi-Fi:en1(無線網(wǎng)卡)是教常用的兩個(gè)接口恭金。而作者要捕捉的數(shù)據(jù)(iPhone和智能硬件之間的TCP/UDP通信數(shù)據(jù))不經(jīng)過PC的網(wǎng)卡操禀。所以,在抓包之前横腿,需要先創(chuàng)建出來待捕捉的接口颓屑。

二、創(chuàng)建虛擬網(wǎng)卡

這里的虛擬網(wǎng)卡就是上述的待捕捉的接口耿焊。創(chuàng)建虛擬網(wǎng)卡的過程如下:

1. 獲取iPhone的UDID

將iPhone通過USB接口連接Mac揪惦,然后在終端上使用下述命令獲取iPhone的UDID。

$ system_profiler SPUSBDataType | grep "Serial Number:.*" | sed s#".*Serial Number: "##

decb66caf7012a7799c2c3edxxxxxxxx7f5a715e

如果Mac上連接了多個(gè)iPhone罗侯,從Xcode菜單欄 -> Window -> Devices and Simulators可以更方便地獲取準(zhǔn)確的UDID器腋。圖示如下:

2. 為iPhone創(chuàng)建虛擬網(wǎng)卡

1) 查看已有的接口

$ ifconfig -l

lo0 gif0 stf0 XHC20 en0 en1 en2 en3 p2p0 awdl0 bridge0 utun0 en27

2) 創(chuàng)建虛擬網(wǎng)卡

$ rvictl -s decb66caf7012a7799c2c3edxxxxxxxx7f5a715e

Starting device decb66caf7012a7799c2c3edxxxxxxxx7f5a715e [SUCCEEDED] with interface rvi0

可以使用rvictl -x [UDID]命令在需要的時(shí)候去除網(wǎng)卡。

3) 再次查看已有的接口

$ ifconfig -l

lo0 gif0 stf0 XHC20 en0 en1 en2 en3 p2p0 awdl0 bridge0 utun0 en27 rvi0

在末尾多出的rvi0就是為iPhone創(chuàng)建出來的虛擬網(wǎng)卡钩杰。使用rvi0就可以抓包了纫塌。

三、啟動虛擬網(wǎng)卡

打開Wireshark讲弄,本地接口列表界面中出現(xiàn)了rvi0措左。圖示如下:

雙擊rvi0即可進(jìn)入抓包界面。
若此時(shí)出現(xiàn)如下彈窗避除,則說明無權(quán)限訪問該接口怎披。

這時(shí)胸嘁,退出Wireshark,然后在終端上使用下述命令重新打開Wireshark就可以了凉逛。

$ sudo /Applications/Wireshark.app/Contents/MacOS/Wireshark 
Password:

四性宏、TCP/UDP抓包

1. 抓包界面

要對TCP/UDP進(jìn)行抓包,首先需要了解Wireshark主界面状飞。圖示如下:

1) 工具欄

工具欄中包含一些功能按鈕毫胜,可以控制開始抓包、停止抓包等昔瞧。工具欄底部的輸入框叫做顯示過濾器,可以通過設(shè)定一些過濾條件菩佑,控制數(shù)據(jù)包列表欄的顯示情況自晰。

2) 數(shù)據(jù)包列表欄

這部分顯示抓到的請求列表(包列表),不同類型的請求會以不同的顏色表示稍坯。頂部的No.酬荞、TimeSource瞧哟、 Destination混巧、 ProtocolLength 勤揩、Info是單條請求的的屬性咧党,可以在菜單欄 -> 視圖中調(diào)整顯示效果。

3) 數(shù)據(jù)包詳情欄

在數(shù)據(jù)包列表欄中點(diǎn)擊某條數(shù)據(jù)陨亡,可在此區(qū)域內(nèi)查看詳情傍衡。

4) 數(shù)據(jù)包流信息欄

此區(qū)域展示包的原始數(shù)據(jù),在數(shù)據(jù)包詳情欄中顯示的內(nèi)容在此區(qū)域都能對應(yīng)到byte級別的數(shù)據(jù)负蠕。

網(wǎng)絡(luò)包的分析可參考永旺文章1永旺文章2等文章蛙埂。

2. 過濾器

由于Wireshark捕捉經(jīng)過網(wǎng)卡的所有數(shù)據(jù),在稍復(fù)雜的網(wǎng)路環(huán)境中遮糖,數(shù)據(jù)包的數(shù)量會瞬間增加绣的,達(dá)到難以閱讀和難以查找目標(biāo)數(shù)據(jù)包的狀態(tài)。此時(shí)欲账,使用Wireshark捕獲過濾器和顯示過濾器會很有幫助屡江。

1) 捕獲過濾器

啟動Wireshark后,在本機(jī)接口列表頁面可以看到捕獲過濾器(Capture Filter)赛不。圖示如下:

在藍(lán)色框內(nèi)的過濾器輸入框中盼理,可以輸入一些規(guī)則,來指明Wireshark只捕捉符合該規(guī)則的數(shù)據(jù)包俄删。過濾規(guī)則示例如下:

// 只捕獲HTTP/HTTPS數(shù)據(jù)
port 80 or port 443

// 只捕獲制定host的數(shù)據(jù)
host 192.168.10.1

2) 顯示過濾器

顯示過濾器(Display Filter)在抓包界面的工具欄底部(上面有介紹)宏怔。輸入一些規(guī)則奏路,可以從數(shù)據(jù)包列表欄過濾掉不符合該規(guī)則的數(shù)據(jù)包,當(dāng)去掉規(guī)則時(shí)臊诊,被過濾掉的數(shù)據(jù)包會重新顯示出來鸽粉。過濾規(guī)則示例如下:

// 只顯示TCP/UDP數(shù)據(jù)
tcp || udp

// 只顯示HTTP/HTTPS數(shù)據(jù)
tcp.port == 80 || tcp.port == 443

// 只顯示指定host的數(shù)據(jù)
ip.addr == 192.168.10.1

// 只顯示指定端口的數(shù)據(jù)
tcp.port == 52360 || udp.port == 36025

Wireshark官方使用文檔可以查看更多的過濾規(guī)則示例。


推薦文章:
初探TCP
初探IP抓艳、UDP
iOS 多線程之線程安全
iOS 多線程之GCD
iOS 多線程之NSOperation
iOS 多線程之NSThread

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末触机,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子玷或,更是在濱河造成了極大的恐慌儡首,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件偏友,死亡現(xiàn)場離奇詭異蔬胯,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)位他,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進(jìn)店門氛濒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人鹅髓,你說我怎么就攤上這事舞竿。” “怎么了窿冯?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵骗奖,是天一觀的道長。 經(jīng)常有香客問我醒串,道長重归,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任厦凤,我火速辦了婚禮鼻吮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘较鼓。我一直安慰自己椎木,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布博烂。 她就那樣靜靜地躺著香椎,像睡著了一般。 火紅的嫁衣襯著肌膚如雪禽篱。 梳的紋絲不亂的頭發(fā)上畜伐,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天,我揣著相機(jī)與錄音躺率,去河邊找鬼玛界。 笑死万矾,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的慎框。 我是一名探鬼主播良狈,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼笨枯!你這毒婦竟也來了薪丁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤馅精,失蹤者是張志新(化名)和其女友劉穎严嗜,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體洲敢,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡漫玄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了沦疾。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片称近。...
    茶點(diǎn)故事閱讀 38,039評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡第队,死狀恐怖哮塞,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情凳谦,我是刑警寧澤忆畅,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站尸执,受9級特大地震影響家凯,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜如失,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一绊诲、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧褪贵,春花似錦掂之、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至槽卫,卻和暖如春跟压,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背歼培。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工震蒋, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留茸塞,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓喷好,卻偏偏與公主長得像翔横,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子梗搅,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 原文來自:https://www.cnblogs.com/doit8791/p/5730595.html 抓包應(yīng)該...
    忘了呼吸的那只貓閱讀 1,538評論 0 12
  • 原文地址:http://www.mrpeak.cn/blog/wireshark/ 網(wǎng)絡(luò)抓包是個(gè)基礎(chǔ)技能禾唁,對于網(wǎng)絡(luò)...
    呆呆滴木木菇?jīng)?/span>閱讀 1,206評論 0 9
  • 網(wǎng)絡(luò)抓包是個(gè)基礎(chǔ)技能,對于網(wǎng)絡(luò)協(xié)議的掌握有一定的要求无切。iOS上實(shí)現(xiàn)網(wǎng)絡(luò)抓包可以用Charles(針對http和ht...
    MrPeak閱讀 45,621評論 5 134
  • Wireshark用戶手冊 上面是Wireshark用戶手冊的鏈接荡短,整體情況請點(diǎn)擊。 一哆键,準(zhǔn)備工作 Wiresha...
    盧二牛閱讀 6,001評論 0 13
  • 敬愛的李老師掘托,智慧的馬教授,親愛的家人們:大家好籍嘹,我是(張萍)張總的人闪盔,來自濱州飛皇 金 稅通的馬盼盼。 今天是2...
    3833d934050e閱讀 139評論 0 1