天天看點

從新手到入門,如何進入協定分析的世界

“ 協定分析與還原自學及入門指南。”

有部分朋友給我發消息,說對協定還原很感興趣,但苦于沒人指導,希望得到我的幫助,問我如何進行協定分析的學習。

這篇文章從初學者的角度,編列了一個學習指南,希望能對協定分析的朋友朋友們有所幫助。

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

結語

按照前一章進行了入門級學習以後,你就可以獨立進行簡單的協定分析任務了,然後,就需要在此基礎上邊應用邊學習了,關鍵是需要做到融會貫通,以一反三。

同時,還要時刻記得,協定不是一成不變的,社會發展很快,科技發展更快,想跟進時代的潮流,要保持一顆學習之心。

大家一起進步,共同提高吧。

從新手到入門,如何進入協定分析的世界

長按進行關注。