青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

牽著老婆滿街逛

嚴(yán)以律己,寬以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

Wireshark抓包iOS入門教程

轉(zhuǎn)載自:http://mrpeak.cn/blog/wireshark/

網(wǎng)絡(luò)抓包是個(gè)基礎(chǔ)技能,對于網(wǎng)絡(luò)協(xié)議的掌握有一定的要求。iOS上實(shí)現(xiàn)網(wǎng)絡(luò)抓包可以用Charles(針對http和https),tcpdump(快速分析網(wǎng)絡(luò)包),和Wireshare。之前寫過一篇介紹tcpdump抓包的入門文章,和tcpdump相比,Wireshark提供豐富的GUI交互,而且能分析所有的網(wǎng)絡(luò)協(xié)議,關(guān)鍵還是免費(fèi)的,掌握好Wireshark就能應(yīng)付絕大部分需要分析網(wǎng)絡(luò)協(xié)議的場景了。

安裝初識

Wireshark提供Mac版本,可以從官網(wǎng)下載安裝,到這篇博客為止最新版本應(yīng)該是2.2.1。安裝好之后打開的第一個(gè)界面如下:

Wireshark在第一個(gè)界面就把當(dāng)前系統(tǒng)所包含的網(wǎng)卡列出來了,直接點(diǎn)擊任何一項(xiàng)就可以開始監(jiān)聽通過該網(wǎng)卡的所有網(wǎng)絡(luò)流量。

當(dāng)我們把iPhone通過usb連接macbook時(shí),Wireshark并不能直接監(jiān)聽通過iPhone的網(wǎng)絡(luò)流量,需要通過一個(gè)系統(tǒng)程序在我們的Mac系統(tǒng)上,建立一個(gè)映射到iPhone的虛擬網(wǎng)卡,在terminal中輸入如下命令即可:

格式是rvictl -s [設(shè)備udid],設(shè)備的udid可以通過itunes或者itools獲取,執(zhí)行命令之后Wireshark能立即識別新增加的rvi0網(wǎng)卡,也就是上圖中高亮的部分,雙擊rvi0這一項(xiàng),Wireshare即進(jìn)入如下界面開始監(jiān)聽iPhone設(shè)備上的所有流量。

此時(shí),啟動(dòng)iPhone上的任意App,只要有網(wǎng)絡(luò)流量產(chǎn)生,對應(yīng)的網(wǎng)絡(luò)包都會(huì)在Wireshark上述的列表中展示出來。

Wireshark的流量監(jiān)控界面主要分為四塊,由上至下第一部分(標(biāo)號為1)是工具欄,通過工具欄我們可以控制監(jiān)控的行為,比如開始抓包,停止抓包,重新開始抓包,以及在包之間跳轉(zhuǎn)等等。工具欄的底部有個(gè)輸入框,可以讓我們手動(dòng)輸入包的過濾條件,這部分對于熟練使用Wireshark抓包非常重要,后面會(huì)詳細(xì)的講解。

第二部分(標(biāo)號為2)是歷史流量包列表展示界面,這里展示的是從抓包開始,所有通過我們iPhone設(shè)備的流量。列表界面不同的包有不同的顏色,Wireshark通過顏色來區(qū)分包的類型,對于特定場景快速識別目標(biāo)流量非常有用,后面也會(huì)專門講解。

第三部分(標(biāo)號為3)是單個(gè)包的詳細(xì)信息展示面板,我們在第二部分選中的網(wǎng)絡(luò)包在這一部分會(huì)將其結(jié)構(gòu)以可閱讀的文本形式展示出來,要正確閱讀這一部分的信息需要對tcp/ip協(xié)議有一定的掌握。

第四部分(標(biāo)號為4)是單個(gè)包的二進(jìn)制流信息展示面板,這一部分展示的信息是包的原始數(shù)據(jù),也是一個(gè)網(wǎng)絡(luò)包所包含內(nèi)容的真實(shí)展現(xiàn),我們在第三部分多選中的協(xié)議頭,都會(huì)在這一部分以同步高亮的形式標(biāo)記出來。這一部分的展示是為了讓我們對包的真實(shí)內(nèi)容做直觀的判斷,能具體到單個(gè)byte。

