Chapter 01|網路基礎知識
介紹電腦網路的基礎知識,特別是最常使用的 TCP/IP 協定,之後各章都假設讀者已具備足夠的網路基礎知識。本章還介紹筆者自創的協定應用塑模方式,該模型將協定應用拆解成彈性的分層結構,將複雜的技術細節抽象化,讓讀者可以將精力投注於待分析的特定範圍。
Chapter 02|擷取網路流量
介紹基本的被動和主動流量擷取觀念,並利用 Canape Core 網路函式庫進行實作初體驗。
Chapter 03|網路協定的結構
說明網路協定裡常見的內部結構,例如數字或人類可讀文字的表示方式,在分析所擷取的網路流量時,這些知識足以讓讀者快速找出常見的結構,加快分析速度。
Chapter 04|流量擷取的進階技法
強化第 2 章的範例應用,探討更多進階的擷取技巧,包括設定網路位址轉譯(NAT),以便將流量重導向我們的目的地或者偽冒的位址解析協定。
Chapter 05|分析線上流量
以第 2 章所提的被動和主動擷取技術來說明分析網路流量的方法,這裡開始使用 SuperFunkyChat 程式產製範例流量。
Chapter 06|應用程式的逆向工程
介紹網路連線程式的逆向工程技術,逆向工程讓你不必擷取網路流量就能進行協定分析,這些方法還能幫助檢驗客製的資料加密或混淆技術,以便提升流量分析的效果。
Chapter 07|網路協定安全議題
提供用於保護網路協定的技術和加密演算法之基礎知識,以網路協定的安全角度而言,保護通過公共網路的流量不被窺視或篡改是非常重要的。
Chapter 08|實作網路協定
在程式碼中實作屬於自己的協定,並讓讀者可以測試協定的行為,以便找出安全弱點。
Chapter 09|漏洞的根本原因
介紹網路協定中常遇到的安全漏洞,當了解漏洞的根本原因,在分析的過程就能更輕易找到它們的蹤影。
Chapter 10|查找和利用安全漏洞
以第9章的知識為基礎,說明查找安全漏洞的過程,並為讀者展示多種漏洞利用手法,包括開發自己的 shell code(一種利用漏洞來遞送資料及執行攻擊的程式碼),以及藉由返回導向的程式設計(ROP)模式來規避系統對漏洞的緩解機制。