前言
第1章 揭開網絡分析的神秘麵紗
1.1 網絡分析概述
1.2 網絡分析的主要用途
1.3 黑客使用嗅探器的方法
1.4 被嗅探數據的真麵目
1.4.1 使用嗅探器獲得FTP的用戶名和密碼
1.4.2 使用嗅探器分析衝擊波蠕蟲(Blaster Worm)
1.5 常見的網絡分析器
1.6 網絡分析器的工作原理
1.6.1 以太網簡介
1.6.2 理解開放係統互連(OSI)模型
1.6.3 瞭解CSMACD協議
1.6.4 IP、ICMP、TCP與UDP協議
1.6.5 硬件
1.6.6 欺騙交換機
1.7 嗅探器的檢測
1.7.1 檢測嗅探器的原理
1.7.2 防止網絡嗅探可采取的安全措施
1.8 網絡分析工具的主要功能組成
1.9 Wireshark的概述、安裝與使用
1.9.1 Wireshark的概述
1.9.2 Wireshark的安裝
1.9.3 Wireshark的使用
1.1 0小結
第2章 初識網絡分析基礎庫WinPcap
2.1 WinPcap概述
2.2 WinPcap的優點
2.3 WinPcap的使用者
2.4 WinPcap的體係架構
2.4.1 WinPcap的主要組成
2.4.2 數據包捕獲的基本過程
2.4.3 WinPcap的驅動程序
2.4.4 WinPcap內核驅動的主要功能
2.5 用戶空間庫接口函數
2.5.1 wpcap.dll庫中的重要函數
2.5.2 Packet.dll庫中的重要函數
2.6 小結
第3章 網絡分析工具的內核驅動基礎知識
3.1 Windows驅動程序基礎知識
3.1.1 驅動對象(DRIVER_OBJECT)
3.1.2 設備對象(DEVICE_OBJECT)
3.1.3 設備擴展(_DEVICE_EXTENSION)
3.1.4 IRP與派遣函數
3.1.5 同步處理
3.1.6 內核的內存操作
3.1.7 內存操作的運行時函數
3.1.8 內核的注冊錶操作
3.2 NDIS協議驅動程序
3.2.1 三種類型的網絡驅動程序
3.2.2 協議驅動程序的特徵結構體
3.3 小結
第4章 編譯與使用WinPcap
4.1 源代碼目錄結構
4.2 構建驅動程序NPF
4.3 構建Packet.dll庫
4.4 構建wpcap.dll庫
4.5 安裝NPF驅動程序與各庫文件
4.6 使用WinPcap庫進行程序開發的實例
4.7 小結
第5章 WinPcap驅動程序的初始化與清除
5.1 驅動程序中的初始化函數DriverEntry
5.1.1 DriverEntry函數的工作流程
5.1.2 DriverEntry函數的具體實現
5.2 驅動程序中的卸載函數DriverUnload
5.3 小結
第6章 獲得與釋放網絡適配器設備列錶
6.1 使用WinPcap選擇閤適的適配器
6.1.1 wpcap.dll庫導齣的相應函數
6.1.2 獲得與釋放網絡適配器列錶的實例
6.1.3 獲取已安裝設備高級信息的實例
6.2 獲得網絡適配器列錶的幕後
6.2.1 wpcap.dll庫中獲得網絡適配器列錶的實現
6.2.2 Packet.dll庫中獲得網絡適配器列錶的實現
6.2.3 內核空間中獲得網絡適配器列錶的實現
6.3 釋放網絡適配器列錶的實現
6.4 小結
第7章 打開與關閉適配器
7.1 使用WinPcap打開與關閉適配器
7.1.1 wpcap.dll庫導齣的相應函數
7.1.2 關鍵數據結構pcap_t
7.1.3 打開與關閉網絡適配器的實例
7.2 打開與關閉適配器的幕後
7.2.1 打開適配器的實現
7.2.2 關閉適配器的實現
7.3 小結
第8章 數據包的發送
8.1 使用WinPcap發送數據包
8.1.1 wpcap.dll庫導齣的相應函數
8.1.2 數據包發送實例
8.2 數據包發送的幕後
8.2.1 發送單個數據包的實現
8.2.2 單個數據包發送多次的實現
8.2.3 發送隊列方式的實現
8.3 小結
第9章 數據包的內核過濾
9.1 基礎知識
9.1.1 flex和bison簡介
9.1.2 #line宏
9.1.3 以太網的典型幀結構
9.1.4 數據包過濾的原理簡介
9.1.5 BPF虛擬機
9.1.6 Tcpdump與WinDump
9.1.7 BPF指令集實例
9.1.8 BPF過濾器的優化研究
9.1.9 BPF係統架構
9.2 WinPcap數據包過濾基礎
9.2.1 數據包過濾過程
9.2.2 過濾錶達式
9.2.3 編譯過濾錶達式生成過濾器的字節碼
9.2.4 把過濾器字節碼傳遞給內核
9.3 使用WinPcap過濾數據包
9.3.1 wpcap.dll庫導齣的相應函數
9.3.2 使用過濾器的實例
9.4 數據包過濾的幕後
9.4.1 wpcap.dll庫中相應函數的實現
9.4.2 Packet.dll庫對應的函數
9.4.3 驅動程序中對應的函數
9.4.4 NPF_tap函數的數據包過濾部分
9.5 小結
第10章 數據包的接收
10.1 使用WinPcap接收數據包
10.1.1 wpcap.dll庫導齣的相應函數
10.1.2 數據包接收的實例
10.2 數據接收的幕後
10.2.1 wpcap.dll庫中相應函數的實現
10.2.2 Packet.dll庫中相應函數的實現
10.2.3 內核空間部分的實現
10.3 小結
第11章 統計網絡流量與網絡狀態
11.1 使用WinPcap進行網絡統計的方法
11.1.1 wpcap.dll庫導齣的相應函數
11.1.2 統計實例
11.2 網絡統計的幕後
11.2.1 工作模式
11.2.2 模式設置函數
11.2.3 網絡流量統計的實現
11.2.4 網絡狀態統計的實現
11.3 小結
第12章 文件的存儲與讀取
12.1 libpcap文件存儲格式
12.1.1 轉儲文件的頭信息
12.1.2 每個數據包的頭信息
12.2 使用WinPcap進行文件存儲與讀取
12.2.1 wpcap.dll導齣的相應函數
12.2.2 文件存儲與讀取的實例
12.3 數據包文件存儲的幕後
12.3.1 pcap_dump_open函數
12.3.2 pcap_dump函數
12.3.3 pcap_dump_flush函數
12.3.4 pcap_dump_close函數
12.4 數據包文件讀取的幕後
12.5 內核文件轉儲的實現
12.5.1 wpcap.dll庫中相應函數的實現
12.5.2 Packet.dll庫中相應函數的實現
12.5.3 驅動程序中對應的函數
12.6 小結
第13章 修改源代碼
13.1 給wpcap.dll增加設置重復發送次數的函數
13.1.1 修改步驟
13.1.2 測試結果
13.2 修改WinPcap的內核驅動代碼
13.2.1 支持內核轉儲功能
13.2.2 測試內核統計與轉儲模式
13.2.3 支持大量數據包的轉儲
13.2.4 內核驅動程序修改後的源文件
13.3 小結
第14章 性能測試與分析
14.1 測試環境
14.2 測試實例
14.2.1 不同發送方式的比較
14.2.2 發送不同數據包長度的比較
14.2.3 不同接收方式的比較
14.3 小結
附錄A 源語法規範
附錄B 過濾錶達式規範
附錄C SYN洪泛攻擊的詳細資料
附錄D ARP欺騙資料
參考文獻
· · · · · · (
收起)