初步認(rèn)識上述四塊主要面板之后,可以嘗試開始分析網(wǎng)絡(luò)包,在開始分析網(wǎng)絡(luò)包之前,先要對網(wǎng)絡(luò)包有個(gè)大致的概念。

網(wǎng)絡(luò)包結(jié)構(gòu)

我們最初學(xué)習(xí)網(wǎng)絡(luò)協(xié)議的時(shí)候,無論是OSI七層模型,還是經(jīng)典的TCP/IP五層結(jié)構(gòu),都是以下圖中的左邊部分的形式展示的。

這是一種經(jīng)典的分層架構(gòu),確實(shí)也符合網(wǎng)絡(luò)協(xié)議設(shè)計(jì)上的思路,但卻不能表達(dá)網(wǎng)絡(luò)包真實(shí)的包含關(guān)系。上圖右邊部分是我所繪制的一個(gè)包結(jié)構(gòu)示意圖。在我看來,這種洋蔥式的結(jié)構(gòu)更符合網(wǎng)絡(luò)包的真實(shí)形態(tài)。Application是最內(nèi)層的payload,除了Application這一層之外,其他層都是用自己這一層的協(xié)議header+所包含那一層的payload。可以用如下公式表示:

TCP Layer = TCP Header + Application Payload

IP Layer = IP Header + TCP Payload

我們分析每個(gè)網(wǎng)絡(luò)包的時(shí)候要能理解每一個(gè)包它所代表的抽象含義,再進(jìn)一步將相關(guān)聯(lián)的包串聯(lián)起來,形成一次完整的網(wǎng)絡(luò)會(huì)話。

分析包結(jié)構(gòu)

對于iOS程序員來說,我們絕大部分的流量分析都集中在HTTP或者基于TCP的socket長連接。從這一層面來說,和我們最貼近的三層是應(yīng)用層(http),傳輸層(tcp or udp),網(wǎng)絡(luò)層(ip)。

對于應(yīng)用層來說主要是http協(xié)議的學(xué)習(xí),對于http request和response格式的閱讀,比如下圖表示的一個(gè)http request包:

Packet詳情面板以符合http協(xié)議的表述,將header中各個(gè)field清晰的羅列出來了,閱讀起來很方便。

傳輸層我們應(yīng)用較多的是tcp,這一層的閱讀主要是tcp header的學(xué)習(xí):

典型的tcp header一般長度為20個(gè)字節(jié),將這20個(gè)字節(jié)逐一學(xué)習(xí)一遍就可以分析大部分的tcp流量了。

網(wǎng)絡(luò)層的分析主要是針對于IP Header,header結(jié)構(gòu)如下:

這其中IP Header第十三個(gè)字節(jié)各個(gè)filed的理解,對于我們分析tcp流量的起始和結(jié)束尤其有用,典型的IPV4 Header也是20個(gè)字節(jié),梳理一遍就可以分析IP包了。

所以對于包結(jié)構(gòu)的分析關(guān)鍵在于三個(gè)知識點(diǎn)的學(xué)習(xí):http header, tcp header, ip header,這么一看好像也沒多少東西 ;)

使用Filter過濾包

使用Wireshark和使用Charles最大的區(qū)別在于,Charles只捕獲HTTP流量,而Wireshark捕捉的是經(jīng)過目標(biāo)網(wǎng)卡所有的流量,流量包可以在幾秒內(nèi)膨脹到難以閱讀的數(shù)量,所以此時(shí)我們需要使用Filter來做包的過濾,F(xiàn)ilter規(guī)則定的越細(xì),剔除掉的干擾信息就越多,分析起來就越快。

Wireshark的Filter分為兩種,一種為Capture Filter,另一種是Display Filter。

Capture Filter出現(xiàn)在初始界面,在網(wǎng)卡列表的上方有個(gè)輸入框,允許我們輸入capture filter,一旦輸入了特定的capture規(guī)則,Wireshark就只捕獲符合該規(guī)則的流量包了。

