TCP/IP協(xié)議(TCP/IP Protocol Suite)是互聯(lián)網(wǎng)通信的基礎框架。它采用分層結構,規(guī)定了數(shù)據(jù)如何封裝、尋址、傳輸、路由和接收。為了實現(xiàn)這些功能,TCP/IP協(xié)議包含了幾十種網(wǎng)絡協(xié)議,構成了一個協(xié)議族。所以,想要系統(tǒng)地了解網(wǎng)絡的運行原理,必須要系統(tǒng)地學習TCP/IP協(xié)議的相關知識。
由于TCP/IP協(xié)議對整個互聯(lián)網(wǎng)運作進行了標準化,所以它包含大量的理論知識。同時,由于大部分協(xié)議都被隱藏在系統(tǒng)和軟件內(nèi)部,用戶無法直接接觸,更不可能復現(xiàn),因此傳統(tǒng)TCP/IP協(xié)議的學習過程漫長而又枯燥乏味。
《從實踐中學習TCP/IP協(xié)議》便是針對這種現(xiàn)狀而寫,主要是結合理論,并通過實際動手實踐,帶領讀者掌握TCP/IP的相關知識!稄膶嵺`中學習TCP/IP協(xié)議》結合了Wireshark和netwox工具對TCP/IP協(xié)議進行講解。其中,netwox工具提供了大量模塊,允許用戶手動創(chuàng)建各種協(xié)議的數(shù)據(jù)包,而Wireshark工具則可以捕獲數(shù)據(jù)包,直觀地展現(xiàn)用戶創(chuàng)建的數(shù)據(jù)包。
《從實踐中學習TCP/IP協(xié)議》有何特色
1.結合netwox進行講解
在TCP/IP協(xié)議族中,很多協(xié)議都是隱藏在系統(tǒng)底層,如ARP和ICMP協(xié)議。用戶無法接觸到這類協(xié)議,只能面對抽象的理論。而netwox是一個非常強大的網(wǎng)絡工具集,它包含200多個模塊,可以生成各種網(wǎng)絡報文!稄膶嵺`中學習TCP/IP協(xié)議》結合該工具,生成講解所需要的各種報文,這樣讀者就可以避免單純地進行理論學習。
2.基于協(xié)議模型逐層講解
在TCP/IP協(xié)議族中,各個協(xié)議各司其職,分屬不同的協(xié)議層,從底層開始,逐層依賴,協(xié)調(diào)工作。為了便于讀者掌握該理念,《從實踐中學習TCP/IP協(xié)議》嚴格按照層次結構,逐層講解每一層的作用和相關協(xié)議。
3.充分講解網(wǎng)絡組成的相關協(xié)議
TCP/IP協(xié)議族不僅規(guī)范了數(shù)據(jù)的傳輸方式,還規(guī)定了網(wǎng)絡組成方式和運作機制。例如,ARP協(xié)議規(guī)范了IP和MAC地址的轉(zhuǎn)化方式;DHCP協(xié)議規(guī)范了主機如何獲取IP地址。只有掌握這類協(xié)議,才能完整地理解互聯(lián)網(wǎng)數(shù)據(jù)傳輸機制!稄膶嵺`中學習TCP/IP協(xié)議》詳細地講解了這類協(xié)議,如ARP、DHCP、DNS和ICMP協(xié)議。
4.詳細講解網(wǎng)絡維護類協(xié)議
為了方便管理網(wǎng)絡,TCP/IP協(xié)議族中包含了大量的維護類協(xié)議,如SNMP、Telnet和WHOIS。這些協(xié)議廣泛應用于實際的網(wǎng)絡維護和網(wǎng)絡安全領域!稄膶嵺`中學習TCP/IP協(xié)議》將詳細地講解這類協(xié)議,幫助讀者理解協(xié)議實際應用的重要性。
5.內(nèi)容延伸到安全領域
TCP/IP協(xié)議是網(wǎng)絡運行的基礎,也是網(wǎng)絡安全人員的必備知識。《從實踐中學習TCP/IP協(xié)議》從協(xié)議報文的基礎理論出發(fā),將內(nèi)容延伸到網(wǎng)絡安全領域,充分講解各個協(xié)議在安全領域的應用方式。通過學習,讀者可以更深刻地理解網(wǎng)絡協(xié)議的重要性。
6.提供完善的技術支持和售后服務
《從實踐中學習TCP/IP協(xié)議》提供了專門的QQ交流群,方便大家交流和討論學習中遇到的各種問題。同時,《從實踐中學習TCP/IP協(xié)議》也提供了專門的售后服務郵箱hzbook2017@163.com。讀者在閱讀《從實踐中學習TCP/IP協(xié)議》的過程中若有疑問,可以通過該郵箱獲得幫助。
《從實踐中學習TCP/IP協(xié)議》內(nèi)容
第1、2章詳細講解了網(wǎng)絡協(xié)議的基礎知識,內(nèi)容包括網(wǎng)絡組成、網(wǎng)絡協(xié)議的結構、網(wǎng)絡訪問層的構成。另外,還講解了學習必備的兩個工具Wireshark和netwox。
第3章講解了網(wǎng)際層和IP協(xié)議,內(nèi)容包括IP地址的規(guī)范、IP協(xié)議工作方式和報文結構。另外,本章還講解了如何構建IP數(shù)據(jù)包,基于該協(xié)議實施洪水攻擊。
第4、5章講解了ARP和ICMP協(xié)議。這兩個協(xié)議負責局域網(wǎng)內(nèi)和網(wǎng)際之間的數(shù)據(jù)傳輸和尋址的關鍵環(huán)節(jié)。其中,ICMP協(xié)議也是網(wǎng)絡維護和網(wǎng)絡安全的重要協(xié)議。
第6、7章講解了傳輸層和TCP、UDP協(xié)議。傳輸層負責用戶數(shù)據(jù)的傳輸。TCP和UDP是最常見和最重要的數(shù)據(jù)傳輸協(xié)議,這兩個協(xié)議代表了數(shù)據(jù)傳輸?shù)膬煞N經(jīng)典方式連接和無連接。
第8、9章講解了DHCP和DNS協(xié)議。其中,DHCP協(xié)議負責網(wǎng)絡設備IP地址的獲取和維護;DNS協(xié)議則負責域名和IP地址的轉(zhuǎn)化規(guī)則。而IP地址和域名是互聯(lián)網(wǎng)訪問的核心環(huán)節(jié),是必須要掌握的內(nèi)容。
第10~12章分別講解了Telnet、SNMP和WHOIS協(xié)議。這3個協(xié)議都是典型的網(wǎng)絡維護類協(xié)議。例如,Telnet協(xié)議用于網(wǎng)絡遠程登錄;SNMP協(xié)議用于網(wǎng)絡設備和信息管理;WHOIS是網(wǎng)絡信息查詢協(xié)議。
第13、14章分別講解了FTP和TFTP協(xié)議。雖然這兩個協(xié)議都是文件共享類型協(xié)議,但其實現(xiàn)機制不同。它們是常見的兩種應用協(xié)議類型,TFTP協(xié)議只規(guī)范了數(shù)據(jù)傳輸方式,而FTP協(xié)議提供了完備的用戶接口FTP命令,滿足實際應用。
《從實踐中學習TCP/IP協(xié)議》配套資源獲取方式
《從實踐中學習TCP/IP協(xié)議》涉及的相關工具讀者可以自行下載。下載途徑如下:
? 根據(jù)圖書中對應章節(jié)給出的網(wǎng)址自行下載;
? 加入技術討論QQ群(343867787)獲。
? 登錄華章公司網(wǎng)站,在該網(wǎng)站上搜索到《從實踐中學習TCP/IP協(xié)議》,然后單擊資料下載按鈕,即可在頁面上找到配書資源下載鏈接。
《從實踐中學習TCP/IP協(xié)議》內(nèi)容更新文檔獲取方式
為了讓《從實踐中學習TCP/IP協(xié)議》內(nèi)容緊跟技術的發(fā)展和軟件更新,我們會對書中的相關內(nèi)容進行不定期更新,并發(fā)布對應的電子文檔。需要的讀者可以加入QQ交流群獲取,也可以通過華章公司網(wǎng)站上的《從實踐中學習TCP/IP協(xié)議》配套資源鏈接下載。
《從實踐中學習TCP/IP協(xié)議》讀者對象
? 網(wǎng)絡應用程序開發(fā)人員;
? 滲透測試技術人員;
? 網(wǎng)絡安全和維護人員;
? 信息安全技術愛好者;
? 計算機安全技術自學者;
? 高校相關專業(yè)的學生;
? 專業(yè)培訓機構的學員。
《從實踐中學習TCP/IP協(xié)議》閱讀建議
? Kali Linux內(nèi)置了Wireshark和netwox工具,使用該系統(tǒng)的讀者可以跳過1.3節(jié)和1.4節(jié)中的安裝部分。
? 在學習階段中,建議多進行實際操作。使用netwox工具構建各種數(shù)據(jù)包,并使用Wireshark工具進行分析。只要大量練習,就能理解和掌握TCP/IP協(xié)議族的各種協(xié)議。
? 在實際應用中,常見的網(wǎng)絡協(xié)議有幾百種。《從實踐中學習TCP/IP協(xié)議》只講解最基礎的協(xié)議,讀者需要歸納總結不同協(xié)議的工作模式,然后拓展到其他常見協(xié)議中。
《從實踐中學習TCP/IP協(xié)議》作者
《從實踐中學習TCP/IP協(xié)議》由大學霸IT達人技術團隊編寫。感謝在《從實踐中學習TCP/IP協(xié)議》編寫和出版過程中給予我們大量幫助的各位編輯!
由于作者水平所限,加之寫作時間有限,書中可能還存在一些疏漏和不足之處,敬請各位讀者批評指正。
編著者
第1章 網(wǎng)絡概述 1
1.1 網(wǎng)絡組成 1
1.1.1 網(wǎng)卡 1
1.1.2 網(wǎng)絡電纜 3
1.1.3 網(wǎng)絡設備 4
1.2 網(wǎng)絡協(xié)議 5
1.2.1 什么是網(wǎng)絡協(xié)議 5
1.2.2 TCP/IP協(xié)議 5
1.2.3 OSI協(xié)議層次 6
1.2.4 TCP/IP協(xié)議層次結構 7
1.3 學習輔助工具網(wǎng)絡工具集netwox 7
1.3.1 下載及安裝 8
1.3.2 層次結構分析 9
1.3.3 使用搜索功能 12
1.3.4 使用模塊 12
1.4 學習輔助工具網(wǎng)絡分析工具Wireshark 14
1.4.1 下載及安裝 14
1.4.2 實施抓包 15
1.4.3 使用顯示過濾器 17
1.4.4 分析數(shù)據(jù)包層次結構 19
第2章 網(wǎng)絡訪問層 21
2.1 網(wǎng)絡訪問層的構成 21
2.1.1 物理層 21
2.1.2 數(shù)據(jù)鏈路層 22
2.2 網(wǎng)絡體系 22
2.2.1 體系的構成 22
2.2.2 類型 22
2.3 物理地址 23
2.3.1 MAC地址是預留的 23
2.3.2 MAC地址格式 23
2.3.3 查詢MAC廠商 23
2.3.4 查看網(wǎng)絡主機MAC地址信息 25
2.3.5 根據(jù)MAC地址獲取主機其他信息 26
2.4 以太網(wǎng) 26
2.4.1 以太網(wǎng)連接 27
2.4.2 以太幀結構 28
2.4.3 構建以太幀 29
2.4.4 以太幀洪水攻擊 30
2.5 網(wǎng)絡配置信息 31
2.5.1 顯示網(wǎng)絡配置信息 31
2.5.2 顯示網(wǎng)絡調(diào)試信息 33
第3章 網(wǎng)際層和IP協(xié)議 36
3.1 IP地址 36
3.1.1 為什么使用IP地址 36
3.1.2 IP地址構成 38
3.1.3 子網(wǎng)劃分 40
3.1.4 CIDR格式 40
3.2 IP協(xié)議 41
3.2.1 IP協(xié)議工作方式 42
3.2.2 IP協(xié)議包結構 42
3.3 構造IP數(shù)據(jù)包 44
3.3.1 構建IP數(shù)據(jù)包 44
3.3.2 基于Ethernet層構造IP數(shù)據(jù)包 46
3.3.3 利用分片實施洪水攻擊 47
第4章 ARP協(xié)議 49
4.1 ARP協(xié)議概述 49
4.1.1 為什么需要ARP協(xié)議 49
4.1.2 基本流程 49
4.1.3 ARP緩存 50
4.1.4 查看ARP緩存 51
4.2 ARP協(xié)議包結構 51
4.2.1 協(xié)議包的結構 52
4.2.2 構造ARP包 53
4.2.3 免費ARP包 55
4.3 基于ARP協(xié)議掃描 56
4.3.1 掃描單一主機 56
4.3.2 掃描多個主機 58
4.3.3 隱蔽掃描 59
4.3.4 偽造ARP響應 63
4.3.5 周期性發(fā)送ARP響應包 65
第5章 ICMP協(xié)議 67
5.1 ICMP協(xié)議概述 67
5.1.1 ICMP協(xié)議作用 67
5.1.2 ICMP報文結構 67
5.2 IMCP協(xié)議應用探測主機 69
5.2.1 使用ping命令 69
5.2.2 構造ICMP數(shù)據(jù)包 70
5.2.3 偽造ICMP數(shù)據(jù)包 72
5.2.4 構造連續(xù)的ICMP數(shù)據(jù)包 73
5.2.5 偽造連續(xù)的ICMP數(shù)據(jù)請求包 74
5.2.6 偽造ICMP數(shù)據(jù)包的IP層 75
5.2.7 偽造ICMP數(shù)據(jù)包的Ethernet層 77
5.3 IMCP協(xié)議應用路由跟蹤 79
5.3.1 使用traceroute命令 79
5.3.2 構造ICMP請求包進行路由跟蹤 81
5.3.3 偽造ICMP請求包進行路由跟蹤 83
5.4 IMCP協(xié)議其他應用 84
5.4.1 發(fā)送ICMP時間戳請求 84
5.4.2 偽造請求超時ICMP數(shù)據(jù)包 86
5.4.3 偽造目標不可達 88
5.4.4 偽造參數(shù)錯誤ICMP數(shù)據(jù)包 90
5.4.5 偽造源站抑制ICMP數(shù)據(jù)包 91
5.4.6 偽造重定向ICMP數(shù)據(jù)包 92
第6章 傳輸層和TCP協(xié)議 96
6.1 基礎知識 96
6.1.1 傳輸層的作用 96
6.1.2 面向連接和無連接 96
6.1.3 端口和套接字 97
6.1.4 多路復用和多路分解 100
6.2 TCP協(xié)議 100
6.2.1 TCP協(xié)議作用 100
6.2.2 TCP工作模式 100
6.2.3 TCP數(shù)據(jù)格式 105
6.3 TCP建立連接 107
6.3.1 第1次握手 107
6.3.2 第2次握手 108
6.3.3 第3次握手 109
6.3.4 分析握手過程中字段的變化 109
6.3.5 構造3次握手包 112
6.4 數(shù)據(jù)傳輸 116
6.4.1 數(shù)據(jù)分片 116
6.4.2 滑動窗口機制 117
6.4.3 數(shù)據(jù)重發(fā) 119
6.4.4 TCP流控制 121
6.5 TCP斷開連接 124
6.5.1 第1次揮手 124
6.5.2 第2次揮手 125
6.5.3 第3次揮手 125
6.5.4 第4次揮手 126
6.5.5 分析揮手過程字段的變化 127
6.6 TCP協(xié)議應用掃描主機 130
6.6.1 構造TCP Ping包實施掃描 130
6.6.2 偽造TCP Ping包實施掃描 131
6.7 TCP協(xié)議應用掃描TCP端口 132
6.7.1 構造TCP端口掃描包 132
6.7.2 偽造TCP掃描包 134
6.7.3 防御掃描 134
6.8 TCP協(xié)議應用探測防火墻 137
6.9 TCP協(xié)議應用跟蹤路由 142
6.9.1 構造TCP包進行路由跟蹤 142
6.9.2 偽造TCP包進行路由跟蹤 143
6.10 TCP協(xié)議應用檢測網(wǎng)絡性能 144
6.11 TCP協(xié)議應用干擾連接 145
6.11.1 重置會話 145
6.11.2 檢查盲注攻擊漏洞 147
第7章 UDP協(xié)議 149
7.1 UDP協(xié)議作用 149
7.2 UDP數(shù)據(jù)格式 149
7.2.1 UDP報文格式 149
7.2.2 分析UDP數(shù)據(jù)包 150
7.3 構造UDP包 152
7.3.1 基于IPv4偽造UDP包 152
7.3.2 基于Ethernet和IPv4偽造UDP數(shù)據(jù)包 154
7.4 UDP協(xié)議應用掃描主機和端口 156
7.4.1 掃描主機 156
7.4.2 掃描端口 159
7.5 UDP協(xié)議應用路由跟蹤 161
7.6 UDP協(xié)議應用網(wǎng)絡性能測試 163
第8章 DHCP協(xié)議 165
8.1 地址分配 165
8.1.1 靜態(tài)分配 165
8.1.2 動態(tài)分配 165
8.1.3 零配置 166
8.2 DHCP工作方式 166
8.2.1 發(fā)現(xiàn)階段(DHCP Discover) 167
8.2.2 提供階段(DHCP Offer) 167
8.2.3 選擇階段(DHCP Request) 167
8.2.4 確認階段(DHCP ACK) 168
8.2.5 IP續(xù)期 168
8.3 DHCP報文格式 169
8.3.1 DHCP Discover報文 170
8.3.2 DHCP Offer報文 173
8.3.3 DHCP Request報文 174
8.3.4 DHCP ACK報文 176
8.4 DHCP協(xié)議應用獲取IP地址 177
8.5 DHCP協(xié)議應用獲取DHCP服務器信息 182
第9章 DNS協(xié)議 185
9.1 域名 185
9.1.1 域名的作用 185
9.1.2 域名的結構 185
9.1.3 域名的分類 185
9.2 域名解析 186
9.2.1 DNS資源記錄 186
9.2.2 實施DNS查詢請求 187
9.2.3 域名解析流程 188
9.2.4 獲取Bind DNS服務器版本 190
9.3 DNS報文格式 190
9.3.1 基礎結構部分 190
9.3.2 問題部分 194
9.3.3 資源記錄部分 195
9.4 DNS協(xié)議應用偽造DNS服務器 199
9.5 DNS協(xié)議應用偽造DNS響應 200
第10章 Telnet協(xié)議 202
10.1 Telnet協(xié)議概述 202
10.1.1 Telnet協(xié)議的作用 202
10.1.2 工作流程 202
10.1.3 常用命令 203
10.2 使用Telnet服務 204
10.2.1 建立Telnet客戶端/服務 204
10.2.2 遠程登錄并執(zhí)行命令 205
10.3 Telnet協(xié)議包分析透明模式 205
10.3.1 TCP連接 206
10.3.2 Telnet協(xié)商 206
10.3.3 Telnet認證 208
10.3.4 命令交互 211
10.3.5 斷開連接 212
10.4 Telnet協(xié)議包分析行模式 213
10.5 暴力破解Telnet服務 218
第11章 SNMP協(xié)議 219
11.1 SNMP協(xié)議工作方式 219
11.1.1 SNMP協(xié)議概述 219
11.1.2 SNMP架構組成 220
11.1.3 工作原理 220
11.1.4 通信方式 221
11.1.5 操作類型 222
11.2 信息格式 223
11.2.1 對象標識符(OID) 223
11.2.2 對象下面的分組 224
11.2.3 數(shù)據(jù)類型(值類型) 224
11.3 報文分析和構建 225
11.3.1 報文格式 225
11.3.2 構建SNMP Get請求 227
11.3.3 構建SNMP Walk請求 229
11.3.4 構建SNMP Trap請求 231
11.3.5 構建SNMP Inform請求 233
11.3.6 構建SNMP Set請求 234
第12章 WHOIS協(xié)議 236
12.1 工作流程 236
12.2 獲取WHOIS服務器 237
12.2.1 常用WHOIS服務器 237
12.2.2 獲取WHOIS服務 238
12.3 獲取WHOIS信息 239
第13章 FTP協(xié)議 242
13.1 FTP協(xié)議概述 242
13.1.1 FTP服務構成 242
13.1.2 數(shù)據(jù)格式 243
13.2 FTP工作流程 243
13.2.1 建立連接階段 244
13.2.2 身份認證階段 244
13.2.3 命令交互階段 244
13.2.4 斷開連接階段 244
13.2.5 驗證工作流程 244
13.3 FTP命令及應答碼 246
13.4 FTP內(nèi)部命令 249
13.5 FTP基本使用 251
13.5.1 構建FTP服務器 251
13.5.2 下載文件及校驗 251
13.5.3 列出FTP服務器上目錄列表信息 252
13.5.4 下載文件 252
13.5.5 上傳文件 253
13.5.6 FTP刪除文件 253
13.5.7 下載目錄 254
13.5.8 上傳目錄 255
13.5.9 遞歸刪除目錄 255
13.6 暴力破解FTP服務 256
第14章 TFTP服務 258
14.1 TFTP協(xié)議概述 258
14.1.1 協(xié)議模式 258
14.1.2 報文類型 258
14.1.3 構建TFTP服務器 259
14.2 下載文件 259
14.2.1 工作流程 259
14.2.2 報文格式 260
14.2.3 構建RRQ包 261
14.3 上傳文件 265
14.3.1 工作流程 265
14.3.2 構建WRQ包 267