在本文中,我們將學習TShark,它是一個著名的網路通訊協定分析器。它允許我們從實时網絡中捕獲數据包。它還允許我們讀取或分析先前捕獲的保存檔案的數据包。
目錄
- 網路流量
- 茨哈克簡介
- 列出介面
- 捕獲流量
- 以混雜模式捕獲介面
- 捕獲數据包計數
- 讀寫檔案
- 詳細模式
- 輸出格式
- 解碼包與編碼包的區別
- 轉換PDML檔案HTML頁面
- 捕獲特定埠的數据包
- 顯示篩選器
網路流量
如我們所知,網路流量或數據流量是在給定時間點通過網絡傳輸的數據量。網路資料,在電腦網絡中,是以網絡數据包的形式存在的。分析這些網絡數据包可以提供網絡安全性,因為它可以幫助我們監視通信量。作為一個好處,如果網絡中存在一些不尋常的數據流量,這可能是攻擊的迹象,那麼Tshark可以幫助我們在為時過晚之前知道,並且可以終止攻擊,因為數據流量報告提供了防止某些良好攻擊的見解。
流量是網路流量分析中的一個術語。網路流量是衡量總工作量的名額。它定義為其網絡數据包研究的平均數據流量强度和時間週期。
TShark簡介
Tshark是一個著名而强大的命令列工具,用作網絡分析器。它是由Wireshark開發的。它的工作結構與Tcpdump非常相似,但它有一些强大的解碼器和濾波器。TShark能够捕獲不同網路層的數据包資訊,並以不同的格式顯示。
TShark用於分析實时網路流量,它可以讀取.pcap檔案來分析資訊,挖掘這些連接的詳細資訊,幫助安全專業人員識別他們的網絡問題。
TShark是一個基於命令列的工具,它可以做Wireshark做的任何事情。所以讓我們從TShark開始我們的學習過程,囙此啟動這個工具並探索它的選項。要簽出所有參數,請使用以下命令:
列出介面
TShark列印它可以捕獲其流量的介面清單。每個介面都是由它們的序號引用的,正如您所看到的,它後面跟著一個網路介面的文字描述。可以使用-i參數指定這些介面;該參數用於指定要捕獲其流量的網絡。要檢查這些介面,可以使用參數-D,如下圖所示:
捕獲流量
現在讓我們嘗試捕獲流量,我們有各種各樣的介面來捕獲流量,囙此可以根據需要和需求來選擇。但在我們的場景中,我們要使用的介面是“eth0”。為了捕獲通信量,我們還需要啟動一個,因為我們正在一個受控網絡上進行測試,對於使用ping命令的通信量,我們只需使用-i參數指定介面名稱,如下圖所示:
ping www.hackingarticles.in
查克-i eth0
我們可以清楚地看到,它正在執行三方握手,然後開始ICMP請求和應答的過程。
濫交模式
在網絡中,混雜模式用作介面控制器,使得tshark將其接收到的所有通信量傳遞給CPU,而不是將幀傳遞給混雜模式,通常用於在路由器或連接到有線網路或局域網一部分的電腦上進行包偵測。
使用此模式時,我們需要在ifconfig的幫助下對其進行配寘,以便它能够捕獲整個網絡的數据包。囙此,我們將從ping一個網站開始,並嘗試捕獲其數据包。
現在,按照以下命令配寘混雜模式並嘗試捕獲數据包:
ifconfig eth0濫交
查克-i eth0
數据包計數
Tshark有一些驚人的特性,我們可以更有效地使用這些特性,並且我們可以使用各種參數訪問這些特性。其中一個參數是'-c',它允許我們捕獲所需的確切數據量,並且只顯示這些數據。此選項幫助我們優化捕獲流量的結果。
從上圖中我們可以清楚地看到,它在10次計數後停止。
讀寫檔案
在Tshark中,我們可以寫入和讀取.pcap檔案。Write選項(-w)允許我們將原始數据包數據輸出寫入標準的.pcap檔案,而read選項(-r)幫助我們以所需的管道讀取原始輸出數据包。要將數据包寫入.pcap檔案,請使用以下命令:
tshark-i eth0-c 10-w包.pcap
要讀取上述.pcap檔案,請使用以下命令:
詳細模式
詳細模式為我們提供了流量中數据包的其他詳細資訊。使用verbose模式,我們可以看到每個包包含的資訊,對於這個選項,我們可以使用參數-V。
tshark-r packets.pcap-V包
輸出格式
為了方便起見,在tshark中,我們有-T選項,它允許我們以各種輸出格式保存解碼的數据包。它可以以易於理解的管道設定輸出的格式。要查看所有可用選項,請鍵入以下命令:
PDML
PDML代表基於XML的包細節標記語言。這個資訊相當於我們前面使用的詳細模式。要以這種格式輸出,請鍵入以下命令:
tshark-r packets.pcap-T pdml
聚苯乙烯
PS代表PostScript。根據每個數据包規範,該輸出以每個數据包的一行摘要或每個數据包的多行詳細視圖的形式出現。這一行很容易理解,也很可靠。為此,請使用以下命令:
tshark-r packets.pcap-T ps包
PSML語言
PSML代表包摘要標記語言。它也是一種基於XML的格式,如PDML,它總結了包的詳細資訊。對於此格式,請鍵入:
tshark-r packets.pcap-T psml
JSON格式
JSON代表Java腳本對象標記法。它是一種以可讀形式顯示文字的開放標準檔案格式。此格式的資訊在wolfram有完整的檔案記錄和參攷。要查看此格式的數据包,請鍵入:
tshark-r packets.pcap-T json
埃克
它是一個換行分隔的JSON格式函數,用於批量導入到彈性搜索選項中。對於此格式,請使用以下命令:
tshark-r packets.pcap-T ek
文字
文字是每個包的一行摘要。這是最簡單的格式。為此,請使用以下命令:
tshark-r packets.pcap-T文字
定位字元
此選項與文字非常相似,只是在每列之間包含一個ASCII水准定位字元(oxo9)字元作為分隔符號。要嘗試此操作,請鍵入:
tshark-r packets.pcap-T選項卡
解碼包與編碼包的區別
當我們試圖在.pcap格式的檔案中寫入實时數据包時,我們將所有這些數据包壓縮成更小的段。為了更好地理解這些數据包,我們需要對它們進行解碼,從而導致文件大小的差异,並在給定時刻使用以下命令檢查任何給定檔案的大小:
正如我們所討論的,這些檔案有很大的不同,這就是為什麼我們使用解碼科技來選取這些資訊。
轉換PDML檔案HTML頁面
Wireshark和tshark的唯一區別是Wireshark是基於GUI的工具,tshark是基於命令列的工具。但是在一些外部資源的幫助下,我們也可以在HTML中查看我們的數据包。囙此,首先,我們需要將數据包保存為PDML格式,然後使用以下命令將其轉換為XML檔案:
tshark-r packets.pcap-T pdml>packets.xml
XML檔案將保存在/usr/share/wireshark/pdml2html.xsl位置。所以,我們將使用xsltproc工具來執行這個檔,它將幫助我們創建HTML頁面。創建HTML頁面將格式化所有不必要的資訊,只允許我們查看可用的數據。使用以下命令創建HTML
xsltproc/usr/share/wireshark/pdml2html.xsl packets.xml>packets.html
要在瀏覽器中打開HTML頁面,請參攷上圖並使用以下命令:
捕獲特定埠的數据包
很多時候我們在專用埠上使用Wireshark。通過使用-f選項,我們可以捕獲特定埠的數据包。它有助於我們更好地分析網絡的數据包。我們使用此功能捕獲TCP埠80,其命令為:
tshark-i eth0-c 5-f“tcp埠80”
顯示篩選器
顯示篩檢程式是Wireshark引入的。它幫助我們過濾捕獲的數据包或實时數据包。有了這個篩檢程式的幫助,我們可以請求任何類型的篩檢程式,我們想捕捉在現場環境。
在我們的場景中,我們應用GET-request篩檢程式來只捕獲來自流量的GET請求,對於,使用以下命令:
tshark-i eth0-c 5-f“tcp埠80”-Y“http.request.method==”獲取“'
結論
本文重點介紹tshark的基本命令和功能,因為它是本系列的第一篇文章。囙此,請熟悉它的特性,並在我們的下一篇文章中繼續關注tshark的高級特性。
作者:Shubham Sharma是一比特Pentester,網路安全研究者和愛好者,請聯系這裡。