《Wireshark數(shù)據(jù)包分析實戰(zhàn)詳解》由淺入深,全面系統(tǒng)地介紹了Wireshark數(shù)據(jù)抓包和數(shù)據(jù)包分析。本書提供了大量實例,供讀者實戰(zhàn)演練Wireshark的各項功能。同時,對抓取的數(shù)據(jù)包按照協(xié)議層次,逐層講解各個協(xié)議在數(shù)據(jù)包中的體現(xiàn)。這樣,讀者就可以掌握數(shù)據(jù)包抓取到信息獲取的每個環(huán)節(jié)。
《Wireshark數(shù)據(jù)包分析實戰(zhàn)詳解》共分3篇。第1篇介紹Wireshark的各項功能,包括基礎(chǔ)知識、Wireshark的定制、捕獲過濾器和顯示過濾器的使用、數(shù)據(jù)包的著色、導出和重組等;第2篇介紹基于Wireshark對TCP/IP協(xié)議族中常用協(xié)議的詳細分析,如ARP、IP、UDP、TCP、HTTP、HTTPS和FTP等;第3篇介紹借助Wireshark分析操作系統(tǒng)啟動過程中的網(wǎng)絡(luò)通信情況。
《Wireshark數(shù)據(jù)包分析實戰(zhàn)詳解》涉及面廣,內(nèi)容包括工具使用、網(wǎng)絡(luò)協(xié)議和應(yīng)用。本書適合各類讀者群體,如想全面學習Wireshark的初學者、網(wǎng)絡(luò)管理員、滲透測試人員及網(wǎng)絡(luò)安全專家等。對于網(wǎng)絡(luò)數(shù)據(jù)分析人士,本書更是一本不可多得的案頭必備參考書。
王曉卉,本科畢業(yè)于渤海大學計算機科學與技術(shù)專業(yè),碩士畢業(yè)于沈陽航空航天大學計算機技術(shù)專業(yè),F(xiàn)任營口職業(yè)技術(shù)學院計算機專業(yè)副教授。從事計算機教學與科研工作11年,專長于計算機網(wǎng)絡(luò)和軟件應(yīng)用。曾發(fā)表過省級以上的論文10余篇,主持和參與了多個省級項目的科研工作。
李亞偉,大學霸技術(shù)研究員。熟悉Apache、Tomcat、Oracle、MySQL、集群、RAC、SAN和容災等各種IT業(yè)界中流行的系統(tǒng)集成技術(shù)。長期從事Linux和網(wǎng)絡(luò)安全最新技術(shù)的研究,以及Linux服務(wù)器維護工作,擁有多年的服務(wù)器維護經(jīng)驗。曾經(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 認識數(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 分析非標準端口號流量
2.2.3 設(shè)置Wireshark顯示的特定數(shù)據(jù)類型
2.2.4 使用Profile定制Wireshark
2.2.5 查找關(guān)鍵的Wireshark Profile
2.3 數(shù)據(jù)包時間延遲
2.3.1 時間延遲
2.3.2 檢查延遲問題
2.3.3 檢查時間差延遲問題
第3章 捕獲過濾器技巧
3.1 捕獲過濾器簡介
3.2 選擇捕獲位置
3.3 選擇捕獲接口
3.3.1 判斷哪個適配器上的數(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 處理隨機發(fā)生的問題
3.8 捕獲基于MAC/IP地址數(shù)據(jù)
3.8.1 捕獲單個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 檢查語法錯誤
4.2.3 識別字段名
4.2.4 比較運算符
4.2.5 表達式過濾器
4.2.6 使用自動補全功能
4.2.7 手動添加顯示列
4.3 編輯和使用默認顯示過濾器
4.4 過濾顯示HTTP
4.5 過濾顯示DHCP
4.6 根據(jù)地址過濾顯示
4.6.1 顯示單個IP地址或主機數(shù)據(jù)
4.6.2 顯示一個地址范圍的數(shù)據(jù)
4.6.3 顯示一個子網(wǎng)IP的數(shù)據(jù)
4.7 過濾顯示單一的TCP/UDP會話
4.8 使用復雜表達式過濾
4.8.1 使用邏輯運算符
4.8.2 使用括號
4.8.3 使用關(guān)鍵字
4.8.4 使用通配符
4.9 發(fā)現(xiàn)通信延遲
4.9.1 時間過濾器(frame.time_delta)
4.9.2 基于TCP的時間過濾(tcp.time_delta)
4.10 設(shè)置顯示過濾器按鈕
4.10.1 創(chuàng)建顯示過濾器表達式按鈕
4.10.2 編輯、添加、刪除顯示過濾器按鈕
4.10.3 編輯preferences文件
第5章 著色規(guī)則和數(shù)據(jù)包導出
5.1 認識著色規(guī)則
5.2 禁用著色規(guī)則
5.2.1 禁用指定類型數(shù)據(jù)包彩色高亮
5.2.2 禁用所有包彩色高亮
5.3 創(chuàng)建用戶著色規(guī)則
5.3.1 創(chuàng)建時間差著色規(guī)則
5.3.2 快速查看FTP用戶名密碼著色規(guī)則
5.3.3 創(chuàng)建單個會話著色規(guī)則
5.4 導出數(shù)據(jù)包
5.4.1 導出顯示包
5.4.2 導出標記包
5.4.3 導出包的詳細信息
第6章 構(gòu)建圖表
6.1 數(shù)據(jù)統(tǒng)計表
6.1.1 端點統(tǒng)計
6.1.2 網(wǎng)絡(luò)會話統(tǒng)計
6.1.3 快速過濾會話
6.1.4 地圖化顯示端點統(tǒng)計信息
6.2 協(xié)議分層統(tǒng)計
6.3 圖表化顯示帶寬使用情況
6.3.1 認識IO Graph
6.3.2 應(yīng)用顯示過濾器
6.4 專家信息
6.5 構(gòu)建各種網(wǎng)絡(luò)錯誤圖表
6.5.1 構(gòu)建所有TCP標志位包
6.5.2 構(gòu)建單個TCP標志位包
第7章 重組數(shù)據(jù)
7.1 重組Web會話
7.1.1 重組Web瀏覽會話
7.1.2 導出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 導出包注釋
8.3.1 使用Export Packet Dissections功能導出
8.3.2 使用復制功能導出包
第9章 捕獲、分割和合并數(shù)據(jù)
9.1 將大文件分割為文件集
9.1.1 添加Wireshark程序目錄到自己的位置
9.1.2 使用Capinfos獲取文件大小和包數(shù)
9.1.3 分割文件
9.2 合并多個捕獲文件
9.3 命令行捕獲數(shù)據(jù)
9.3.1 Dumpcap和Tshark工具
9.3.2 使用捕獲過濾器
9.3.3 使用顯示過濾器
9.4 導出字段值和統(tǒng)計信息
9.4.1 導出字段值
9.4.2 導出數(shù)據(jù)統(tǒng)計
第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報文格式
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ù)報
11.2.2 Wireshark位置
11.2.3 捕獲IP數(shù)據(jù)包
11.2.4 捕獲IP分片數(shù)據(jù)包
11.3 IP數(shù)據(jù)報首部格式
11.3.1 存活時間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é)議的特點
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 學習ICMP的重要性
14.1.3 Echo請求與響應(yīng)
14.1.4 路由跟蹤
14.2 捕獲ICMP協(xié)議包
14.2.1 捕獲正常ICMP數(shù)據(jù)包
14.2.2 捕獲請求超時的數(shù)據(jù)包
14.2.3 捕獲目標主機不可達的數(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ù)據(jù)包
14.3.5 分析ICMP數(shù)據(jù)包——目標主機不可達的數(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報文格式
15.3.2 DHCP報文類型
15.3.3 發(fā)現(xiàn)數(shù)據(jù)包
15.3.4 響應(yīng)數(shù)據(jù)包
15.3.5 請求數(shù)據(jù)包
15.3.6 確認數(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報文格式
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 導出數(shù)據(jù)包
17.3 分析HTTP數(shù)據(jù)包
17.3.1 HTTP報文格式
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篇 實戰(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 開機自動運行的程序
第1章 Wireshark的基礎(chǔ)知識
Wireshark(前稱Ethereal)是一個網(wǎng)絡(luò)包分析工具。該工具主要是用來捕獲網(wǎng)絡(luò)包,并顯示包的詳細情況。本章將介紹Wireshark的基礎(chǔ)知識。
1.1 Wireshark的功能
在學習Wireshark之前,首先介紹一下它的功能。了解它的功能,可以幫助用戶明確借助該工具能完成哪些工作。本節(jié)將介紹Wireshark的基本功能。
1.1.1 Wireshark主窗口界面
在學習使用Wireshark之前,首先需要了解該工具主窗口界面中每部分的作用。Wireshark主窗口界面如圖1.1所示。
圖1.1 Wireshark主窗口界面
在圖1.1中,以編號的形式已將Wireshark主窗口每部分標出。下面分別介紹每部分的含義,如下所示。
、 標題欄——用于顯示文件名稱、捕獲的設(shè)備名稱和Wireshark版本號。
、 菜單欄——Wireshark的標準菜單欄。
③ 工具欄——常用功能快捷圖標按鈕。
、 顯示過濾區(qū)域——減少查看數(shù)據(jù)的復雜度。
、 Packet List面板——顯示每個數(shù)據(jù)幀的摘要。
⑥ Packet Details面板——分析封包的詳細信息。
、 Packet Bytes面板——以十六進制和ASCII格式顯示數(shù)據(jù)包的細節(jié)。
、 狀態(tài)欄——專家信息、注釋、包數(shù)和Profile。
1.1.2 Wireshark的作用
Wireshark是一個廣受歡迎的網(wǎng)絡(luò)數(shù)據(jù)包分析軟件。網(wǎng)絡(luò)數(shù)據(jù)包分析軟件的功能是截取網(wǎng)絡(luò)數(shù)據(jù)包,并盡可能顯示出最為詳細的網(wǎng)絡(luò)數(shù)據(jù)包數(shù)據(jù)。它是一個最知名的開源應(yīng)用程序安全工具。Wireshark可以運行在Windows、MAC OS X、Linux和UNIX操作系統(tǒng)上,它甚至可以作為一個Portable App運行。本小節(jié)將介紹Wireshark的常用功能。使用Wireshark可以快速分析一些任務(wù),如下所示。
1. 一般分析任務(wù)
找出在一個網(wǎng)絡(luò)內(nèi)發(fā)送數(shù)據(jù)包最多的主機。
查看網(wǎng)絡(luò)通信。
查看某個主機使用了哪些程序。
基本正常的網(wǎng)絡(luò)通信。
驗證特有的網(wǎng)絡(luò)操作。
了解嘗試連接無線網(wǎng)絡(luò)的用戶。
同時捕獲多個網(wǎng)絡(luò)的數(shù)據(jù)。
實施無人值守數(shù)據(jù)捕獲。
捕獲并分析到/來自一個特定主機或子網(wǎng)的數(shù)據(jù)。
通過FTP或HTTP查看和重新配置文件傳輸。
從其他捕獲工具導入跟蹤文件。
使用最少的資源捕獲數(shù)據(jù)。
2. 故障任務(wù)
為故障創(chuàng)建一個自定義的分析環(huán)境。
確定路徑、客戶端和服務(wù)延遲。
確定TCP問題。
檢查HTTP代理問題。
檢查應(yīng)用程序錯誤響應(yīng)。
通過查看圖形顯示的結(jié)果,找出相關(guān)的網(wǎng)絡(luò)問題。
確定重載的緩沖區(qū)。
比較緩慢的通信到正常通信的一個基準。
找出重復的IP地址。
確定DHCP服務(wù)或網(wǎng)絡(luò)代理問題。
確定WLAN信號強度問題。
檢測WLAN連接的次數(shù)。
檢查各種網(wǎng)絡(luò)配置錯誤。
確定應(yīng)用程序正在加載一個網(wǎng)絡(luò)片段。
3. 安全分析(網(wǎng)絡(luò)取證)任務(wù)
為網(wǎng)絡(luò)取證創(chuàng)建一個自定義分析環(huán)境。
檢查使用非標準端口的應(yīng)用程序。
確定到/來自可疑主機的數(shù)據(jù)。
查看哪臺主機正在嘗試獲取一個IP地址。
確定phone home數(shù)據(jù)。
確定網(wǎng)絡(luò)偵查過程。
全球定位和映射遠程目標地址。
檢查可疑數(shù)據(jù)重定向。
檢查單個TCP或UDP客戶端和服務(wù)器之間的會話。
檢查到惡意畸形的幀。
在網(wǎng)絡(luò)數(shù)據(jù)中找出攻擊簽名的關(guān)鍵因素。
4. 應(yīng)用程序分析任務(wù)
了解應(yīng)用程序和協(xié)議如何工作。
了解圖形應(yīng)用程序的帶寬使用情況。
確定是否將支持應(yīng)用程序的鏈接。
更新/升級后檢查應(yīng)用程序性能。
從一個新安裝的應(yīng)用程序中檢查錯誤響應(yīng)。
確定哪個用戶正在運行一個特定的應(yīng)用程序。
檢查應(yīng)用程序如何使用傳輸協(xié)議,如TCP或UDP。
……