第1章 TCP/IP協(xié)議棧的基礎知識
1.1 TCP/P協(xié)議與TCP/P協(xié)議棧的基礎知識
1.1.1 TCP/IP計算機網絡
1.1.2 包交換的基礎知識
1.1.3 軟件和硬件
1.1.4 應用軟件和操作系統(tǒng)
1.1.5 控制通信的三個軟件
1.1.6 協(xié)議棧和包處理
1.2 協(xié)議棧的詳細內容
1.2.1 地址與協(xié)議棧
1.2.2 地址的變換處理和表間關系
1.2.3 協(xié)議棧的內部處理
1.2.4 客戶機服務器模型
1.3 協(xié)議棧的實現(xiàn)方法
1.3.1 套接字
1.3.2 系統(tǒng)調用及其內部的處理
1.3.3 原始IP和數(shù)據(jù)鏈路訪問
1.3.4 多重復用和緩沖區(qū)
第2章 TCP/IP協(xié)議與報頭的結構
2.1 協(xié)議報頭和結構體
2.1.1 協(xié)議報頭和結構體
2.1.2 報頭、結構體和存儲器
2.1.3 報頭的結構和C語言的數(shù)據(jù)類型
2.1.4 使用位域、標志對報頭進行處理
2.1.5 使用數(shù)組對報頭進行處理
2.1.6 存儲器的定位
2.1.7 字節(jié)順序
2.2 以太網(Ethernet)
2.2.1 Ethernet的基礎知識
2.2.2 Ethernet幀的格式和結構體的定義
2.2.3 Ethernet的基本操作
2.3 地址解析協(xié)議(ARP)
2.3.1 ARP協(xié)議的基礎知識
2.3.2 ARP協(xié)議的包格式
2.3.3 ARP協(xié)議的操作
2.4 網際協(xié)議(IP)
2.4.1 IP協(xié)議的基礎知識
2.4.2 IP報頭和報頭結構體
2.4.3 路由尋址的基礎知識
2.4 4 IP分段處理
2.4.5 關于IP協(xié)議的分段處理所存在的問題
2.4.6 路由最大傳輸單元檢索
2.5 網際控制報文協(xié)議(ICMP)
2.5.1 ICMP定義
2.5.2 ICMP響應-請求、ICMP響應-應答
2.5.3 ICMP不能到達目的地包
2.5 4 ICMP重發(fā)
2.5.5 ICMP超時報文包
2.5.6 聯(lián)合體和實際icmp報頭的結構體
2.6 用戶數(shù)據(jù)報協(xié)議(UDP)
2.6.1 UDP協(xié)議
2.6.2 UDP協(xié)議的報頭和報頭結構體
2.7 傳輸控制協(xié)議(TCP)
2.7.1 TCP協(xié)議概要
2.7.2 TCP協(xié)議的報頭和報頭結構體
2.7.3 TCP協(xié)議連接的建立
2.7.4 TCP協(xié)議連接的切斷
2.7.5 TCP協(xié)議提供的可靠性
2.7.6 緩沖區(qū)的大小和窗口大小
2.8 檢查和(checksum)
2.8.1 checksum所保證的內容
2.8.2 checksum的算法
2.8.3 checksum的計算程序
第3章 套接字
3.1 套接字的概要
3.2 在套接字中使用的結構體
3.3 使用套按字系統(tǒng)調用的處理流程
3.3.1 使用UDP協(xié)議進行通信
3.3.2 使用TCP協(xié)議進行通信
3.4 套接字系統(tǒng)調用的詳細內容
3.4.1 協(xié)議的選擇和地址的指定
3.4.2 無連接
3.4.3 面向連接
3.4.4 套接字可選域
3.4.5 與DNS有關的函數(shù)
3.4.6 與端口號有關的函數(shù)
3.4.7 IP地址的操作函數(shù)
3.4.8 原始IP協(xié)議
3.4.9 利用select系統(tǒng)調用進行多重處理
3.5 使用UDP協(xié)議進行通信
3.5.1 UDP程序實例的基本情況和使用方法
3.5.2 程序的執(zhí)行實例和流程圖
3.5.3 處理流程
3.5.4 UDP服務器源程序
3.5.5 UDP服務器源程序的說明
3.5.6 UDP客戶機源程序
3.5.7 UDP客戶機源程序的說明
3.6 使用TCP協(xié)議進行通信
3.6.1 TCP程序實例的基本情況和使用方法
3.6.2 程序的執(zhí)行實例
3.6.3 處理流程
3.6.4 TCP服務器源程序
3.6.5 TCP服務器源程序的說明
3.6.6 TCP客戶機源程序
3.6.7 TCP客戶機源程序的說明
第4章 包監(jiān)控程序的使用
4.1 包監(jiān)控的基礎知識
4.1.1 包監(jiān)控及其意義
4.1.2 集線器與地址學習功能
4.1.3 無差別方式
4.2 數(shù)據(jù)鏈路訪問接口
42.1 數(shù)據(jù)鏈路訪問接口的定義
4.2.2 Linux系統(tǒng)
4.2.3 BSD包過濾器
4.3 包監(jiān)控程序(ipdump)
4.3.1 ipdump的基礎知識
4.3.2 ipdump的使用方法
4.3.3 ipdump的結構
4.3.4 ipdump的流程圖
4.3.5 ipdump源程序
4.3.6 ipdump源程序的說明
第5章 TCP/IP通信的識別
5.1 IP地址和端口號
5.1.1 通信的識別
5.1.2 與無效的IP地址或端口號進行通信
5.1.3 主機掃描和端口掃描
5.2 主機掃描程序(scanhost)
5.2.1 scanhost程序的概要
5.2.2 scanhost的使用方法
5.2.3 scanhost的程序結構和處理流程
5.2.4 scanhost源程序
5.2.5 scanhost源程序的說明
5.3 TCP端口掃描程序(scanport tcp)
5.3.1 scanport_tcp的概要
5.3.2 scanport_tcp程序的使用方法
5.3.3 scanport_tcp程序的執(zhí)行實例
5.3.4 scanport_tcp的程序結構和處理流程
5.3.5 scanport_tcp源程序
5.3.6 scanport_tcp源程序的說明
5.4 UDP端口掃描程序(scanport udp)
5.4.1 scanport_udp程序的概要
5.4.2 scanport_udp程序的使用方法
5.4.3 scanport_udp程序的執(zhí)行實例
5.4.4 scanport_udp程序的處理流程
5.4.5 scanport_udp源程序
5.4.6 scanport_udp源程序的說明
第6章 ARP協(xié)議的實驗
6.1 ARP協(xié)議的詳細內容
6.1.1 ARP協(xié)議的操作
6.1.2 兩臺主機具有同一個IP地址的情況
6.2 使用ARP協(xié)議的實驗程序(arPUPdate)
6.2.1 arpupdate程序的概要
6.2.2 arpupdate程序的使用方法
6.2.3 arpupdate程序的執(zhí)行實例
6.2.4 arpupdate程序的結構和處理流程
6.2.5 arpupdate源程序
6.2.6 arpupdate源程序的說明
第7章 IP協(xié)議和ICM的實驗
7.1 路由尋址表和路由控制
7.1.1 路由尋址表
7.2 重發(fā)程序(redirect)
7 2.1 redirect程序的概要和結構
7.2.2 redirect程序的使用方法
7.2.3 redirect程序的執(zhí)行實例
7.2.4 redirect程序的處理流程
7.2.5 redirect源程序
7 2 6 redirect源程序的說明
7.3 掃描路由程序(scanroute)
7.3.1 scanroute程序的概要和結構
7.3.2 scanroute程序的使用方法
7.3.3 scanroute程序的處理流程
7.3.4 scanroute源程序
7.3.5 scanroute源程序的說明
第8章 TCP/IP協(xié)議的實驗
8.1 TCP協(xié)議的詳細內容
8.1.1 TCP協(xié)議狀態(tài)轉移
8.1.2 狀態(tài)轉移和連接的建立、切斷
8.2 tcpsyn程序
8.2.1 tcpsyn程序的概要
8.2.2 tcpsyn程序的使用方法
8.2.3 tcpsyn程序的執(zhí)行實例
8.2.4 tcpsyn程序的處理流程
8.2.5 tcpsyn源程序
8.2.6 tcpsyn源程序的說明
8.3 tcprst程序
8.3.1 tcprst程序的概要
8.3.2 tcprst程序的使用方法
8.3.3 tcprst程序的使用實例
8.3.4 tcprst源程序
8.3.s tcprst源程序的說明
8.4 tcpjack程序
8.4.1 tcpjack程序的概要
8.4.2 tcpjack程序的使用方法
8.4.3 tcpjack程序的使用實例
8.4.4 tcpjack源程序
8.4.5 tcpjack源程序的說明
第9章 使用IPv6協(xié)議進行通信實驗
9.1 IPv6協(xié)議
9.1.1 IPv6協(xié)議
9.1.2 IPv6報頭的結構
9.1.3 為IPv6協(xié)議追加的結構體
9.1.4 為了支持IPv6協(xié)議而追加的函數(shù)
9.2 使用IPv6協(xié)議的實驗程序
9.2.1 程序的基本內容
9.2.2 程序的使用方法
9.2.3 IPv6協(xié)議客戶機源程序
9.2.4 IPv6協(xié)議服務器源程序
9.2.5 IPv6協(xié)議服務器源程序的說明
參考文獻