Display Filter出現(xiàn)在流量監(jiān)控界面,在工具欄的下方有個(gè)輸入框,允許我們輸入display filter,display filter只是從界面上過濾掉不符合規(guī)則的包,Wireshark實(shí)際上還是監(jiān)聽了這些包,一旦去掉display filter,所有的包又會(huì)出現(xiàn)在同一界面。

Capture Filter的規(guī)則和我們平常使用tcpdump的filter語法是一致的,比如為了只監(jiān)控http的流量,我們可以先在初始化界面選中rvi0網(wǎng)卡,再在capture filter輸入框里輸入:

//只捕獲HTTP流量 port 80 or port 443 

回車之后Wireshark就開始監(jiān)控我們iPhone上所有的http和https流量了 ,非常簡單,我們還可以使用其他的capture filter來捕獲特定的流量,比如想分析DNS解析過程,可以使用:

//只捕獲DNS流量 port 53 

比如只想捕獲和特定服務(wù)器相關(guān)的流量:

//只捕獲和特定主機(jī)的流量 host 171.10.191.10 

Display Filter的語法是由Wireshark自定義的,和Capture filter的語法不能混用。比如我們只想看某個(gè)主機(jī)的流量,可以使用如下Display Filter:

ip.addr==171.10.191.10 

如果只看http或者h(yuǎn)ttps的流量,可以用:

tcp.port == 80 || tcp.port == 443 

更多的語法規(guī)則可以查看Wireshark官方文檔,Wireshark實(shí)際上提供了便捷的UI操作幫助我們來書寫Display Filter,在Display Filter輸入框的最右邊有個(gè)Expression按鈕,點(diǎn)擊之后可以彈出如下界面:

Display Filter的語法本質(zhì)上是個(gè)等是關(guān)系描述,我們可以在search當(dāng)中輸入我們感興趣的協(xié)議比如http,再在展開的協(xié)議頭里選擇我們的條件比如http.host,最后設(shè)置Relation和Value就可以生成一個(gè)Display Filter條件了。

包顏色規(guī)則

Wireshark在大多數(shù)時(shí)候捕獲的包數(shù)量都遠(yuǎn)超我們感興趣的數(shù)量,而且各個(gè)連接的包都混雜在一起,為了方便我們識別不同的連接會(huì)話,Wireshark默認(rèn)使用一種著色規(guī)則幫助我們來進(jìn)行包類型區(qū)分。

具體的規(guī)則可以通過菜單View->Coloring Rules…查看,默認(rèn)規(guī)則如下:

這里有個(gè)小技巧,如上圖所示,我只將我感興趣的協(xié)議包上了色,集中在http,tcp,udp包,這樣分析起來更加直觀。比如根據(jù)上圖的規(guī)則,tcp三次握手中的Sync包是使用灰色標(biāo)記的,這樣我就可以在下圖的包中迅速定位一次tcp連接的開始包位置:

當(dāng)然,包的顏色也可以按照自己的視覺習(xí)慣進(jìn)行定制,我個(gè)人習(xí)慣把Sync包和FIN包設(shè)置一個(gè)高亮的顏色,方便判斷一次HTTP會(huì)話的起始和結(jié)束。

流量跟蹤

Wireshark默認(rèn)情況下將不同網(wǎng)絡(luò)連接的流量都混在一起展示,即使給不同協(xié)議的包上色之后,要單獨(dú)查看某個(gè)特定連接的流量依然不怎么方便,我們可以通過Wireshark提供的兩種方式來實(shí)現(xiàn)這個(gè)目標(biāo)。

方式一:Follow Stream

當(dāng)我們選中某個(gè)包之后,右鍵彈出的菜單里,有個(gè)選項(xiàng)允許我們將當(dāng)前包所屬于的完整流量單獨(dú)列出來,如下圖:

Wireshark支持我們常見的四種Stream,TCP,UDP,HTTP,SSL。比如我們選中Follow TCP Stream之后可以得到如下的詳細(xì)分析輸出(樣本為監(jiān)控iPhone手機(jī)的流量):

