Wireshark是Linux,MacOS, *BSD以及其他UNIX和UNIX型操作系統以及Windows的網絡流量分析儀或“ Sniffer”。它使用QT,圖形用戶界面庫,LIBPCAP和NPCAP用作數據包捕獲和過濾庫。
Wireshark發行版還帶有TSHARK,它是一種面向線的嗅探器(類似於Sun的Snoop或Tcpdump),它使用相同的解剖,捕獲文件讀取和寫作,以及數據包過濾代碼作為Wireshark,以及帶有EditCap的,這是一個程序以讀取捕獲文件並從該捕獲文件(可能具有不同的捕獲文件格式)中寫入數據包,並可能從捕獲中刪除一些數據包。
Wireshark的官方住所是https://www.wireshark.org。
最新的發行版可以在子目錄中找到https://www.wireshark.org/download
Wireshark項目定期在以下平台上構建和測試:
官方安裝軟件包可用於Microsoft Windows和MacOS。
它可作為許多流行操作系統和Linux發行版的標準包或附加軟件包,包括Debian,Ubuntu,Fedora,Centos,Rhel,Arch,Arch,Gentoo,Opensuse,Freebsd,Freebsd,Dragonfly BSD,NetBSD,NetBSD和OpenBSD 。
此外,可以通過許多第三方包裝系統(例如PKGSRC,Opencsw,Homebrew和MacPorts)獲得。
它應該在其他Unix-ish系統上運行,而不會太多麻煩。
在某些情況下,當前版本的Wireshark可能不支持您的操作系統。 Windows XP就是這種情況,由Wireshark 1.10和更早的人支持。在其他情況下,Wireshark的標準軟件包可能只是舊的。 Solaris和HP-UX就是這種情況。
需要python 3來構建Wireshark。構建文檔(包括人頁面)需要Asciidoctor。需要Perl和Flex來生成一些源代碼。
因此,您必須在缺少它們的系統上安裝Python 3,Asciidoctor和GNU“ Flex”(Vanilla“ Lex”不起作用)。您可能還需要安裝Perl。
可以在安裝文件和開發人員指南中找到完整的安裝說明
另請參閱適當的讀書我。用於特定於OS的安裝說明的OS文件。
為了從網絡中捕獲數據包,您需要使dumpcap程序設置為root lot lo lot lo lot,或者如果您的系統如此傾斜,則需要訪問適當的/dev
(BSD衍生的系統,以及諸如諸如支持DLPI的Solaris和HP-UX通常屬於此類別)。儘管將Wireshark和TSHARK可執行文件固定在根本上可能很誘人,或者將其作為root運行,請不要。捕獲過程已在DumpCap中隔離;這個簡單的程序不太可能包含安全孔,因此更安全地作為根。
請諮詢MAN頁面以獲取每個命令行選項和接口功能的描述。
Wireshark可以從許多不同的文件類型中讀取數據包。有關支持的文件格式列表,請參見Wireshark Man頁面或Wireshark用戶指南。
如果在編譯Wireshark時可用,Wireshark可以透明地讀取任何這些文件的壓縮版本。當前支持的壓縮格式是:
GZIP和LZ4(使用獨立塊時,默認情況下)支持快速隨機尋求,這在大型文件上提供了更好的GUI性能。這些壓縮格式中的任何一個都可以在編譯時間通過將相應的選項傳遞給CMAKE,即, cmake -DENABLE_ZLIB=OFF
, cmake -DENABLE_LZ4=OFF
或cmake -DENABLE_ZSTD=OFF
。
儘管Wireshark可以讀取AIX IPTRACE文件,但AIX的IPTrace數據包跟踪命令上的文檔很少。 iptrace
命令啟動了一個守護程序,您必須殺死該守護程序才能停止跟踪。通過實驗,向IPTrace守護程序發送HUP信號似乎會導致正式關閉,並將完整的數據包寫入跟踪文件。如果最終保存了部分數據包,則Wireshark在讀取該文件時會抱怨,但是您可以讀取所有其他數據包。如果發生這種情況,請讓Wireshark開發人員通過[email protected]知道;請確保如果該跟踪文件很小並包含非敏感數據,請確保向我們發送該跟踪文件的副本。
對Lucent/Ascend產品的支持僅限於最大和管道系列產品產生的調試跟踪輸出。 Wireshark可以讀取wandsession
, wandisplay
, wannext
和wdd
命令的輸出。
Wireshark還可以從Toshiba“緊湊型路由器”線(TR-600和TR-650)的“緊湊型路由器”系列中讀取轉儲跟踪輸出。您可以觸發路由器,並使用snoop dump
開始轉儲會話。
餘弦L2調試輸出也可以由Wireshark讀取。要獲取L2調試輸出,首先輸入DIAGS模式,然後使用create-pkt-log-profile
,並在第2層類別下apply-pkt-lozg-profile
命令。有關如何使用這些命令的更多詳細信息,您應該通過layer-2 create ?
或layer-2 apply ?
。
要使用Wireshark的Lucent/Ascend,Toshiba和余弦痕跡,您必須將跟踪輸出捕獲到磁盤上的文件。路由器內部發生的跟踪發生,路由器無法為您保存跟踪。在UNIX下執行此操作的一種簡單方法是運行telnet <ascend> | tee <outfile>
。或者,如果您的系統已安裝了“腳本”命令,則可以將包括Telnet在內的Shell會話保存到文件中。例如,登錄到名為TraceFile.out的文件:
$ script tracefile.out
Script started on <date/time>
$ telnet router
..... do your trace, then exit from the router's telnet session.
$ exit
Script done on <date/time>
在解碼IPv4和IPv6數據包時,Wireshark將嘗試使用反向名稱分辨率。
如果要在使用Wireshark時關閉名稱分辨率,請使用-n
選項啟動Wireshark,以關閉所有名稱分辨率(包括MAC地址的分辨率和TCP/UDP/SMTP端口號碼到名稱)或以-N mt
選項為單位關閉所有網絡層地址的名稱分辨率(IPv4,IPv6,IPX)。
您可以通過使用“編輯菜單”中的首選項項目打開“姓名分辨率”,關閉適當的名稱分辨率選項,然後單擊“確定”,從而使默認設置進行默認設置。
Wireshark可以對SNMP數據包進行一些基本解碼;它還可以使用libsmi庫來通過讀取MIB文件並使用這些文件中的信息來進行更複雜的解碼,以更友好的方式顯示OID和可變綁定值。 Cmake將自動確定您系統上是否有Libsmi庫。如果您有libsmi庫,但不希望Wireshark使用它,則可以使用-DENABLE_SMI=OFF
選項運行cmake。
Wireshark正在不斷開發,因此您在使用該錯誤時可能會遇到錯誤。請在https://gitlab.com/wireshark/wireshark/-/issues上報告錯誤。確保您進入錯誤:
在幫助菜單或wireshark -v
的輸出中,用於Wireshark錯誤的“ Wireshark”項目的完整構建信息以及tshark錯誤的tshark -v
輸出;
如果該錯誤在Linux上發生,您正在使用的Linux發行版以及該分發的版本;
如果您從命令行運行Wireshark,則用來調用Wireshark的命令,如果您運行了TSHARK,以及您執行的操作順序導致錯誤出現。
如果該錯誤是由特定跟踪文件產生的,請確保將跟踪文件與錯誤描述一起附加到錯誤。如果跟踪文件包含敏感信息(例如,密碼),請不要發送。
如果Wireshark因“分段違規”,“總線錯誤”,“流產”或其他產生Unix Core Core Dump文件的錯誤而死於您,則如果安裝了調試器,則可以在很多情況下幫助開發人員。可以通過使用您的調試器(在此示例中的'GDB'),Wireshark二進製文件和結果核心文件獲得堆棧跟踪。這是如何使用GDB命令'Backtrace'進行的一個示例。
$ gdb wireshark core
(gdb) backtrace
..... prints the stack trace
(gdb) quit
$
核心轉儲文件可以命名為“ wireshark.core”,而不是某些平台上的“核心”(例如,BSD系統)。如果您獲得了帶有TSHARK而不是Wireshark的核心轉儲,請使用“ Tshark”作為調試器的第一個參數;核心轉儲可以命名為“ tshark.core”。
Wireshark分佈在GNU GPLV2下。有關許可的全文,請參見文件複製。如有疑問,全文是具有法律約束力的部分。這些筆記只是為了使不熟悉GPLV2的人更容易。
對其使用沒有限制。它以源或二進制形式的分佈有限制。
Wireshark的大部分部分都受到“ GPL版本2或更高版本”許可證的涵蓋。某些文件由與GPLV2兼容的不同許可涵蓋。
值得注意的是,與Wireshark源分發的一些公用事業由其他許可證本身與GPLV2直接兼容。這沒關係,因為只有工具本身是這樣的,因此工具的輸出不被視為派生工作,因此可以安全許可以供Wireshark使用。這些工具的不完整選擇包括:
Wireshark的一部分可以作為庫建造和分佈。這些零件仍然由GPL覆蓋,而不是較少的通用公共許可證或任何其他許可證。
如果將Wireshark的全部或部分集成到自己的應用程序中,並且選擇發布或發布它,則必鬚根據GPLV2的條款發布合併的工作。
該產品沒有與此產品相關的保證,明示或暗示。自行使用。
gerald combs [email protected]
Gilbert Ramirez [email protected]
Guy Harris [email protected]