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