<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    工具集

    本章將為您提供有關Wireshark開發所需的各種工具的信息。運行Wireshark不需要本章中提到的任何工具。他們只需要建造它。
    這些工具大多數都起源于UNIX或類似UNIX的平臺(例如Linux),但是Windows端口也可用。

    以下各節對特定工具的功能,在Wireshark項目中如何使用以及如何安裝和測試進行了非常簡要的描述。

    這些工具的文檔不在本文檔范圍內。如果您需要有關使用特定工具的更多信息,則應該在網絡上找到許多有用的信息,因為這些工具是常用的。您也可以通過**toolname** --help或手冊頁獲得有關基于UNIX的工具的幫助。man **toolname**

    Chocolatey

    Chocolatey是Windows軟件包管理器,可用于安裝(和更新)Wireshark開發所需的許多軟件包。可以從網站或命令提示符處獲取Chocolatey:

    C:>@powershell -NoProfile -ExecutionPolicy unrestricted -Command “iex ((new-object net.webclient).DownloadString(https://chocolatey.org/install.ps1))” && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin

    或Powershell提示:

    PS:>iex ((new-object net.webclient).DownloadString(https://chocolatey.org/install.ps1))

    Chocolatey有時會將軟件包安裝在意想不到的位置。Python是一個著名的例子。雖然通常將其安裝在頂級目錄(例如C:\ Python37或%PROGRAMFILES%)(例如C:\ Program Files \ Python37)中,但Chocolatey傾向于將其安裝在 C:\ ProgramData \ chocolateyC:\ Tools下。如果要避免這種行為,您可能會希望使用python.org中的軟件包安裝Python。

    CMake

    可以在各種類似UNIX的平臺(包括Linux,macOS和* BSD)以及Windows上使用CMake配置Wireshark的構建環境。CMake旨在支持樹外構建-如此之多,以至于樹內構建在所有情況下均無法正常工作。除了跨平臺之外,CMake還支持許多構建工具和環境,包括傳統的make,Ninja和MSBuild。我們的Buildbot在Ubuntu,Win32,Win64和macOS上運行CMake步驟。特別是,macOS和Windows軟件包是使用CMake構建的。

    使用CMake進行構建通常包括創建構建目錄并指定生成器(也稱為構建工具)。例如,要使用wireshark-ninja目錄中的Ninja來構建Wireshark,您可以運行以下命令:

    # Starting from your Wireshark source directory, create a build directory
    # alongside it.
    $ cd ..
    $ mkdir wireshark-ninja
    $ cd wireshark-ninja
    # Assumes your source directory is named “wireshark”.
    $ cmake -G Ninja ../wireshark
    $ ninja (or cmake –build .)

    除了使用-G標志指定生成器之外,還可以使用-D標志設置變量。有用的變量和生成器包括以下內容:
    -DBUILD_wireshark=OFF

    不要構建Wireshark GUI應用程序。每個命令行實用程序也都有其自己的BUILD_xxx標志。例如,可以使用-DBUILD_mmdbresolve = OFF禁用mmdbresolve。

    -DENABLE_CAP=OFF
    禁用POSIX功能檢查

    -DCMAKE_BUILD_TYPE=Debug
    啟用調試符號

    -DCARES_INCLUDE_DIR=/your/custom/cares/include, -DCARES_LIBRARY=/your/custom/cares/lib/libcares.so
    讓您將路徑設置為c-ares的本地編譯版本。大多數可選庫具有xxx_INCLUDE_DIR和xxx_LIB標志,可用于控制它們的發現。

    -DCMAKE_OSX_DEPLOYMENT_TARGET=10.12
    為Wireshark和每個命令行實用程序指定最低macOS版本。請注意,這不會影響第三方庫的最低目標。

    -DENABLE_APPLICATION_BUNDLE=OFF

    禁用在macOS上構建應用程序捆綁包(Wireshark.app)
    您可以通過運行列出所有構建變量cmake -LH [options] ../<Name_of_WS_source_dir>。這列出了cmake運行后構建變量的緩存。要僅查看當前緩存,請添加option -N

    運行cmake之后,您始終可以運行make help以查看所有可能的make目標的列表。

    請注意,到目前為止,CMake尊重用戶umask用于創建目錄。您應在運行install目標之前顯式設置umask 。

    CMake鏈接:

    CMake項目的主頁:https : //cmake.org/

    官方文檔:https//cmake.org/documentation/

    關于CMake的一般知識以及為什么KDE4使用它:https : //lwn.net/Articles/188693/

    有用的變量:https : //gitlab.kitware.com/cmake/community/wikis/doc/cmake/Useful-Variables

    常見問題解答:https : //gitlab.kitware.com/cmake/community/wikis/FAQ

    GNU Compiler Toolchain (UNIX And UNIX-like Platforms)

    gcc(GNU Compiler Collection)

    GCC C編譯器可用于大多數UNIX和類似UNIX的操作系統。

    如果尚未安裝GCC或將其作為平臺的軟件包提供,則可以從以下位置獲取:GCC.https//gcc.gnu.org/

    正確安裝后,在bash命令行提示符下鍵入:

    $ gcc –version

    結果:

    gcc (Ubuntu 4.9.1-16ubuntu6) 4.9.1
    Copyright (C) 2014 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions. There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

    gdb(GNU項目調試器)

    GDB是GCC編譯器的調試器。它可用于許多(如果不是全部)類似UNIX的平臺。

    如果您不喜歡使用命令行進行調試,則可以使用許多 GUI前端,包括Qt Creator,CLion和Eclipse。

    如果尚未為您的平臺安裝gdb或將其作為軟件包提供,則可以從以下網址獲取gdb:https//www.gnu.org/software/gdb/gdb.html

    正確安裝后:

    $ gdb –version

    結果:

    GNU gdb (GDB) 8.3
    Copyright (C) 2019 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.

    make (GNU Make)

    Windows也不支持GNU make
    GNU Make可用于大多數類似UNIX的平臺。

    如果尚未為您的平臺安裝GNU Make或將其作為軟件包提供,則可以從以下網址獲取它:https : //www.gnu.org/software/make/

    正確安裝后:

    $ make –version

    結果:

    GNU Make 4.0
    Built for x86_64-pc-linux-gnu
    Copyright (C) 1988-2013 Free Software Foundation, Inc.
    Licence GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.

    Ninja

    Ninja是替代產品,可用于許多類似UNIX的平臺。它比build更快地運行構建。

    它的設計目的是通過諸如CMake之類的工具生成其生成文件。要為Ninja生成構建文件,請使用-G Ninja標記運行CMake 。

    如果尚未安裝Ninja,請訪問以下網址查看有關Ninja軟件包的建議列表:https : //github.com/ninja-build/ninja/wiki/Pre-built-Ninja-packages

    如果尚未安裝Ninja,也無法將其作為平臺軟件包使用,則可以從以下網址獲取:https : //ninja-build.org。您可以下載Linux,macOS和Windows的源代碼或二進制文件(我們尚未在Windows上測試Ninja)。

    Microsoft compiler toolchain (Windows native)

    要使用Microsoft C / C ++編譯器在Windows上編譯Wireshark,您需要:

    1. C compiler (cl.exe)
    2. Assembler (ml.exe for 32-bit targets and ml64.exe for 64-bit targets)
    3. Linker (link.exe)
    4. Resource Compiler (rc.exe)
    5. C runtime headers and libraries (e.g. stdio.h, vcruntime140.lib)
    6. Windows platform headers and libraries (e.g. windows.h, WS2_32.lib)
    7. HTML help headers and libraries (htmlhelp.h, htmlhelp.lib)

    cl.exe(C編譯器)

    正確安裝工具鏈后,在Visual Studio命令行提示符(cmd.exe)中鍵入:

    > cl

    結果:

    Microsoft (R) C/C++ Optimizing Compiler Version 19.23.28106.4 for x64
    Copyright (C) Microsoft Corporation. All rights reserved.

    用法: cl [ option… ] filename… [ /link linkoption… ]

    link.exe(鏈接器)

    正確安裝后,在Visual Studio命令行提示符(cmd.exe)中鍵入:

    > link

    結果:

    Microsoft (R) Incremental Linker Version 14.23.28106.4
    Copyright (C) Microsoft Corporation. All rights reserved.

    用法: LINK [options] [files] [@commandfile]

    Visual C++ Runtime “Redistributable” Files

    Wireshark及其庫依賴于POSIX函數,例如fopen()和malloc()。在Windows上,這些功能由Microsoft Visual C ++運行時提供。CRT和Visual C ++ 2015有很多不同的版本,后來使用Universal CRT

    通用CRT是Windows 10的標準配置,并作為Windows Update的一部分安裝在Windows的早期版本中。Wireshark .exe安裝程序包括可再發行文件(vcredist_x86.exevcredist_x64.exe),這些文件可確保安裝了通用CRT并保持最新狀態。
    在下載了vcredist_x86.exevcredist_x64.exe的所有情況下,都應將其下載到已下載并安裝Wireshark支持庫的目錄中。該目錄由WIRESHARK_BASE_DIRWIRESHARK_LIB_DIR環境變量指定。下載后,它不必也不應運行。

    Windows Platform SDK

    Windows Platform SDK(PSDK)或Windows SDK是免費下載,并且包含平臺特定的頭文件和庫(例如windows.hWSock32.lib等)。隨著Windows新功能的不斷發展,包括新的和更新的API在內的更新的SDK可用。

    當您購買商業Visual Studio或使用Community Edition時,它將包含一個SDK。

    Visual Studio集成調試器

    如果您的工具鏈包含該工具,則可以使用Visual Studio的集成調試器。在生成目錄中打開解決方案,然后使用Visual Studio解決方案正常進行生成和調試。

    要在調試器下運行Wireshark時為Visual Studio設置正確的路徑,請在從同一命??令提示符打開Visual Studio之前,將生成輸出目錄添加到該路徑,例如:
    C:\Development\wsbuild64>set PATH=”%PATH%;C:\Development\wsbuild64\run\RelwithDebInfo”
    C:\Development\wsbuild64>wireshark.sln

    供PowerShell使用:
    PS C:\ Development \ wsbuild64> $ env:PATH + =“; $(Convert-Path run \ RelWithDebInfo)” PS C:\ Development \ wsbuild64> wireshark.sln

    當Visual Studio完成加載解決方案后,通過在“解決方案資源管理器”窗口中右鍵單擊可執行文件,然后選擇“設置為啟動項目”,將可執行文件設置為在調試器中運行,例如Executables \ Wireshark。還要從工具欄上的下拉列表中設置解決方案配置(通常是RelWithDebInfo)。

    Windows調試工具

    您也可以使用Windows的Microsoft調試工具工具包,它是一個獨立的GUI調試器。盡管與使用Visual Studio集成調試器進行調試相比,它不那么舒適,但是如果必須在沒有集成調試器的計算機上進行調試,則可能會有所幫助。

    您也可以使用Chocolatey安裝WinDbg:

    PS:> choco install windbg

    要使用WinDbg調試Wireshark,請使用File→Open Executable …菜單打開Wireshark的內置副本,即C:\ Development \ wsbuild64 \ run \ RelWithDebInfo \ Wireshark.exe。要設置斷點,請使用文件→打開源文件…菜單打開所需的源文件,然后單擊所需的行并按F9。要運行該程序,請按F5。

    如果您需要非優化版本,請使用調試配置(例如)進行構建 msbuild /m /p:Configuration=Debug Wireshark.sln。構建產品位于C:\ Development \ wsbuild64 \ run \ Debug \。

    bash

    Unix系統

    Bash(GNU Bourne-Again SHell)可用于大多數UNIX和類似UNIX的平臺。如果尚未安裝或無法作為平臺的軟件包使用,則可以從https://www.gnu.org/software/bash/bash.html獲得 。

    正確安裝后,在bash命令行提示符下鍵入:

    $ bash –version

    結果:

    GNU bash, version 4.4.12(1)-release (x86_64-pc-linux-gnu)
    Copyright (C) 2016 Free Software Foundation, Inc.

    Python

    Python是一種解釋型編程語言。它用于生成一些源文件,文檔,測試和其他任務。需要Python 3.4和更高版本。不再支持Python 2.7。

    在大多數類似UNIX的平臺上都包含Python或將其作為軟件包提供。Windows軟件包和源代碼可從https://python.org/download/獲得

    您還可以使用Chocolatey安裝Python:

    $ python3 –version

    rem Official package

    C:> cd python35
    C:Python35> python –version

    rem Chocolatey

    C:> cd \tools\python3
    C:\tools\python3> python –version

    在Windows上。你應該看到類似

    Python 3.5.1

    Perl

    Perl是一種解釋型編程語言。Perl項目的主頁是 https://www.perl.org。 Perl用于將各種文本文件轉換為可用的源代碼。Perl 5.6及更高版本應該可以正常工作。

    Unix系統

    Perl可用于大多數UNIX和類似UNIX的平臺。如果尚未安裝perl或將其作為平臺的軟件包提供,則可以從https://www.perl.org/獲得。
    正確安裝后,在bash命令行提示符下鍵入:

    $ perl –version

    結果:
    This is perl 5, version 26, subversion 0 (v5.26.0) built for x86_64-linux-gnu-thread-multi
    (with 62 registered patches, see perl -V for more detail)

    Windows

    可以從Strawberry PerlActive State獲得本機Windows Perl軟件包 。安裝應該很簡單。

    您也可以使用Chocolatey安裝以下任一軟件包:

    PS:> choco install StrawberryPerl
    或者:
    PS:> choco install ActivePerl

    正確安裝后,在命令行提示符下鍵入(cmd.exe):

    > perl -v

    結果:
    This is perl, v5.8.0 built for MSWin32-x86-multi-thread
    (with 1 registered patch, see perl -V for more detail)

    Bison

    Bison是解析器生成器,用于Wireshark的某些文件格式支持。

    Unix

    Bison可用于大多數UNIX和類似UNIX的平臺。有關本機Windows選項,請參見下一部分。

    如果尚未安裝GNU Bison或將其作為平臺的軟件包提供,則可以從以下位置獲取它:https : //www.gnu.org/software/bison/bison.html

    正確安裝后,運行以下命令:

    $ bison –version

    結果:
    bison (GNU Bison) 2.3
    Written by Robert Corbett and Richard Stallman.

    Copyright (C) 2006 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions. There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

    Flex

    Flex是詞法分析器生成器,用于Wireshark的顯示過濾器,某些文件格式和其他功能。

    Unix

    Flex適用于大多數UNIX和類似UNIX的平臺。有關本機Windows選項,請參見下一部分。

    如果尚未安裝GNU flex或將其作為平臺的軟件包提供,則可以從https://www.gnu.org/software/flex/獲得。

    正確安裝后,運行以下命令:

    $ flex –version

    結果:

    flex version 2.5.4

    Windows

    winflexbison Chocolatey軟件包中提供了Flex的本機Windows版本。請注意,可執行文件名為 win_flex

    PS:> choco install winflexbison

    Git 客戶端

    Wireshark項目使用其自己的Git存儲庫來跟蹤對源代碼所做的所有更改。

    Unix

    Git可用于大多數UNIX和類似UNIX的平臺。如果尚未安裝Git或將其作為平臺的軟件包提供,則可以通過以下網址獲取它:https : //git-scm.com/

    正確安裝后,在bash命令行提示符下鍵入:

    $ git –version

    結果類似下面:
    git version 2.14.1

    Windows

    Windows的Git命令行工具可以在https://git-scm.com/download/win上找到, 也可以使用Chocolatey安裝:

    PS:> choco install git

    正確安裝后,在命令行提示符下鍵入(cmd.exe):

    > git –version

    結果類似下面:
    git version 2.16.1.windows.1

    本文章首發在 網安wangan.com 網站上。

    上一篇 下一篇
    討論數量: 0
    只看當前版本


    暫無話題~
    亚洲 欧美 自拍 唯美 另类