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