《Wireshark數(shù)據(jù)包分析實(shí)戰(zhàn)詳解》由淺入深,全面系統(tǒng)地介紹了Wireshark數(shù)據(jù)抓包和數(shù)據(jù)包分析。本書提供了大量實(shí)例,供讀者實(shí)戰(zhàn)演練Wireshark的各項(xiàng)功能。同時(shí),對抓取的數(shù)據(jù)包按照協(xié)議層次,逐層講解各個(gè)協(xié)議在數(shù)據(jù)包中的體現(xiàn)。這樣,讀者就可以掌握數(shù)據(jù)包抓取到信息獲取的每個(gè)環(huán)節(jié)。
《Wireshark數(shù)據(jù)包分析實(shí)戰(zhàn)詳解》共分3篇。第1篇介紹Wireshark的各項(xiàng)功能,包括基礎(chǔ)知識、Wireshark的定制、捕獲過濾器和顯示過濾器的使用、數(shù)據(jù)包的著色、導(dǎo)出和重組等;第2篇介紹基于Wireshark對TCP/IP協(xié)議族中常用協(xié)議的詳細(xì)分析,如ARP、IP、UDP、TCP、HTTP、HTTPS和FTP等;第3篇介紹借助Wireshark分析操作系統(tǒng)啟動過程中的網(wǎng)絡(luò)通信情況。
《Wireshark數(shù)據(jù)包分析實(shí)戰(zhàn)詳解》涉及面廣,內(nèi)容包括工具使用、網(wǎng)絡(luò)協(xié)議和應(yīng)用。本書適合各類讀者群體,如想全面學(xué)習(xí)Wireshark的初學(xué)者、網(wǎng)絡(luò)管理員、滲透測試人員及網(wǎng)絡(luò)安全專家等。對于網(wǎng)絡(luò)數(shù)據(jù)分析人士,本書更是一本不可多得的案頭必備參考書。
王曉卉,本科畢業(yè)于渤海大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè),碩士畢業(yè)于沈陽航空航天大學(xué)計(jì)算機(jī)技術(shù)專業(yè),F(xiàn)任營口職業(yè)技術(shù)學(xué)院計(jì)算機(jī)專業(yè)副教授。從事計(jì)算機(jī)教學(xué)與科研工作11年,專長于計(jì)算機(jī)網(wǎng)絡(luò)和軟件應(yīng)用。曾發(fā)表過省級以上的論文10余篇,主持和參與了多個(gè)省級項(xiàng)目的科研工作。
李亞偉,大學(xué)霸技術(shù)研究員。熟悉Apache、Tomcat、Oracle、MySQL、集群、RAC、SAN和容災(zāi)等各種IT業(yè)界中流行的系統(tǒng)集成技術(shù)。長期從事Linux和網(wǎng)絡(luò)安全最新技術(shù)的研究,以及Linux服務(wù)器維護(hù)工作,擁有多年的服務(wù)器維護(hù)經(jīng)驗(yàn)。曾經(jīng)參與過多本Linux圖書的編寫和技術(shù)測試。
第1篇 Wireshark應(yīng)用篇
第1章 Wireshark的基礎(chǔ)知識
1.1 Wireshark的功能
1.1.1 Wireshark主窗口界面
1.1.2 Wireshark的作用
1.2 安裝Wireshark
1.2.1 獲取Wireshark
1.2.2 安裝Wireshark
1.3 Wireshark捕獲數(shù)據(jù)
1.4 認(rèn)識數(shù)據(jù)包
1.5 捕獲HTTP包
1.6 訪問Wireshark資源
1.7 Wireshark快速入門
1.8 分析網(wǎng)絡(luò)數(shù)據(jù)
1.8.1 分析Web瀏覽數(shù)據(jù)
1.8.2 分析后臺數(shù)據(jù)
1.9 打開其他工具捕獲的文件
第2章 設(shè)置Wireshark視圖
2.1 設(shè)置Packet List面板列
2.1.1 添加列
2.1.2 隱藏、刪除、重新排序及編輯列
2.2 Wireshark分析器及Profile設(shè)置
2.2.1 Wireshark分析器
2.2.2 分析非標(biāo)準(zhǔn)端口號流量
2.2.3 設(shè)置Wireshark顯示的特定數(shù)據(jù)類型
2.2.4 使用Profile定制Wireshark
2.2.5 查找關(guān)鍵的Wireshark Profile
2.3 數(shù)據(jù)包時(shí)間延遲
2.3.1 時(shí)間延遲
2.3.2 檢查延遲問題
2.3.3 檢查時(shí)間差延遲問題
第3章 捕獲過濾器技巧
3.1 捕獲過濾器簡介
3.2 選擇捕獲位置
3.3 選擇捕獲接口
3.3.1 判斷哪個(gè)適配器上的數(shù)據(jù)
3.3.2 使用多適配器捕獲
3.4 捕獲以太網(wǎng)數(shù)據(jù)
3.5 捕獲無線數(shù)據(jù)
3.5.1 捕獲無線網(wǎng)絡(luò)數(shù)據(jù)的方式
3.5.2 使用AirPcap適配器
3.6 處理大數(shù)據(jù)
3.6.1 捕獲過濾器
3.6.2 捕獲文件集
3.7 處理隨機(jī)發(fā)生的問題
3.8 捕獲基于MAC/IP地址數(shù)據(jù)
3.8.1 捕獲單個(gè)IP地址數(shù)據(jù)
3.8.2 捕獲IP地址范圍
3.8.3 捕獲廣播或多播地址數(shù)據(jù)
3.8.4 捕獲MAC地址數(shù)據(jù)
3.9 捕獲端口應(yīng)用程序數(shù)據(jù)
3.9.1 捕獲所有端口號的數(shù)據(jù)
3.9.2 結(jié)合基于端口的捕獲過濾器
3.10 捕獲特定ICMP數(shù)據(jù)
第4章 顯示技巧
4.1 顯示過濾器簡介
4.2 使用顯示過濾器
4.2.1 顯示過濾器語法
4.2.2 檢查語法錯(cuò)誤
4.2.3 識別字段名
4.2.4 比較運(yùn)算符
4.2.5 表達(dá)式過濾器
4.2.6 使用自動補(bǔ)全功能
4.2.7 手動添加顯示列
4.3 編輯和使用默認(rèn)顯示過濾器
4.4 過濾顯示HTTP
4.5 過濾顯示DHCP
4.6 根據(jù)地址過濾顯示
4.6.1 顯示單個(gè)IP地址或主機(jī)數(shù)據(jù)
4.6.2 顯示一個(gè)地址范圍的數(shù)據(jù)
4.6.3 顯示一個(gè)子網(wǎng)IP的數(shù)據(jù)
4.7 過濾顯示單一的TCP/UDP會話
4.8 使用復(fù)雜表達(dá)式過濾
4.8.1 使用邏輯運(yùn)算符
4.8.2 使用括號
4.8.3 使用關(guān)鍵字
4.8.4 使用通配符
4.9 發(fā)現(xiàn)通信延遲
4.9.1 時(shí)間過濾器(frame.time_delta)
4.9.2 基于TCP的時(shí)間過濾(tcp.time_delta)
4.10 設(shè)置顯示過濾器按鈕
4.10.1 創(chuàng)建顯示過濾器表達(dá)式按鈕
4.10.2 編輯、添加、刪除顯示過濾器按鈕
4.10.3 編輯preferences文件
第5章 著色規(guī)則和數(shù)據(jù)包導(dǎo)出
5.1 認(rèn)識著色規(guī)則
5.2 禁用著色規(guī)則
5.2.1 禁用指定類型數(shù)據(jù)包彩色高亮
5.2.2 禁用所有包彩色高亮
5.3 創(chuàng)建用戶著色規(guī)則
5.3.1 創(chuàng)建時(shí)間差著色規(guī)則
5.3.2 快速查看FTP用戶名密碼著色規(guī)則
5.3.3 創(chuàng)建單個(gè)會話著色規(guī)則
5.4 導(dǎo)出數(shù)據(jù)包
5.4.1 導(dǎo)出顯示包
5.4.2 導(dǎo)出標(biāo)記包
5.4.3 導(dǎo)出包的詳細(xì)信息
第6章 構(gòu)建圖表
6.1 數(shù)據(jù)統(tǒng)計(jì)表
6.1.1 端點(diǎn)統(tǒng)計(jì)
6.1.2 網(wǎng)絡(luò)會話統(tǒng)計(jì)
6.1.3 快速過濾會話
6.1.4 地圖化顯示端點(diǎn)統(tǒng)計(jì)信息
6.2 協(xié)議分層統(tǒng)計(jì)
6.3 圖表化顯示帶寬使用情況
6.3.1 認(rèn)識IO Graph
6.3.2 應(yīng)用顯示過濾器
6.4 專家信息
6.5 構(gòu)建各種網(wǎng)絡(luò)錯(cuò)誤圖表
6.5.1 構(gòu)建所有TCP標(biāo)志位包
6.5.2 構(gòu)建單個(gè)TCP標(biāo)志位包
第7章 重組數(shù)據(jù)
7.1 重組Web會話
7.1.1 重組Web瀏覽會話
7.1.2 導(dǎo)出HTTP對象
7.2 重組FTP會話
7.2.1 重組FTP數(shù)據(jù)
7.2.2 提取FTP傳輸?shù)奈募?br />
第8章 添加注釋
8.1 捕獲文件注釋
8.2 包注釋
8.2.1 添加包注釋
8.2.2 查看包注釋
8.3 導(dǎo)出包注釋
8.3.1 使用Export Packet Dissections功能導(dǎo)出
8.3.2 使用復(fù)制功能導(dǎo)出包
第9章 捕獲、分割和合并數(shù)據(jù)
9.1 將大文件分割為文件集
9.1.1 添加Wireshark程序目錄到自己的位置
9.1.2 使用Capinfos獲取文件大小和包數(shù)
9.1.3 分割文件
9.2 合并多個(gè)捕獲文件
9.3 命令行捕獲數(shù)據(jù)
9.3.1 Dumpcap和Tshark工具
9.3.2 使用捕獲過濾器
9.3.3 使用顯示過濾器
9.4 導(dǎo)出字段值和統(tǒng)計(jì)信息
9.4.1 導(dǎo)出字段值
9.4.2 導(dǎo)出數(shù)據(jù)統(tǒng)計(jì)
第2篇 網(wǎng)絡(luò)協(xié)議分析篇
第10章 ARP協(xié)議抓包分析
10.1 ARP基礎(chǔ)知識
10.1.1 什么是ARP
10.1.2 ARP工作流程
10.1.3 ARP緩存表
10.2 捕獲ARP協(xié)議包
10.2.1 Wireshark位置
10.2.2 使用捕獲過濾器
10.3 分析ARP協(xié)議包
10.3.1 ARP報(bào)文格式
10.3.2 ARP請求包
10.3.3 ARP響應(yīng)包
第11章 互聯(lián)網(wǎng)協(xié)議(IP)抓包分析
11.1 互聯(lián)網(wǎng)協(xié)議(IP)概述
11.1.1 互聯(lián)網(wǎng)協(xié)議地址(IP地址)的由來
11.1.2 IP地址
11.1.3 IP地址的構(gòu)成
11.2 捕獲IP數(shù)據(jù)包
11.2.1 什么是IP數(shù)據(jù)報(bào)
11.2.2 Wireshark位置
11.2.3 捕獲IP數(shù)據(jù)包
11.2.4 捕獲IP分片數(shù)據(jù)包
11.3 IP數(shù)據(jù)報(bào)首部格式
11.3.1 存活時(shí)間TTL
11.3.2 IP分片
11.4 分析IP數(shù)據(jù)包
11.4.1 分析IP首部
11.4.2 分析IP數(shù)據(jù)包中TTL的變化
11.4.3 IP分片數(shù)據(jù)包分析
第12章 UDP協(xié)議抓包分析
12.1 UDP協(xié)議概述
12.1.1 什么是UDP協(xié)議
12.1.2 UDP協(xié)議的特點(diǎn)
12.2 捕獲UDP數(shù)據(jù)包
12.3 分析UDP數(shù)據(jù)包
12.3.1 UDP首部格式
12.3.2 分析UDP數(shù)據(jù)包
第13章 TCP協(xié)議抓包分析
13.1 TCP協(xié)議概述
13.1.1 TCP協(xié)議的由來
13.1.2 TCP端口
13.1.3 TCP三次握手
13.1.4 TCP四次斷開
13.1.5 TCP重置
13.2 捕獲TCP數(shù)據(jù)包
13.2.1 使用捕獲過濾器
13.2.2 使用顯示過濾器
13.2.3 使用著色規(guī)則
13.3 TCP數(shù)據(jù)包分析
13.3.1 TCP首部
13.3.2 分析TCP的三次握手
13.3.3 分析TCP的四次斷開
13.3.4 分析TCP重置數(shù)據(jù)包
第14章 ICMP協(xié)議抓包分析
14.1 ICMP協(xié)議概述
14.1.1 什么是ICMP協(xié)議
14.1.2 學(xué)習(xí)ICMP的重要性
14.1.3 Echo請求與響應(yīng)
14.1.4 路由跟蹤
14.2 捕獲ICMP協(xié)議包
14.2.1 捕獲正常ICMP數(shù)據(jù)包
14.2.2 捕獲請求超時(shí)的數(shù)據(jù)包
14.2.3 捕獲目標(biāo)主機(jī)不可達(dá)的數(shù)據(jù)包
14.3 分析ICMP數(shù)據(jù)包
14.3.1 ICMP首部
14.3.2 分析ICMP數(shù)據(jù)包——Echo Ping請求包
14.3.3 分析ICMP數(shù)據(jù)包——Echo Ping響應(yīng)包
14.3.4 分析ICMP數(shù)據(jù)包——請求超時(shí)數(shù)據(jù)包
14.3.5 分析ICMP數(shù)據(jù)包——目標(biāo)主機(jī)不可達(dá)的數(shù)據(jù)包
第15章 DHCP數(shù)據(jù)抓包分析
15.1 DHCP概述
15.1.1 什么是DHCP
15.1.2 DHCP的作用
15.1.3 DHCP工作流程
15.2 DHCP數(shù)據(jù)抓包
15.2.1 Wireshark位置
15.2.2 使用捕獲過濾器
15.2.3 過濾顯示DHCP
15.3 DHCP數(shù)據(jù)包分析
15.3.1 DHCP報(bào)文格式
15.3.2 DHCP報(bào)文類型
15.3.3 發(fā)現(xiàn)數(shù)據(jù)包
15.3.4 響應(yīng)數(shù)據(jù)包
15.3.5 請求數(shù)據(jù)包
15.3.6 確認(rèn)數(shù)據(jù)包
第16章 DNS抓包分析
16.1 DNS概述
16.1.1 什么是DNS
16.1.2 DNS的系統(tǒng)結(jié)構(gòu)
16.1.3 DNS系統(tǒng)解析過程
16.1.4 DNS問題類型
16.2 捕獲DNS數(shù)據(jù)包
16.3 分析DNS數(shù)據(jù)包
16.3.1 DNS報(bào)文格式
16.3.2 分析DNS數(shù)據(jù)包
第17章 HTTP協(xié)議抓包分析
17.1 HTTP協(xié)議概述
17.1.1 什么是HTTP
17.1.2 HTTP請求方法
17.1.3 HTTP工作流程
17.1.4 持久連接和非持久連接
17.2 捕獲HTTP數(shù)據(jù)包
17.2.1 使用捕獲過濾器
17.2.2 顯示過濾HTTP協(xié)議包
17.2.3 導(dǎo)出數(shù)據(jù)包
17.3 分析HTTP數(shù)據(jù)包
17.3.1 HTTP報(bào)文格式
17.3.2 HTTP的頭域
17.3.3 分析GET方法的HTTP數(shù)據(jù)包
17.3.4 分析POST方法的HTTP數(shù)據(jù)包
17.4 顯示捕獲文件的原始內(nèi)容
17.4.1 安裝Xplico
17.4.2 解析HTTP包
第18章 HTTPS協(xié)議抓包分析
18.1 HTTPS協(xié)議概述
18.1.1 什么是HTTPS協(xié)議
18.1.2 HTTP和HTTPS協(xié)議的區(qū)別
18.1.3 HTTPS工作流程
18.2 SSL概述
18.2.1 什么是SSL
18.2.2 SSL工作流程
18.2.3 SSL協(xié)議的握手過程
18.3 捕獲HTTPS數(shù)據(jù)包
18.3.1 使用捕獲過濾器
18.3.2 顯示過濾數(shù)據(jù)包
18.4 分析HTTPS數(shù)據(jù)包
18.4.1 客戶端發(fā)出請求(Client Hello)
18.4.2 服務(wù)器響應(yīng)(Server Hello)
18.4.3 證書信息
18.4.4 密鑰交換
18.4.5 應(yīng)用層信息通信
第19章 FTP協(xié)議抓包分析
19.1 FTP協(xié)議概述
19.1.1 什么是FTP協(xié)議
19.1.2 FTP的工作流程
19.1.3 FTP常用控制命令
19.1.4 應(yīng)答格式
19.2 捕獲FTP協(xié)議數(shù)據(jù)包
19.3 分析FTP協(xié)議數(shù)據(jù)包
19.3.1 分析控制連接的數(shù)據(jù)
19.3.2 分析數(shù)據(jù)連接的數(shù)據(jù)
第20章 電子郵件抓包分析
20.1 郵件系統(tǒng)工作原理
20.1.1 什么郵件客戶端
20.1.2 郵件系統(tǒng)的組成及傳輸過程
20.2 郵件相關(guān)協(xié)議概述
20.2.1 SMTP協(xié)議
20.2.2 POP協(xié)議
20.2.3 IMAP協(xié)議
20.3 捕獲電子郵件數(shù)據(jù)包
20.3.1 Wireshark捕獲位置
20.3.2 Foxmail郵件客戶端的使用
20.3.3 捕獲電子郵件數(shù)據(jù)包
20.4 分析發(fā)送郵件的數(shù)據(jù)包
20.4.1 分析SMTP工作流程
20.4.2 查看郵件內(nèi)容
20.5 分析接收郵件的數(shù)據(jù)包
20.5.1 分析POP工作流程
20.5.2 查看郵件內(nèi)容
第3篇 實(shí)戰(zhàn)篇
第21章 操作系統(tǒng)啟動過程抓包分析
21.1 操作系統(tǒng)概述
21.2 捕獲操作系統(tǒng)啟動過程產(chǎn)生的數(shù)據(jù)包
21.3 分析數(shù)據(jù)包
21.3.1 獲取IP地址
21.3.2 加入組播組
21.3.3 發(fā)送NBNS協(xié)議包
21.3.4 ARP協(xié)議包的產(chǎn)生
21.3.5 訪問共享資源
21.3.6 開機(jī)自動運(yùn)行的程序
第1章 Wireshark的基礎(chǔ)知識
Wireshark(前稱Ethereal)是一個(gè)網(wǎng)絡(luò)包分析工具。該工具主要是用來捕獲網(wǎng)絡(luò)包,并顯示包的詳細(xì)情況。本章將介紹Wireshark的基礎(chǔ)知識。
1.1 Wireshark的功能
在學(xué)習(xí)Wireshark之前,首先介紹一下它的功能。了解它的功能,可以幫助用戶明確借助該工具能完成哪些工作。本節(jié)將介紹Wireshark的基本功能。
1.1.1 Wireshark主窗口界面
在學(xué)習(xí)使用Wireshark之前,首先需要了解該工具主窗口界面中每部分的作用。Wireshark主窗口界面如圖1.1所示。
圖1.1 Wireshark主窗口界面
在圖1.1中,以編號的形式已將Wireshark主窗口每部分標(biāo)出。下面分別介紹每部分的含義,如下所示。
、 標(biāo)題欄——用于顯示文件名稱、捕獲的設(shè)備名稱和Wireshark版本號。
、 菜單欄——Wireshark的標(biāo)準(zhǔn)菜單欄。
、 工具欄——常用功能快捷圖標(biāo)按鈕。
④ 顯示過濾區(qū)域——減少查看數(shù)據(jù)的復(fù)雜度。
⑤ Packet List面板——顯示每個(gè)數(shù)據(jù)幀的摘要。
、 Packet Details面板——分析封包的詳細(xì)信息。
、 Packet Bytes面板——以十六進(jìn)制和ASCII格式顯示數(shù)據(jù)包的細(xì)節(jié)。
、 狀態(tài)欄——專家信息、注釋、包數(shù)和Profile。
1.1.2 Wireshark的作用
Wireshark是一個(gè)廣受歡迎的網(wǎng)絡(luò)數(shù)據(jù)包分析軟件。網(wǎng)絡(luò)數(shù)據(jù)包分析軟件的功能是截取網(wǎng)絡(luò)數(shù)據(jù)包,并盡可能顯示出最為詳細(xì)的網(wǎng)絡(luò)數(shù)據(jù)包數(shù)據(jù)。它是一個(gè)最知名的開源應(yīng)用程序安全工具。Wireshark可以運(yùn)行在Windows、MAC OS X、Linux和UNIX操作系統(tǒng)上,它甚至可以作為一個(gè)Portable App運(yùn)行。本小節(jié)將介紹Wireshark的常用功能。使用Wireshark可以快速分析一些任務(wù),如下所示。
1. 一般分析任務(wù)
找出在一個(gè)網(wǎng)絡(luò)內(nèi)發(fā)送數(shù)據(jù)包最多的主機(jī)。
查看網(wǎng)絡(luò)通信。
查看某個(gè)主機(jī)使用了哪些程序。
基本正常的網(wǎng)絡(luò)通信。
驗(yàn)證特有的網(wǎng)絡(luò)操作。
了解嘗試連接無線網(wǎng)絡(luò)的用戶。
同時(shí)捕獲多個(gè)網(wǎng)絡(luò)的數(shù)據(jù)。
實(shí)施無人值守?cái)?shù)據(jù)捕獲。
捕獲并分析到/來自一個(gè)特定主機(jī)或子網(wǎng)的數(shù)據(jù)。
通過FTP或HTTP查看和重新配置文件傳輸。
從其他捕獲工具導(dǎo)入跟蹤文件。
使用最少的資源捕獲數(shù)據(jù)。
2. 故障任務(wù)
為故障創(chuàng)建一個(gè)自定義的分析環(huán)境。
確定路徑、客戶端和服務(wù)延遲。
確定TCP問題。
檢查HTTP代理問題。
檢查應(yīng)用程序錯(cuò)誤響應(yīng)。
通過查看圖形顯示的結(jié)果,找出相關(guān)的網(wǎng)絡(luò)問題。
確定重載的緩沖區(qū)。
比較緩慢的通信到正常通信的一個(gè)基準(zhǔn)。
找出重復(fù)的IP地址。
確定DHCP服務(wù)或網(wǎng)絡(luò)代理問題。
確定WLAN信號強(qiáng)度問題。
檢測WLAN連接的次數(shù)。
檢查各種網(wǎng)絡(luò)配置錯(cuò)誤。
確定應(yīng)用程序正在加載一個(gè)網(wǎng)絡(luò)片段。
3. 安全分析(網(wǎng)絡(luò)取證)任務(wù)
為網(wǎng)絡(luò)取證創(chuàng)建一個(gè)自定義分析環(huán)境。
檢查使用非標(biāo)準(zhǔn)端口的應(yīng)用程序。
確定到/來自可疑主機(jī)的數(shù)據(jù)。
查看哪臺主機(jī)正在嘗試獲取一個(gè)IP地址。
確定phone home數(shù)據(jù)。
確定網(wǎng)絡(luò)偵查過程。
全球定位和映射遠(yuǎn)程目標(biāo)地址。
檢查可疑數(shù)據(jù)重定向。
檢查單個(gè)TCP或UDP客戶端和服務(wù)器之間的會話。
檢查到惡意畸形的幀。
在網(wǎng)絡(luò)數(shù)據(jù)中找出攻擊簽名的關(guān)鍵因素。
4. 應(yīng)用程序分析任務(wù)
了解應(yīng)用程序和協(xié)議如何工作。
了解圖形應(yīng)用程序的帶寬使用情況。
確定是否將支持應(yīng)用程序的鏈接。
更新/升級后檢查應(yīng)用程序性能。
從一個(gè)新安裝的應(yīng)用程序中檢查錯(cuò)誤響應(yīng)。
確定哪個(gè)用戶正在運(yùn)行一個(gè)特定的應(yīng)用程序。
檢查應(yīng)用程序如何使用傳輸協(xié)議,如TCP或UDP。
……