Wireshark - Arch Linux 中文维基

跳至內容

# Wireshark

出自 Arch Linux 中文维基
翻譯狀態：

- 本文（或部分內容）譯自 Wireshark，最近一次同步於 2022-07-03，若英文版本有所更改，則您可以幫助同步與翻譯更改的內容。
- 您可以在 ArchWiki 的對應頁面找到本文翻譯的原始修訂歷史。
- 本文可能與英文原文存在出入。

Wireshark 是一款自由且開源的包分析器。可用於網絡排錯、網絡分析、軟體和通訊協議開發以及教學等。

## 安裝

Wireshark 軟體包分成了 CLI 版本和依賴 CLI 版本的前端界面.

- CLI 版本 - 安裝軟體包 wireshark-cli包。
- TUI 前端 - 安裝軟體包 termshark包。
- Qt 前端 - 安裝軟體包 wireshark-qt包。

注意：Wireshark 3.0 已經移除了 GTK 界面

## 以普通用戶身份抓包

以 root 身份運行 Wireshark 是不安全的。Arch Linux 官方倉庫中的 Wireshark 已經實現了權限分離，其使用的抓包工具 `/usr/bin/dumpcap` 是唯一有權限進行數據包抓取的進程，僅能被 root 或 `wireshark` 群組用戶執行[1]。

wireshark-cli包 的安裝腳本還會為 `/usr/bin/dumpcap` 設置數據包捕獲能力（capability），使其無需 root 權限也能進行數據包捕獲。

如果希望普通用戶能夠正常運行 Wireshark，必須將其添加到 `wireshark` 用戶組中（參見用戶和用戶組#用戶組管理）。

使用如下命令可以將對應用戶添加到 `wireshark` 用戶組（中文 wiki 注）：

    # usermod -a -G wireshark 用户名

重啟或註銷對應用戶重新登陸即可生效。

## 一些抓包技巧

你可以通過使用 capture filters 和 display filters 準確獲取你想抓取的數據包。

注意：capture filters 語法請參考 pcap-filter(7) ，display filters 語法參考 wireshark-filter(4)。

### 過濾 TCP 包

只查看所有的 TCP 數據包，在 Filter 欄輸入 `tcp`，或者在終端中輸入：

    $ tshark -f "tcp"

### 過濾 UDP 包

只想查看所有的 UDP 數據包，在 Filter 欄輸入 `udp`，或者在終端輸入：

    $ tshark -f "udp"

### 查看指定 IP 地址的數據包

將 `1.2.3.4` 替換為要查看的 IP 地址。

- 只想查看發到某個特定地址的數據包，輸入 `ip.dst == 1.2.3.4`。

- 只想查看從某個特定地址發出的數據包，輸入 `ip.src == 1.2.3.4`。

- 要查看某個特定地址的所有數據包，輸入 `ip.addr == 1.2.3.4`。

### 排除特定 IP 地址的數據包

將 `1.2.3.4` 替換為要排除的 IP 地址。

    ip.addr != 1.2.3.4

### 查看區域網數據包

如果只想查看區域網數據包，使用

     (ip.src==10.0.0/8 AND ip.dst==10.0.0/8) OR (ip.src==172.16.0.0/12 AND ip.dst==172.16.0.0/12) OR (ip.src==192.168.0.0/16 and ip.dst==192.168.0.0/16)

這樣可以過濾出所有來自私有網絡地址的數據包。

### 查看指定埠的數據包

查看某兩個或更多埠的流量：

    tcp.port==80||tcp.port==3306
    tcp.port==80||tcp.port==3306||tcp.port==443

### 使用 dumpcap 捕獲數據包

dumpcap 是 Wireshark 的一部分，可以使用該工具在無圖形界面的情況下捕獲數據包。dumpcap 可以在 tmux 或 GNU Screen 中使用，以在一個處於 Detached 狀態的會話中捕獲數據包。

可以使用 `-h` 參數查看 dumpcap 的所有選項。

下面的例子展示了如何捕獲循環緩衝區（ringbuffer）中內容。下面的命令會以每個文件 100MB 的大小捕獲20個`.pcap`文件，並且會在捕獲第21個文件時替換最早創建的文件並依次繼續。因此此命令會保持運行，而不會持續消耗磁碟空間以致磁碟容量耗盡。

    # dumpcap -i 1 -b filesize:100000 -b files:20 -w mycapture.pcapng

- `-i` - 接口名稱或編號（`dumpcat -D` 命令列出的編號）
- `-b filesize:` - 創建的`.pcap`文件的大小，以 kB 為單位
- `-b files:` - 在輸出指定的文件數量後覆蓋舊文件
- `-w` - 輸出文件名，上例中輸出會保存到 `mycaptureidentifier.pcapng`

分類：​

- 安全
- 網絡

Wireshark
新增話題