一、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