Tshark: 快速而強大的網路數據包分析工具

一、Tshark 中文

Tshark是Wireshark網路協議分析器的命令行版本,它為您提供了用於網路故障排除、網路測試和協議教育的快速而強大的工具。

Tshark支持多種包的捕捉格式,包括tcpdump捕捉文件(以pcap格式保存),網路介面和Wireshark捕捉文件。它可以用於實時捕獲和離線閱讀 pcap /f pcap-ng文件,並將捕獲結果解析出各個網路協議的詳細信息。

# 安裝tshark命令:
sudo apt-get install tshark
# 查看tshark命令行界面的中文幫助:
tshark -h | grep -P "\-\|.+?\|"

二、tshark抓包過濾

tshark支持多種過濾條件,以便您可以輕鬆地從大量的網路數據包中過濾出所需的數據包,提高故障診斷的效率。

tshark操作的過濾條件格式相對靈活,可以通過協議類型、源地址、目的地址、埠號等多種維度進行過濾。

# 查看所有HTTP請求包:
tshark -r sample.pcap -Y "http.request"
# 查看某個IP地址的所有數據包:
tshark -r sample.pcap -Y "ip.addr == 192.168.1.2"
# 查看某個埠號的所有數據包:
tshark -r sample.pcap -Y "tcp.port == 80"
# 過濾出SSL連接數據包:
tshark -r sample.pcap -Y "ssl.handshake"

三、Tshark utf8

默認情況下,tshark輸出的協議分析信息都是以ASCII編碼形式呈現出來的。如果需要輸出utf8編碼的內容,可以通過設置環境變數實現。

# UNIX/Linux系統下設置utf8環境變數:
export LC_ALL=C.UTF-8
# Windows系統下設置utf8環境變數:
set LC_ALL=C.UTF-8

四、tshark和wireshark關係

tshark是wireshark的一個命令行版本,兩者都是基於libpcap庫的。

wireshark提供了強大的圖形用戶界面,可以通過圖形操作實現數據包捕獲、分析、過濾等功能;而tshark則是在命令行下提供了同樣的功能,適合在伺服器端、遠程終端等場景下使用。

五、tshark不能讀取tls

tshark不能直接讀取加密協議TLS的數據包,它只能讀取加密前和加密後的數據包。如果需要讀取TLS中的數據包,可以通過在wireshark中對數據包進行解密後再導出到pcap文件,再使用tshark對解密後的pcap文件進行分析。

六、shark

tshark本質上是一款命令行版本的抓包和分析工具,它可以與其他工具結合使用,幫助網路管理員和開發人員更好地進行網路數據包分析和管理。

在使用tshark的時候,可以通過-t選項指定輸出格式,將結果輸出為XML、JSON等多種格式,並將結果通過pipe傳輸到其他工具進行進一步的分析處理。

# 輸出結果為json格式:
tshark -r sample.pcap -T json | jq .
# 輸出層級結構嵌套的XML格式:
tshark -r sample.pcap -T pdml | xmllint --format -

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/306190.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-02 12:00
下一篇 2025-01-02 12:00

相關推薦

  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • Ojlat:一款快速開發Web應用程序的框架

    Ojlat是一款用於快速開發Web應用程序的框架。它的主要特點是高效、易用、可擴展且功能齊全。通過Ojlat,開發人員可以輕鬆地構建出高質量的Web應用程序。本文將從多個方面對Oj…

    編程 2025-04-29
  • 如何通過jstack工具列出假死的java進程

    假死的java進程是指在運行過程中出現了某些問題導致進程停止響應,此時無法通過正常的方式關閉或者重啟該進程。在這種情況下,我們可以藉助jstack工具來獲取該進程的進程號和線程號,…

    編程 2025-04-29
  • Python最強大的製圖庫——Matplotlib

    Matplotlib是Python中最強大的數據可視化工具之一,它提供了海量的製圖、繪圖、繪製動畫的功能,通過它可以輕鬆地展示數據的分布、比較和趨勢。下面將從多個方面對Matplo…

    編程 2025-04-29
  • 註冊表取證工具有哪些

    註冊表取證是數字取證的重要分支,主要是獲取計算機系統中的註冊表信息,進而分析痕迹,獲取重要證據。本文將以註冊表取證工具為中心,從多個方面進行詳細闡述。 一、註冊表取證工具概述 註冊…

    編程 2025-04-29
  • Python range: 強大的迭代器函數

    Python range函數是Python中最常用的內置函數之一。它被廣泛用於for循環的迭代,列表推導式,和其他需要生成一系列數字的應用程序中。在本文中,我們將會詳細介紹Pyth…

    編程 2025-04-29
  • 二階快速求逆矩陣

    快速求逆矩陣是數學中的一個重要問題,特別是對於線性代數中的矩陣求逆運算,如果使用普通的求逆矩陣方法,時間複雜度為O(n^3),計算量非常大。因此,在實際應用中需要使用更高效的演算法。…

    編程 2025-04-28
  • Python運維工具用法介紹

    本文將從多個方面介紹Python在運維工具中的應用,包括但不限於日誌分析、自動化測試、批量處理、監控等方面的內容,希望能對Python運維工具的使用有所幫助。 一、日誌分析 在運維…

    編程 2025-04-28
  • t3.js:一個全能的JavaScript動態文本替換工具

    t3.js是一個非常流行的JavaScript動態文本替換工具,它是一個輕量級庫,能夠很容易地實現文本內容的遞增、遞減、替換、切換以及其他各種操作。在本文中,我們將從多個方面探討t…

    編程 2025-04-28
  • Trocket:打造高效可靠的遠程控制工具

    如何使用trocket打造高效可靠的遠程控制工具?本文將從以下幾個方面進行詳細的闡述。 一、安裝和使用trocket trocket是一個基於Python實現的遠程控制工具,使用時…

    編程 2025-04-28

發表回復

登錄後才能評論