上圖中將iPhone和Server之間某次的連接流量完整的呈現(xiàn)出來,包括iPhone發(fā)送了多少個(gè)包,Server回了多少個(gè)包,以及iPhone上行和下行的流量,還提供流量編解碼選擇,文本搜索功能等。

方式二:Flow Graph

Flow Graph可以通過菜單Statistics->Flow Graph來生成,這樣我們可以得到另一種形式的流量呈現(xiàn):

和Follow Stream不同的是我們獲取到的是完整的流量,從上圖中可以看出從10.136.66.127(我的iPhone手機(jī)IP地址)發(fā)出的流向多個(gè)服務(wù)器的網(wǎng)絡(luò)流量,包括DNS解析和SSL安全握手等。當(dāng)然我們也可以在上圖中下方的操作區(qū)域做進(jìn)一步的過濾,可以使用Display Filter做進(jìn)一步的流量定位。

Follow Stream更適合分析針對某一個(gè)服務(wù)器地址的流量,而Flow Graph更適合分析某個(gè)App的整體網(wǎng)絡(luò)行為,包含從DNS解析開始到和多個(gè)服務(wù)器交互等。

其實(shí)Statistics菜單下還有更多的圖表分析模式,可以根據(jù)不同的分析目標(biāo)來選擇,比如Statistics->HTTP->Requests可以得到如下按主機(jī)分門別類的HTTP請求分析圖,和收費(fèi)的Charles的展示結(jié)果類似。

HTTPS包分析

介紹完使用方式再來實(shí)際分析下HTTPS的流量。下圖是我使用Wireshark在iPhone上抓包知乎App網(wǎng)絡(luò)請求的結(jié)果:

當(dāng)我使用Follow TCP Stream之后,一次完整的HTTPS會(huì)話流量就被單獨(dú)過濾出來了,第一步先分析包列表界面。

通過高亮顏色找到會(huì)話的其實(shí)Sync包,繼而可以快速的定位到HTTP建立連接之初的tcp三次握手所產(chǎn)生的三個(gè)包:

Sync: iPhone發(fā)送Sync。

Sync+Ack: Server發(fā)送Sync+Ack。

Ack: iPhone Ack。

三次握手之后是ssl handshake,ssl handshake分為以下幾步:

Client Hello

這一個(gè)包是ssl握手的起始包,客戶端(我的iPhone)會(huì)攜帶當(dāng)前會(huì)話所依賴的一些關(guān)鍵信息:使用的tls版本(當(dāng)前為tls1.2),上次的Session ID(如果可以session重用,就可以避免當(dāng)前這次的安全握手),客戶端所支持的加密算法套件(從下圖中可以看出可以從22個(gè)suites里面挑選)等。

Server Hello

Server Hello這個(gè)包帶上服務(wù)器這一端的一些信息,比如Server所選擇的tls版本,或者帶上可以重用的Session ID避免重新握手,在Client傳過來的Cipher Suites當(dāng)中挑選一個(gè)Cipher Suite進(jìn)行后續(xù)的安全通話等。

Server 下發(fā)Certificate

Server同時(shí)會(huì)下發(fā)自己的Certificate,如下圖所示:

從包列表界面可以看出,Certificate(大小為2407個(gè)bytes)這個(gè)包由于超過了1440個(gè)字節(jié),被拆成了2個(gè)包,所以我們可以在包Info里面看到[TCP segment of a reassembled PDU],我們使用Wireshark抓包的時(shí)候經(jīng)常會(huì)看到reassembled PDU,出現(xiàn)這種情況是因?yàn)榘螅^了MSS,需要拆成兩個(gè)來發(fā)送。

接下來幾個(gè)包是Client和Server基于上面交換的信息協(xié)商最后使用的密鑰。

Server Key Exchange

Client Key Exchange

Change Cipher Spec

Send Application Data

