从新手到入门,如何进入协议分析的世界
“?協(xié)議分析與還原自學(xué)及入門指南。”
有部分朋友給我發(fā)消息,說對協(xié)議還原很感興趣,但苦于沒人指導(dǎo),希望得到我的幫助,問我如何進(jìn)行協(xié)議分析的學(xué)習(xí)。
這篇文章從初學(xué)者的角度,編列了一個(gè)學(xué)習(xí)指南,希望能對協(xié)議分析的朋友朋友們有所幫助。
01
—
學(xué)習(xí)指南
對協(xié)議分析而言,打交道的是網(wǎng)絡(luò)流量,因此,對網(wǎng)絡(luò)協(xié)議的了解是一切的基礎(chǔ)。學(xué)習(xí)指南第一部分,將告訴你需要學(xué)習(xí)的網(wǎng)絡(luò)協(xié)議知識:
1、TCP/IP協(xié)議的學(xué)習(xí)
?對接受過高等教育的朋友而言,TCP/IP協(xié)議應(yīng)該不陌生,這里提出來,是為了讓大家對一些重點(diǎn)知識進(jìn)行確認(rèn)。
學(xué)習(xí)的重點(diǎn)如下:
掌握IP、TCP、UDP這些協(xié)議的區(qū)別和聯(lián)系;
理解協(xié)議的分層機(jī)制和各層之間的關(guān)系;
熟悉協(xié)議的交互流程,如TCP三次握手等;
了解IP地址和端口的功能和作用。
2、應(yīng)用層協(xié)議的學(xué)習(xí)
應(yīng)用層是傳輸承載內(nèi)容的所在,協(xié)議還原的本質(zhì)就是要將這些應(yīng)用層的數(shù)據(jù)提取出來。應(yīng)用層數(shù)據(jù)千變?nèi)f化,協(xié)議數(shù)量和種類很多,但對一些常見協(xié)議如HTTP,DNS,SSL的熟悉,對協(xié)議分析技能的提高會(huì)有很大的幫助。
學(xué)習(xí)的重點(diǎn)如下:
掌握HTTP協(xié)議的原理、方法、應(yīng)用場景、數(shù)據(jù)格式及各個(gè)字段和值的含義;
掌握DNS協(xié)議的原理、機(jī)制、特征及各個(gè)數(shù)據(jù)段的含義;
掌握SSL協(xié)議的原理、交互流程及數(shù)據(jù)特征。
同時(shí),對應(yīng)用層協(xié)議的學(xué)習(xí)不能局限于協(xié)議本身,同時(shí)需要關(guān)注其細(xì)節(jié),例如HTTP協(xié)議的請求和響應(yīng)體內(nèi)數(shù)據(jù)的編碼,格式等知識。
對網(wǎng)絡(luò)知識的學(xué)習(xí),可留意本公號的相關(guān)文章。
學(xué)習(xí)完網(wǎng)絡(luò)知識,還遠(yuǎn)遠(yuǎn)沒有入門,還需要熟練使用和掌握各類抓包工具和分析方法,學(xué)習(xí)指南第二部分,將告訴需要學(xué)習(xí)的抓包工具和分析方法:
1、Wireshark
?這是一個(gè)功能強(qiáng)大的報(bào)文工具,具備友好的用戶界面,使用非常普遍,除了最初級的抓包、導(dǎo)流、搜索、保存等基本功能外,還應(yīng)掌握各種過濾、顯示和統(tǒng)計(jì)等高級功能。
2、Fiddler
這個(gè)工具主要是用于HTTP和HTTPS協(xié)議的分析,一些抓包和分析的具體方法需要掌握牢。
3、tcpdump
這是Linux下的抓包工具,它的各種參數(shù)需要熟悉。
4、一些方法
對分析工具的使用中,需要學(xué)會(huì)下列方法,以提高效率:
從大量報(bào)文中找到特定IP或其它特征的流量;
定位特定應(yīng)用或特定動(dòng)作產(chǎn)生的流量;
從海量報(bào)文中找到有價(jià)值的信息。
對工具的使用,可以參考本公號菜單欄的工具技巧欄目。
學(xué)習(xí)完網(wǎng)絡(luò)知識和工具使用,還沒完,需要在此基礎(chǔ)上更深入一層,對數(shù)據(jù)的編碼和解碼有一定了解,學(xué)習(xí)指南第三部分,將告訴你一些需要學(xué)習(xí)的編碼知識:
1、常見的編碼
gzip
URL
json
MIME
UTF8
JS
protobuf
xml
BASE64
2、關(guān)注點(diǎn)
各個(gè)編碼的特點(diǎn),特征及常用場合。
本公號內(nèi),也有部分編碼知識的介紹。
在對前面提到的知識學(xué)習(xí)好之后,學(xué)習(xí)指南的最后一部分,第四部分,將告訴你接下來需要做什么:
實(shí)戰(zhàn)實(shí)戰(zhàn)實(shí)戰(zhàn),重要的事要說三遍。
實(shí)戰(zhàn)需要從兩個(gè)方面入手:
1、找一個(gè)APP,去抓包,分析它產(chǎn)生的報(bào)文,嘗試從報(bào)文中提取有價(jià)值的信息,發(fā)現(xiàn)一些規(guī)律。
2、找一個(gè)報(bào)文分享的網(wǎng)站,下載一些標(biāo)準(zhǔn)協(xié)議的報(bào)文文件,拓展協(xié)議知識的邊界,會(huì)發(fā)現(xiàn),前面學(xué)習(xí)的協(xié)議知識,只是協(xié)議海洋里很小的一部分。
02
—
結(jié)語
按照前一章進(jìn)行了入門級學(xué)習(xí)以后,你就可以獨(dú)立進(jìn)行簡單的協(xié)議分析任務(wù)了,然后,就需要在此基礎(chǔ)上邊應(yīng)用邊學(xué)習(xí)了,關(guān)鍵是需要做到融會(huì)貫通,以一反三。
同時(shí),還要時(shí)刻記得,協(xié)議不是一成不變的,社會(huì)發(fā)展很快,科技發(fā)展更快,想跟進(jìn)時(shí)代的潮流,要保持一顆學(xué)習(xí)之心。
大家一起進(jìn)步,共同提高吧。
長按進(jìn)行關(guān)注。
總結(jié)
以上是生活随笔為你收集整理的从新手到入门,如何进入协议分析的世界的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。