---
title: Wireshark常用搜尋命令與滲透分析指南
description: 詳細介紹Wireshark中的常用搜尋命令與過濾技巧,尤其是在分析網絡入侵和惡意流量時的應用
image: https://www.wireshark.org/assets/theme-2015/images/wireshark_logo.png
tags: wireshark, 網絡安全, 滲透測試, 封包分析, 資安
robots: index, follow
lang: zh-tw
---
# Wireshark常用搜尋命令與滲透分析指南 :mag_right: :shield:
Wireshark是一款功能強大的網絡封包分析工具,在網絡安全領域被廣泛應用於滲透測試、攻擊分析和事件響應。本文將詳細介紹Wireshark中的常用搜尋命令,特別是在分析可能的網絡入侵和惡意流量時的應用場景。
[TOC]
## 目錄
1. [基本操作與界面介紹](#基本操作與界面介紹)
2. [常用顯示過濾器命令](#常用顯示過濾器命令)
3. [網絡滲透分析場景](#網絡滲透分析場景)
4. [惡意流量識別技巧](#惡意流量識別技巧)
5. [隱蔽通道與C2通信檢測](#隱蔽通道與C2通信檢測)
6. [常見攻擊模式分析](#常見攻擊模式分析)
7. [實戰案例](#實戰案例)
8. [進階技巧與自動化分析](#進階技巧與自動化分析)
## 基本操作與界面介紹 :desktop_computer:
Wireshark的界面主要分為以下幾個部分:
1. **顯示過濾器(Display Filter)** - 用於設置過濾條件進行數據包列表過濾,位於工具欄下方。
2. **數據包列表(Packet List Pane)** - 顯示捕獲的所有數據包,每行代表一個數據包。
3. **數據包詳細信息(Packet Details Pane)** - 顯示當前選定數據包的詳細協議信息。
4. **數據包字節視圖(Packet Bytes Pane)** - 以十六進制和ASCII格式顯示數據包的原始內容。
:::info
:bulb: **小提示:** Wireshark 介面可以透過 View 選單自定義,根據分析需求調整各面板大小或顯示/隱藏特定面板。
:::

### 搜尋功能 :key:
Wireshark具備強大的搜尋功能,可以通過以下方式快速定位重要信息:
- **快捷鍵 Ctrl+F** - 彈出搜尋對話框,支持多種搜尋模式:
- **Display Filter** - 使用顯示過濾器語法搜尋
- **Hex Value** - 搜尋十六進制字節值
- **String** - 字符串搜尋
- **Packet list** - 搜尋數據包列表中的內容
- **Packet details** - 搜尋數據包詳細信息
- **Packet bytes** - 搜尋數據包原始字節
:::warning
:zap: **注意:** 搜尋大型捕獲文件時可能需要較長時間,建議先使用顯示過濾器縮小搜尋範圍,再進行具體搜尋。
:::
## 常用顯示過濾器命令 :wrench:
在分析疑似網絡滲透的流量時,以下過濾器命令將非常有用:
### IP地址過濾
```wireshark
# 過濾特定IP
ip.addr == x.x.x.x # 源或目標IP為指定地址
ip.src == x.x.x.x # 源IP為指定地址
ip.dst == x.x.x.x # 目標IP為指定地址
# 排除特定IP
!(ip.addr == x.x.x.x) # 排除指定IP
# 過濾IP範圍
ip.addr >= 192.168.1.1 and ip.addr <= 192.168.1.10
```
### 協議過濾
```wireshark
# 基本協議過濾
http # HTTP協議
https # HTTPS協議
dns # DNS協議
tcp # TCP協議
udp # UDP協議
icmp # ICMP協議
arp # ARP協議
ssl # SSL/TLS協議
# 協議組合
http or dns # HTTP或DNS流量
```
### 端口過濾
```wireshark
# 端口過濾
tcp.port == 80 # TCP端口80(HTTP)
tcp.port == 443 # TCP端口443(HTTPS)
tcp.port == 22 # TCP端口22(SSH)
tcp.port == 21 # TCP端口21(FTP)
udp.port == 53 # UDP端口53(DNS)
tcp.port == 4444 # 常見的反向shell端口
# 非標準端口(可能是後門)
!(tcp.port in {80 443 20 21 22 25 110 143 993 995 3389}) and tcp.flags.syn == 1
```
### 組合過濾
```wireshark
# IP與端口組合
ip.addr == x.x.x.x && tcp.port == 80
tcp.port == 80 || udp.port == 53
# 複雜邏輯
(ip.src == x.x.x.x and tcp.dstport == 80) or (ip.dst == x.x.x.x and tcp.srcport == 80)
```
:::success
:tada: **技巧:** 在 Wireshark 顯示過濾器欄位中輸入時,語法正確的過濾條件背景會變成綠色,有語法錯誤則會變成紅色。
:::
## 網絡滲透分析場景
在分析可能的網絡滲透案例時,以下場景與過濾器命令組合尤為重要:
### 1. 掃描活動檢測
```wireshark
# 端口掃描(大量SYN包)
tcp.flags.syn == 1 and tcp.flags.ack == 0
# 主機發送大量SYN包(可能是掃描器)
tcp.flags.syn == 1 and tcp.flags.ack == 0 and ip.src == x.x.x.x
# ICMP掃描
icmp.type == 8 # ICMP Echo請求(Ping掃描)
```
#### 掃描活動檢測示意圖
```sequence
攻擊者->目標主機A: SYN (端口 80)
攻擊者->目標主機A: SYN (端口 443)
攻擊者->目標主機A: SYN (端口 22)
攻擊者->目標主機B: SYN (端口 80)
攻擊者->目標主機B: SYN (端口 443)
Note right of 目標主機B: 典型端口掃描模式
```
### 2. 暴力破解檢測
```wireshark
# SSH暴力破解
tcp.port == 22 and tcp.flags.syn == 1
# HTTP基本認證(登錄嘗試)
http.authbasic
# HTTP POST登錄嘗試
http.request.method == "POST" and http.request.uri contains "login"
```
:::danger
:fire: **重要警示:** 在實際環境中,暴力破解攻擊常常會在短時間內產生大量失敗的認證嘗試,應設置閾值監控異常認證行為。
:::
### 3. 漏洞利用檢測
```wireshark
# SQL注入嘗試
http.request.uri contains "'" or http.request.uri contains "%27"
http.request.uri contains "union select" or http.request.uri contains "UNION SELECT"
# 命令注入嘗試
http.request.uri contains ";" or http.request.uri contains "|" or http.request.uri contains "`"
# XSS嘗試
http.request.uri contains "<script>" or http.request.uri contains "%3Cscript%3E"
```
## 惡意流量識別技巧 :mag:
當系統已經被滲透時,以下過濾技巧可幫助識別惡意流量:
### 1. 數據外洩檢測
```wireshark
# 敏感數據檢測(例如信用卡號)
frame contains "4[0-9]{15}" or frame contains "5[1-5][0-9]{14}" # 信用卡號格式
# 大量數據傳輸(可能是數據外洩)
tcp.len > 1000 and ip.dst == x.x.x.x
```
### 2. 異常連接檢測
```wireshark
# 非標準或罕見端口通信
tcp.port not in {80 443 22 25 110 143 53 123 20 21} and tcp.flags.syn == 1
# 持續時間異常長的連接
tcp.time_delta > 300 # 持續超過5分鐘的TCP連接
```
### 3. 流量統計與分析
Wireshark提供多種統計工具,有助於識別異常流量:
- **Conversations** - 統計所有通信IP地址對,分析路徑:Statistics → Conversations
- **Protocol Hierarchy** - 檢查協議分布,分析路徑:Statistics → Protocol Hierarchy
- **I/O Graph** - 流量時間分布圖,可識別異常流量峰值,分析路徑:Statistics → I/O Graph
:::info
:chart_with_upwards_trend: **分析提示:** 在 I/O Graph 中,可以添加多個過濾條件並以不同顏色顯示,以便比較不同類型流量的時間分布特徵。
:::
## 隱蔽通道與C2通信檢測 :eye:
攻擊者通常使用隱蔽通道維持對被入侵系統的控制,以下過濾器命令可幫助發現這些隱蔽通道:
### 1. DNS隧道檢測
DNS隧道是最常見的隱蔽通道之一,攻擊者利用DNS請求和響應傳輸數據。
```wireshark
# 長度異常的DNS查詢
dns.qry.name.len > 50
# 高熵(隨機性)的DNS查詢名
dns.qry.name contains "base64" or dns.qry.name contains "enc"
# 子域名過多或異常的DNS查詢
dns.qry.name matches ".*\..*\..*\..*\..*\..*\..*"
# TXT記錄請求(常用於數據外洩)
dns.qry.type == 16 # TXT記錄類型
```
#### DNS隧道檢測流程圖
```flow
st=>start: 捕獲DNS流量
op1=>operation: 過濾長度超過50的查詢
op2=>operation: 檢查高熵值或隨機性域名
cond=>condition: 是否有異常?
op3=>operation: 深入分析可疑DNS流量
e=>end: 完成分析
st->op1->op2->cond
cond(yes)->op3->e
cond(no)->e
```
### 2. ICMP隧道檢測
```wireshark
# 異常大小的ICMP數據包
icmp.type == 8 and frame.len > 100
# ICMP Echo請求中包含異常數據
icmp.type == 8 and data.data contains "cmd"
```
### 3. HTTP/HTTPS隱蔽通道
```wireshark
# 異常的User-Agent
http.user_agent contains "Python" or http.user_agent contains "curl" or http.user_agent contains "wget"
# 非標準HTTP請求頻率
http.request and !(http.request.uri contains ".jpg" or http.request.uri contains ".png" or http.request.uri contains ".css" or http.request.uri contains ".js")
# 檢測可疑Beaconing行為(規律性請求)
http.request.method == "GET" and http.request.uri matches ".*\?id=.*"
```
:::warning
:zap: **C2檢測要點:** 命令與控制(C2)通信通常具有定期的通信模式(beaconing),監控具有規律時間間隔的網絡請求尤為重要。
:::
## 常見攻擊模式分析 :bookmark_tabs:
### 1. 橫向移動檢測
當攻擊者在網絡中橫向移動時,可能會留下以下痕跡:
```wireshark
# SMB連接(常用於內網橫向移動)
smb or smb2
# RDP連接
tcp.port == 3389
# PowerShell遠程執行
http.request.uri contains "powershell"
```
### 2. 數據抹除與反取證操作
```wireshark
# 大量刪除操作
smb2.cmd == 16 # SMB删除文件命令
```
### 3. Webshell活動
```wireshark
# 可疑文件上傳
http.request.method == "POST" and (http.request.uri contains ".php" or http.request.uri contains ".jsp" or http.request.uri contains ".asp")
# 可疑命令執行
http.request.uri contains "cmd" or http.request.uri contains "exec" or http.request.uri contains "system"
```
## 實戰案例 :computer:
### 案例1: 檢測網絡掃描和初始入侵
在一個實際案例中,安全團隊使用Wireshark分析流量,發現了以下可疑活動:
1. 首先使用以下過濾器發現掃描活動:
```wireshark
tcp.flags.syn == 1 and tcp.flags.ack == 0 and ip.src == 10.10.10.15
```
2. 然後發現對Web伺服器的漏洞利用嘗試:
```wireshark
http.request.method == "GET" and http.request.uri contains "wp-content/plugins"
```
3. 最後檢測到成功的漏洞利用和Webshell上傳:
```wireshark
http.request.method == "POST" and http.request.uri contains "upload.php"
```
:::spoiler 案例1分析詳情
在這個案例中,攻擊者首先進行了網絡掃描尋找目標系統,利用WordPress插件漏洞進行了初始入侵,最終上傳了Webshell獲取持久訪問權限。這是典型的攻擊鏈模式,從掃描、漏洞利用到權限維持。
通過 Follow TCP Stream 功能,分析師可以看到完整的攻擊過程,包括漏洞利用代碼和上傳的Webshell內容。
:::
### 案例2: 檢測數據外洩
在另一個案例中,分析師使用以下過濾器檢測可能的數據外洩:
1. 首先查看與可疑外部IP的所有通信:
```wireshark
ip.addr == 203.0.113.25
```
2. 檢查是否存在大量數據傳輸:
```wireshark
ip.dst == 203.0.113.25 and tcp.len > 1000
```
3. 使用Follow TCP Stream功能分析通信內容,發現加密的敏感數據正被傳輸到外部服務器。
## 進階技巧與自動化分析 :gear:
### 1. 使用tshark進行大規模分析
Wireshark的命令行版本tshark能夠處理大型PCAP文件,並支持脚本化分析:
```bash
# 提取所有HTTP請求
tshark -r capture.pcap -Y "http.request" -T fields -e http.host -e http.request.uri
# 提取所有DNS查詢
tshark -r capture.pcap -Y "dns.qry.name" -T fields -e dns.qry.name
# 檢測SSH暴力破解
tshark -r capture.pcap -Y "tcp.port==22 and tcp.flags.syn==1" -T fields -e ip.src | sort | uniq -c | sort -nr
```
### 2. 使用Display Filter Expression按鈕
Wireshark提供了一個顯示過濾器表達式按鈕,可以幫助構建複雜的過濾條件:
- 點擊過濾欄位旁邊的Expression按鈕
- 選擇相應的協議和欄位
- 設置匹配條件和值
### 3. 使用顏色規則標記可疑流量
Wireshark允許設置顏色規則來突出顯示特定流量:
- 選擇View → Coloring Rules
- 添加新規則,例如:
- 名稱:"可疑DNS隧道"
- 過濾器:"dns.qry.name.len > 50"
- 顏色:鮮紅色
:::info
:bulb: **自動化分析提示:** 使用 Wireshark 的 Lua 腳本功能可以編寫自定義檢測規則。專業安全團隊可開發專用腳本進行自動化威脅檢測。
:::
### 4. 常用分析清單
在進行安全事件調查時,此清單可作為參考步驟:
- [ ] 過濾異常協議流量
- [ ] 檢查非標準端口通信
- [ ] 分析可疑域名和IP連接
- [ ] 檢測異常大小的數據包
- [ ] 尋找規律性通信模式(beaconing)
- [ ] 使用Follow Stream分析完整會話內容
- [ ] 檢查敏感數據傳輸模式
- [ ] 生成流量統計報告
- [ ] 提取可疑樣本進行深入分析
## 結論 :checkered_flag:
Wireshark是網絡安全分析的必備工具,特別是在對疑似被滲透系統進行調查時。掌握本文介紹的常用搜尋命令和過濾技巧,將大大提高您分析網絡流量和檢測惡意活動的能力。在實際應用中,建議將這些命令與其他安全工具結合使用,形成完整的安全監控和分析體系。
:::success
:tada: **重要結語:** 網絡流量分析是一項需要持續學習和實踐的技能。建議安全分析師定期更新知識,了解最新的攻擊技術和對應的檢測方法。
:::
## 參考資源 :books:
1. Wireshark官方文檔: [https://www.wireshark.org/docs/](https://www.wireshark.org/docs/)
2. Wireshark顯示過濾器參考: [https://www.wireshark.org/docs/dfref/](https://www.wireshark.org/docs/dfref/)
3. 網絡安全流量分析最佳實踐: [https://www.sans.org/reading-room/whitepapers/detection/](https://www.sans.org/reading-room/whitepapers/detection/)
4. MITRE ATT&CK 框架: [https://attack.mitre.org/](https://attack.mitre.org/)
---
###### tags: `wireshark` `網絡安全` `滲透測試` `封包分析` `資安` `網絡分析`