各個(gè)包里面所包含的詳細(xì)內(nèi)容分析涉及到非對稱加密算法的相關(guān)知識,這里就不展開了,使用Wireshark可以將整個(gè)HTTPS的握手過程非常清晰的展現(xiàn)出來,感興趣的同學(xué)可以閱讀這篇文章

當(dāng)然大部分時(shí)候我們需要分析iPhone上HTTPS流量里的具體包內(nèi)容,Wireshark雖然支持配置RSA私鑰,但我們沒辦法直接獲取iPhone設(shè)備上各個(gè)App所使用的私鑰,這種場景下我們一般使用MITM(Man In The Middle)中間人攻擊來破解HTTPS包內(nèi)容,收費(fèi)工具Charles可以通過代理的方式來實(shí)現(xiàn)此功能,免費(fèi)版抓包工具mitmproxy同樣也可以,Charles的使用教程比較多了,后續(xù)我們會(huì)再寫一篇mitmproxy的教程介紹如何使用破解調(diào)試HTTPS的流量。

結(jié)束語

Wireshark就介紹到這里,現(xiàn)在在iPhone上抓包的方式有很多,有面向所有協(xié)議的tcpdump和Wireshark,也有針對HTTP的Charles和mitmproxy,無論使用哪個(gè)工具,前提都是我們需要對網(wǎng)絡(luò)協(xié)議有全面的認(rèn)識,所以在學(xué)習(xí)使用這些工具的同時(shí),要持續(xù)深入的學(xué)習(xí)網(wǎng)絡(luò)協(xié)議知識。

posted on 2017-03-02 15:54 楊粼波 閱讀(1359) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲国产视频直播| 欧美日韩视频在线第一区| 欧美成人午夜激情在线| 久久久久女教师免费一区| 欧美一区二区三区视频免费| 性做久久久久久久免费看| 午夜精品久久久久久久| 久久久久国产成人精品亚洲午夜| 久久综合精品国产一区二区三区| 美女国产一区| 亚洲精品免费电影| 亚洲日本成人网| 亚洲一区二区精品视频| 欧美在线网站| 欧美成人免费观看| 国产精品久久久久影院色老大 | 亚洲综合三区| 久久九九热re6这里有精品| 噜噜噜躁狠狠躁狠狠精品视频| 欧美v日韩v国产v| 一区二区三区黄色| 久久先锋影音av| 国产精品h在线观看| 国内精品久久久久影院优| 在线观看欧美日韩| 亚洲一区二区三区四区视频 | 亚洲一级一区| 久久在精品线影院精品国产| 亚洲精品乱码久久久久久按摩观| 亚洲一区在线播放| 欧美成人精品1314www| 国产精品视区| 日韩视频在线一区二区三区| 久久久成人网| 亚洲欧洲另类| 国产精品青草综合久久久久99 | 久久久久亚洲综合| 欧美色图一区二区三区| 国内精品免费在线观看| 亚洲一区二区三区四区视频| 欧美成人国产va精品日本一级| 亚洲一区国产视频| 欧美精品一区二区三区高清aⅴ| 国产视频一区在线观看一区免费| 在线一区二区三区做爰视频网站 | 久久躁狠狠躁夜夜爽| 国产精品你懂的| 在线视频欧美一区| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲女ⅴideoshd黑人| 欧美日韩在线播放| 一区二区电影免费在线观看| 欧美成人一区二区在线| 欧美成人精品在线视频| 欧美视频在线观看免费网址| 美女在线一区二区| 国产日韩欧美一区二区| 亚洲精品你懂的| 在线观看一区二区视频| 亚洲少妇诱惑| 亚洲一级在线| 欧美丝袜一区二区| 最新日韩在线视频| 国产伦精品一区二区三区视频黑人| 久久亚洲图片| 国产区日韩欧美| 在线视频你懂得一区二区三区| 亚洲欧洲99久久| 一区二区三区|亚洲午夜| 久久久久久一区| 国产欧美日韩三级| 欧美极品一区二区三区| 亚洲第一精品在线| 欧美国产一区二区| 免费看av成人| 日韩小视频在线观看专区| 亚洲性感美女99在线| 亚洲制服av| 国产日韩欧美黄色| 欧美在线播放视频| 久久免费偷拍视频| 亚洲精品在线电影| 一区二区三区久久| 国产亚洲视频在线| 亚洲国产高清高潮精品美女| 欧美成人综合一区| 午夜精品一区二区三区在线 | 久久国产精品久久久久久电车| 国产精品国产三级国产普通话三级 | 毛片基地黄久久久久久天堂| 国产精品女主播在线观看| 亚洲免费人成在线视频观看| 欧美一二三视频| 亚洲精品视频在线观看网站| 欧美日韩免费观看一区| 午夜欧美理论片| 亚洲第一搞黄网站| 亚洲欧美日韩另类| 亚洲国产一区在线| 国产一区二区三区奇米久涩| 亚洲一级网站| 一区二区三区蜜桃网| 一区二区三区高清视频在线观看| 中文亚洲欧美| 国产精品久久久久三级| 久久亚洲欧美国产精品乐播| 欧美大片在线观看| 午夜在线不卡| 欧美精品一区二区精品网 | 一区二区免费在线观看| 国产综合视频| 一区二区三区导航| 亚洲人体影院| 久久久久国产精品一区三寸| 亚洲男人av电影| 欧美国产视频在线| 美女啪啪无遮挡免费久久网站| 欧美日韩综合久久| 亚洲国产mv| 尤妮丝一区二区裸体视频| 久久激情中文| 国产精品久久久久影院色老大 | 一区精品在线播放| 夜夜嗨av一区二区三区免费区| 精品成人一区二区三区| 亚洲欧美激情四射在线日| 欧美激情一二区| 毛片一区二区三区| 国产日韩欧美综合| 亚洲尤物在线| 亚洲伊人一本大道中文字幕| 欧美精品一区二区三区久久久竹菊| 蜜臀91精品一区二区三区| 国产视频精品网| 亚洲女与黑人做爰| 亚洲欧美中文日韩v在线观看| 欧美激情在线免费观看| 亚洲电影免费在线| 亚洲精品视频二区| 欧美精品日日鲁夜夜添| 亚洲国产欧美久久| 亚洲靠逼com| 欧美激情黄色片| 亚洲精品中文字幕在线观看| 一本色道久久99精品综合| 欧美剧在线免费观看网站| 最新国产乱人伦偷精品免费网站| 日韩一级精品| 国产精品国产自产拍高清av| 亚洲无限乱码一二三四麻| 亚洲在线黄色| 国产精品综合| 久久久.com| 亚洲成人在线视频网站| 99精品国产高清一区二区 | 樱桃国产成人精品视频| 久久久久亚洲综合| 亚洲国产成人av在线 | 欧美大香线蕉线伊人久久国产精品| 伊人久久婷婷色综合98网| 麻豆成人在线观看| 亚洲免费成人| 久久国产免费| 亚洲黄色成人久久久| 欧美日韩国产一区二区三区地区| 一区二区欧美在线| 久久久久国产一区二区三区四区 | 99亚洲一区二区| 久久久91精品| 亚洲人成人一区二区在线观看| 国产亚洲综合在线| 蜜桃久久av| 日韩图片一区| 国产精品免费一区二区三区观看| 午夜精品久久久99热福利| 亚洲精品国产精品久久清纯直播| 欧美成人精品一区二区三区| 99re这里只有精品6| 性色av一区二区三区在线观看| 狠狠久久婷婷| 欧美午夜电影在线观看| 久久久久九九视频| 亚洲图色在线| 最新69国产成人精品视频免费| 久久gogo国模啪啪人体图| 亚洲九九精品| 在线观看的日韩av| 国产精品日本一区二区 | 欧美成人高清视频| 欧美亚洲一区二区在线| 亚洲精品欧美一区二区三区| 久热精品在线视频| 午夜在线成人av| 99视频精品在线| 在线观看一区欧美| 国产午夜精品久久久久久久| 欧美日韩国产丝袜另类| 美日韩精品免费| 久久精品最新地址| 亚洲在线观看视频|