From c39bc2a4f62f7d20daf494886197d570192594de Mon Sep 17 00:00:00 2001 From: Gerald Combs Date: Thu, 3 Jan 2019 12:01:19 -0800 Subject: WSDG: Miscellaneous updates and fixes. Update the Windows CRT text to mention the Universal CRT. Replace references to WinPcap with Npcap. Update the Qt LTS text. Add a WiX / .msi section Use curly quotes. Use the {cpp} attribute so that the "++" in "C++" doesn't trigger monospace formatting. Make the various "Unix" and "Windows" subsection title names uniform. Give them the "discrete" attribute so that they don't clutter up the TOC. Title-case section titles. Remove the reference to m4. As far as I can tell we don't require it. Change-Id: I73f851adae640f77205781d6c4962002c2d53f49 Reviewed-on: https://code.wireshark.org/review/31343 Petri-Dish: Gerald Combs Tested-by: Petri Dish Buildbot Reviewed-by: Gerald Combs --- docbook/attributes.asciidoc | 7 +- docbook/developer-guide.asciidoc | 3 +- docbook/wsdg_src/WSDG_chapter_build_intro.asciidoc | 5 +- docbook/wsdg_src/WSDG_chapter_dissection.asciidoc | 2 +- docbook/wsdg_src/WSDG_chapter_libraries.asciidoc | 91 ++++++++++------- docbook/wsdg_src/WSDG_chapter_quick_setup.asciidoc | 56 +++++------ docbook/wsdg_src/WSDG_chapter_tools.asciidoc | 111 +++++++++++++-------- .../wsdg_src/WSDG_chapter_userinterface.asciidoc | 14 +-- docbook/wsdg_src/WSDG_chapter_works.asciidoc | 6 +- 9 files changed, 170 insertions(+), 125 deletions(-) diff --git a/docbook/attributes.asciidoc b/docbook/attributes.asciidoc index 5bd515b82e..f6c354b3e8 100644 --- a/docbook/attributes.asciidoc +++ b/docbook/attributes.asciidoc @@ -2,7 +2,9 @@ :wireshark-version: 2.9.1 -// We're migrating from AsciiDoc. +// We're migrating from AsciiDoc. This can be removed once we've migrated +// from legacy markup to modern: +// https://asciidoctor.org/docs/migration/#migration-cheatsheet :compat-mode: // Required for btn, kbd:, and menu: macros. :experimental: @@ -44,6 +46,9 @@ :pcap-filter-man-page-url: {tcpdump-main-url}manpages/pcap-filter.7.html :tcpdump-man-page-url: {tcpdump-main-url}manpages/tcpdump.1.html +:npcap-main-url: https://nmap.org/npcap/ +:npcap-development-url: https://github.com/nmap/npcap +:npcap-license-url: https://raw.githubusercontent.com/nmap/npcap/master/LICENSE :winpcap-main-url: https://www.winpcap.org/ :winpcap-download-url: {winpcap-main-url}install/ diff --git a/docbook/developer-guide.asciidoc b/docbook/developer-guide.asciidoc index 1ed67b9f88..771e363954 100644 --- a/docbook/developer-guide.asciidoc +++ b/docbook/developer-guide.asciidoc @@ -3,10 +3,11 @@ include::attributes.asciidoc[] = Wireshark Developer’s Guide: Version {wireshark-version} -// Convenience attribute. +// Attributes // XXX This should be surrounded by single quotes in the text. It’s // currently surrounded by plus signs for AsciiDoc compatibility. :dlt-glob: DLT_* +:qt-lts-version: 5.12 [[Preface]] ["preface",id="Preface"] diff --git a/docbook/wsdg_src/WSDG_chapter_build_intro.asciidoc b/docbook/wsdg_src/WSDG_chapter_build_intro.asciidoc index 9c55ebb147..698f39cc41 100644 --- a/docbook/wsdg_src/WSDG_chapter_build_intro.asciidoc +++ b/docbook/wsdg_src/WSDG_chapter_build_intro.asciidoc @@ -10,11 +10,12 @@ Wireshark consists of the following major parts: -* Packet dissection - in the _/epan/dissector_ and _/plugin/\*_ directories +* Packet dissection - in the _/epan/dissectors_ and +_/plugins/epan/{asterisk}_ directories * File I/O - using Wireshark’s own wiretap library -* Capture - using the libpcap/winpcap library, in _/wiretap_ +* Capture - using the libpcap and Npcap libraries, in _/wiretap_ * User interface - using Qt and associated libraries diff --git a/docbook/wsdg_src/WSDG_chapter_dissection.asciidoc b/docbook/wsdg_src/WSDG_chapter_dissection.asciidoc index 5d8cd34f09..f42dcd7c3b 100644 --- a/docbook/wsdg_src/WSDG_chapter_dissection.asciidoc +++ b/docbook/wsdg_src/WSDG_chapter_dissection.asciidoc @@ -1171,7 +1171,7 @@ was especially the case after seeing a lot of discussions about how particular IDL types are represented inside an octet stream. I have also had comments/feedback that this tool would be good for say a CORBA -class when teaching students what CORBA traffic looks like ``on the wire''. +class when teaching students what CORBA traffic looks like “on the wire”. It is also COOL to work on a great Open Source project such as the case with “Wireshark” ({wireshark-main-url}) diff --git a/docbook/wsdg_src/WSDG_chapter_libraries.asciidoc b/docbook/wsdg_src/WSDG_chapter_libraries.asciidoc index 2978e732c1..f3a502e487 100644 --- a/docbook/wsdg_src/WSDG_chapter_libraries.asciidoc +++ b/docbook/wsdg_src/WSDG_chapter_libraries.asciidoc @@ -11,12 +11,14 @@ Several libraries are needed to build and run Wireshark. Most of them are split into three packages: -. _Runtime_. System and third party libraries such as _MSVCR110.dll_ and _libglib-2.0-0.dll_. +. _Runtime_. System and third party libraries such as _vcruntime140.dll_ +and _libglib-2.0-0.dll_. -. _Developer_. Documentation, header files, import libraries, and other files needed for compilation. +. _Developer_. Documentation, header files, import libraries, and other +files needed for compilation. -. _Source_. Library sources, which are usually not required to -build Wireshark. +. _Source_. Library sources, which are usually not required to build +Wireshark. [TIP] .Our libraries are freely available @@ -29,7 +31,7 @@ See <> for an easier way to install them. [[ChLibsFormat]] -=== Binary library formats +=== Binary Library Formats Binary libraries are available in different formats, depending on the C compiler used to build it and of course the platform they were built for. @@ -37,7 +39,7 @@ compiler used to build it and of course the platform they were built for. [[ChLibsFormatUnix]] - +[discrete] ==== Unix If you have installed unix binary libraries on your system, they will @@ -48,8 +50,8 @@ and compile the source and then install the binaries. [[ChLibsFormatWin32]] - -==== Win32: MSVC +[discrete] +==== Windows Most of the Win32 binary libraries you will find on the web are in this format. You will recognize MSVC libraries by the .lib/.dll file extension. @@ -57,8 +59,7 @@ format. You will recognize MSVC libraries by the .lib/.dll file extension. [[ChLibsSetup]] - -=== Win32: Automated Library Download +=== Windows Automated Library Download The required libraries (apart from Qt) are automatically downloaded as part of the CMake generation step, and subsequently as required when libraries are updated. @@ -83,6 +84,7 @@ For more information on the Qt libraries, see <>. [[ChLibsUnixQt]] +[discrete] ==== Unix Most Linux distributions provide Qt and its development libraries as standard packages. @@ -95,7 +97,8 @@ It is available at https://www.qt.io/download-open-source/#section-2[]. [[ChLibsWin32Qt]] -==== Win32 MSVC +[discrete] +==== Windows Qt5 must be installed manually from the Qt installers page https://www.qt.io/download-open-source/#section-2[] using the version of Qt @@ -119,6 +122,7 @@ and its dependencies. [[ChLibsUnixGLib]] +[discrete] ==== Unix The GLib library is available for most Linux distributions and UNIX @@ -127,18 +131,20 @@ for your platform, you can get it at http://www.gtk.org[]. [[ChLibsWin32GLib]] -==== Win32 MSVC +[discrete] +==== Windows You can get the latest version at http://www.gtk.org[]. [[ChLibsSMI]] -=== SMI (optional) +=== SMI (Optional) LibSMI is used for MIB and PIB parsing and for OID resolution. [[ChLibsUnixSMI]] +[discrete] ==== Unix If this library isn't already installed or available as a @@ -147,7 +153,8 @@ http://www.ibr.cs.tu-bs.de/projects/libsmi/[]. [[ChLibsWin32SMI]] -==== Win32 MSVC +[discrete] +==== Windows Wireshark uses the source libSMI distribution at http://www.ibr.cs.tu-bs.de/projects/libsmi/[]. @@ -156,13 +163,14 @@ https://anonsvn.wireshark.org/wireshark-win32-libs/trunk/packages/[]. [[ChLibsCares]] -=== c-ares (optional) +=== c-ares (Optional) C-Ares is used for asynchronous DNS resolution. This is the primary name resolution library in Wireshark. [[ChLibsUnixCares]] +[discrete] ==== Unix If this library isn't already installed or available as a package for your @@ -170,14 +178,15 @@ platform, you can get it at http://c-ares.haxx.se/[]. [[ChLibsWin32Cares]] -==== Win32 MSVC +[discrete] +==== Windows C-Ares is cross-compiled using MinGW32 and is available at https://anonsvn.wireshark.org/wireshark-win32-libs/trunk/packages/[]. [[ChLibsZlib]] -=== zlib (optional) +=== zlib (Optional) [quote, The zlib web site, http://www.zlib.net/] ____ @@ -190,6 +199,7 @@ ____ [[ChLibsUnixZlib]] +[discrete] ==== Unix This library is almost certain to be installed on your system. If it isn't or @@ -198,7 +208,8 @@ http://www.zlib.net/[]. [[ChLibsWin32Zlib]] -==== Win32 MSVC +[discrete] +==== Windows The zlib sources are downloaded from https://anonsvn.wireshark.org/wireshark-win32-libs/trunk/packages/[] and compiled @@ -206,13 +217,14 @@ locally. [[ChLibsPcap]] -=== libpcap/WinPcap (optional) +=== libpcap or Npcap (Optional, But Strongly Recommended) -Libpcap and WinPcap provide that packet capture capabilities that are central +Libpcap and Npcap provide that packet capture capabilities that are central to Wireshark’s core functionality. [[ChLibsLibpcap]] +[discrete] ==== Unix: libpcap If this library isn't already installed or available as a package for your @@ -220,20 +232,21 @@ platform, you can get it at {tcpdump-main-url}. [[ChLibsWinpPcap]] -==== Win32 MSVC: WinPcap +[discrete] +==== Windows: Npcap -You can get the ``Windows packet capture library'' at: -https://www.winpcap.org/install/[] +You can get the Npcap Windows packet capture library at {npcap-main-url}. [[ChLibsGNUTLS]] -=== GnuTLS (optional) +=== GnuTLS (Optional) The GNU Transport Layer Security Library is used to enable TLS decryption using a RSA private key. [[ChLibsUnixGNUTLS]] +[discrete] ==== Unix If this library isn't already installed or available as a @@ -242,7 +255,8 @@ https://gnutls.org/[]. [[ChLibsWin32GNUTLS]] -==== Win32 MSVC +[discrete] +==== Windows We provide a package cross-compiled using MinGW32 at https://anonsvn.wireshark.org/wireshark-win32-libs/trunk/packages/[]. @@ -257,6 +271,7 @@ AES, Blowfish, SHA-1, SHA-256, and others. [[ChLibsUnixGcrypt]] +[discrete] ==== Unix If this library isn't already installed or available as a @@ -265,19 +280,21 @@ https://directory.fsf.org/wiki/Libgcrypt[]. [[ChLibsWin32Gcrypt]] -==== Win32 MSVC +[discrete] +==== Windows Part of our GnuTLS package. [[ChLibsKerberos]] -=== Kerberos (optional) +=== Kerberos (Optional) The Kerberos library is used to dissect Kerberos, sealed DCERPC and secureLDAP protocols. [[ChLibsUnixKerberos]] +[discrete] ==== Unix If this library isn't already installed or available as a @@ -286,19 +303,21 @@ http://web.mit.edu/Kerberos/dist/[]. [[ChLibsWin32Kerberos]] -==== Win32 MSVC +[discrete] +==== Windows We provide a package at https://anonsvn.wireshark.org/wireshark-win32-libs/trunk/packages/[]. [[ChLibsLua]] -=== LUA (optional) +=== LUA (Optional) The LUA library is used to add scripting support to Wireshark. [[ChLibsUnixLua]] +[discrete] ==== Unix If this library isn't already installed or available as a @@ -307,14 +326,15 @@ http://www.lua.org/download.html[]. [[ChLibsWin32Lua]] -==== Win32 MSVC +[discrete] +==== Windows We provide a copy of the official package at https://anonsvn.wireshark.org/wireshark-win32-libs/trunk/packages/[]. [[ChLibsMaxMindDB]] -=== MaxMindDB (optional) +=== MaxMindDB (Optional) MaxMind Inc. publishes a set of IP geolocation databases and related open source libraries. They can be used to map IP addresses to @@ -327,15 +347,16 @@ https://github.com/maxmind/libmaxminddb[]. We provide a package for Windows at https://anonsvn.wireshark.org/wireshark-win32-libs/trunk/packages/[]. -[[ChLibsWinSparkle]] +[[ChLibsSparkle]] -=== WinSparkle (optional) +=== WinSparkle (Optional) WinSparkle is an easy-to-use software update library for Windows developers. -[[ChLibsWin32WinSparkle]] +[[ChLibsWinSparkle]] -==== Win32 MSVC +[discrete] +==== Windows We provide a copy of the WinSparkle package at https://anonsvn.wireshark.org/wireshark-win32-libs/trunk/packages/[]. diff --git a/docbook/wsdg_src/WSDG_chapter_quick_setup.asciidoc b/docbook/wsdg_src/WSDG_chapter_quick_setup.asciidoc index b556b6c150..d83952e5df 100644 --- a/docbook/wsdg_src/WSDG_chapter_quick_setup.asciidoc +++ b/docbook/wsdg_src/WSDG_chapter_quick_setup.asciidoc @@ -48,13 +48,13 @@ You need to install, in exactly this order: . C compiler: https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community&rel=15[Download] -and install ``Microsoft Visual Studio 2017 Community Edition.'' This is a small +and install “Microsoft Visual Studio 2017 Community Edition.” This is a small download that then downloads all the other required parts (which are quite large). -Check the checkbox for "Desktop development with C++" and then uncheck -all the optional components other than the "VC++ 2017" item with the -"latest ... tools", the "Windows 10 SDK", and the "Visual C++ tools for -CMake" (unless you want to use them for purposes other than Wireshark). +Check the checkbox for “Desktop development with {cpp}” and then uncheck +all the optional components other than the “V{cpp} 2017” item with the +“latest ... tools”, the “Windows 10 SDK”, and the “Visual {cpp} tools for +CMake” (unless you want to use them for purposes other than Wireshark). You can use Chocolatey to install Visual Studio, to correctly configure the installation, copy the deployment XML file https://code.wireshark.org/review/gitweb?p=wireshark.git;a=blob_plain;f=tools/msvc2015AdminDeployment.xml;hb=HEAD[msvc2015AdminDeployment.xml] from the source code tools directory @@ -93,19 +93,19 @@ problems. ==== Install Qt The main Wireshark application uses the Qt windowing toolkit. To -install Qt, go to the https://www.qt.io/download["Download Qt" page], -select "Go open source", download the *Qt Online Installer for Windows* +install Qt, go to the https://www.qt.io/download[“Download Qt” page], +select “Go open source”, download the *Qt Online Installer for Windows* from the Qt Project and select, for the desired Qt version, a component -that matches your target system and compiler. For example, the Qt 5.9.5 -``msvc2017 64-bit'' component is used to build the official 64-bit +that matches your target system and compiler. For example, the Qt {qt-lts-version}.5 +“msvc2017 64-bit” component is used to build the official 64-bit packages. You can deselect all the Qt xxxx (e.g. Qt Charts) components -as they aren't required. +as they aren’t required. Note that installation of separate Qt components are required for 32 bit -and 64 bit builds, e.g. ``msvc2017 32-bit'' and ``msvc2017 64-bit''. The +and 64 bit builds, e.g. “msvc2017 32-bit” and “msvc2017 64-bit”. The environment variable `QT5_BASE_DIR` should be set as appropriate for your environment and should point to the Qt directory that contains the bin -directory, e.g. _C:\Qt\5.9.5\msvc2017_64_ +directory, e.g. _C:\Qt{backslash}{qt-lts-version}.5\msvc2017_64_ The Qt maintenance tool (_C:\Qt\MaintenanceTool.exe_) can be used to upgrade Qt to newer versions. @@ -176,15 +176,6 @@ so it shows a version number for: * Text/docbook-xml45 (only needed if you're building the documenation) -// Also need: bash/sh, sed - -You might also have to install - -* Interpreters/m4 - -if installing Devel/bison doesn't provide a working version of Bison. If -m4 is missing bison will fail. - After clicking the btn:[Next] button several times, the setup will then download and install the selected packages (this may take a while). @@ -358,14 +349,14 @@ Make sure your repository path doesn't contain spaces. ==== Open a Visual Studio Command Prompt -From the Start Menu (or Start Screen), navigate to the `Visual Studio -2017' folder and choose the Command Prompt appropriate for the build you -wish to make, e.g. `x64 Native Tools Command Prompt for VS 2017' for a -64-bit version or `x86 Native Tools Command Prompt for VS 2017' for a +From the Start Menu (or Start Screen), navigate to the “Visual Studio +2017” folder and choose the Command Prompt appropriate for the build you +wish to make, e.g. “x64 Native Tools Command Prompt for VS 2017” for a +64-bit version or “x86 Native Tools Command Prompt for VS 2017” for a 32-bit version. Depending on your version of Windows the Command Prompt -list might be directly under `Visual Studio 2017' or you might have to -dig for it under multiple folders, e.g. `Visual Studio 2017 -> Visual -Studio Tools -> Windows Desktop Command Prompts'. +list might be directly under “Visual Studio 2017” or you might have to +dig for it under multiple folders, e.g. menu:Visual Studio 2017[Visual +Studio Tools,Windows Desktop Command Prompts]. [TIP] .Pin the items to the Task Bar @@ -380,6 +371,7 @@ All subsequent operations take place in this Command Prompt window. -- Set the following environment variables, using paths and values suitable for your installation: +[subs="attributes+"] ---- > rem Let CMake determine the library download directory name under > rem WIRESHARK_BASE_DIR or set it explicitly by using WIRESHARK_LIB_DIR. @@ -387,7 +379,7 @@ Set the following environment variables, using paths and values suitable for you > set WIRESHARK_BASE_DIR=C:\Development > rem set WIRESHARK_LIB_DIR=c:\wireshark-win64-libs > rem Set the Qt installation directory -> set QT5_BASE_DIR=C:\Qt\5.9.5\msvc2017_64 +> set QT5_BASE_DIR=C:\Qt{backslash}{qt-lts-version}.5\msvc2017_64 > rem Append a custom string to the package version. Optional. > set WIRESHARK_VERSION_EXTRA=-YourExtraVersionInfo ---- @@ -410,9 +402,11 @@ Setting these variables could be added to a batch file to be run after you open the Visual Studio Tools Command Prompt. [TIP] +.Use Qt’s LTS branch ==== -Qt 5.9 is a "long term support" branch of Qt5. We recommend using it to -compile Wireshark on Windows. +We recommend using the most recent “long term support” branch of Qt5 to +compile Wireshark on Windows. At the time of writing this is Qt +{qt-lts-version}. ==== -- diff --git a/docbook/wsdg_src/WSDG_chapter_tools.asciidoc b/docbook/wsdg_src/WSDG_chapter_tools.asciidoc index f834029768..fe82f93688 100644 --- a/docbook/wsdg_src/WSDG_chapter_tools.asciidoc +++ b/docbook/wsdg_src/WSDG_chapter_tools.asciidoc @@ -447,26 +447,21 @@ https://docs.microsoft.com/en-us/cpp/build/reference/linking?view=vs-2017[Micros [[msvc-runtime-redistributable]] -==== C-Runtime "Redistributable" Files +==== Visual {cpp} Runtime “Redistributable” Files -Please note: The following is not legal advice - ask your preferred lawyer -instead. It’s the authors view and this view might be wrong. +Please note: The following is not legal advice. Ask your preferred +lawyer instead. It’s the authors view and this view might be wrong. -Depending on the Microsoft compiler version you use, some binary files coming -from Microsoft might be required to be installed on Windows machine to run -Wireshark. On a developer machine, the compiler setup installs these files so -they are available - but they might not be available on a user machine! - -This is especially true for the C runtime DLL (msvcr*.dll), which contains the -implementation of ANSI and alike functions, e.g.: fopen(), malloc(). The DLL is -named like: _msvcr**version**.dll_, an abbreviation for "Microsoft Visual C -Runtime". For Wireshark to work, this DLL must be available on the users -machine. - -Starting with MSVC7, it is necessary to ship the C runtime DLL -(_msvcr**version**.dll_) together with the application installer somehow, as that -DLL is possibly not available on the target system. +Wireshark and its libraries depend on POSIX functions such as fopen() +and malloc(). On Windows, these functions are provided by the Microsoft +Visual {cpp} Runtime. There are many different versions of the CRT and +Visual {cpp} 2015 and later use the _Universal CRT_. +The Universal CRT comes standard with Windows 10 and is installed as part +of Windows Update on earlier versions of Windows. The Wireshark .exe +installers include redistributables (_vcredist_x86.exe_ or +_vcredist_x64.exe_) which ensure that the Universal CRT is installed and +up to date. [NOTE] .Make sure you're allowed to distribute this file @@ -480,20 +475,21 @@ us. The following Microsoft Docs link is recommended for the interested reader: -* https://docs.microsoft.com/en-us/cpp/ide/redistributing-visual-cpp-files?view=vs-2017[Redistributing Visual C++ Files] +https://docs.microsoft.com/en-us/cpp/ide/redistributing-visual-cpp-files?view=vs-2017[Redistributing Visual {cpp} Files] In all cases where _vcredist_x86.exe_ or _vcredist_x64.exe_ is -downloaded it should be downloaded to the directory into which the support -libraries for Wireshark have been downloaded and installed. This directory is -specified by the WIRESHARK_BASE_DIR or WIRESHARK_LIB_DIR environment variables. -It need not, and should not, be run after being downloaded. +downloaded it should be downloaded to the directory into which the +support libraries for Wireshark have been downloaded and installed. This +directory is specified by the `WIRESHARK_BASE_DIR` or +`WIRESHARK_LIB_DIR` environment variables. It need not, and should not, +be run after being downloaded. -==== Windows (Platform) SDK +==== Windows Platform SDK The Windows Platform SDK (PSDK) or Windows SDK is a free (as in beer) download and contains platform specific headers and -libraries (e.g. `windows.h`, `WSock32.lib`, etc.). As new Windows -features evolve in time, updated SDK’s become available that +libraries (e.g. _windows.h_, _WSock32.lib_, etc.). As new Windows +features evolve in time, updated SDKs become available that include new and updated APIs. When you purchase a commercial Visual Studio or use the Community @@ -571,7 +567,7 @@ otherwise the debugger will simply fail or you will only see a lot of garbage. [[ChToolsMSVCDebugger]] -===== Visual Studio integrated debugger +===== Visual Studio Integrated Debugger You can use the integrated debugger of Visual Studio if your toolchain includes it. Open the solution in your build directory and build and debug as normal @@ -614,7 +610,7 @@ If you require a non-optimised version, then build using a debug configuration. [[ChToolsMSDebuggingTools]] -===== Debugging Tools for Windows +===== Debugging Tools For Windows You can also use the Microsoft Debugging Tools for Windows toolkit, which is a standalone GUI debugger. Although it’s not that comfortable compared to @@ -650,7 +646,8 @@ The bash shell is needed to run several shell scripts. [[ChToolsGNUBash]] -==== UNIX and UNIX-like platforms: GNU Bash +[discrete] +==== Unix Bash (the GNU Bourne-Again SHell) is available for most UNIX and UNIX-like platforms. If it isn't already installed or available as a @@ -734,7 +731,8 @@ and above should work fine. [[ChToolsUnixPerl]] -==== UNIX and UNIX-like platforms: Perl +[discrete] +==== Unix Perl is available for most UNIX and UNIX-like platforms. If perl isn't already installed or available as a package for your platform, you can @@ -768,7 +766,8 @@ However, the version string may vary. [[ChToolsWindowsPerl]] -==== Windows native: Perl +[discrete] +==== Windows A native Windows Perl package can be obtained from http://www.ActiveState.com[Active State] or http://strawberryperl.com/[Strawberry Perl]. The installation @@ -819,7 +818,8 @@ Bison is a parser generator used for some of Wireshark’s file format support. [[ChToolsUnixBison]] -==== UNIX and UNIX-like platforms: Bison +[discrete] +==== Unix Bison is available for most UNIX and UNIX-like platforms. See the next section for native Windows options. @@ -849,7 +849,8 @@ Your version string may vary. [[ChToolsWindowsBison]] -==== Windows native: Win flex-bison and bison +[discrete] +==== Windows A native Windows version of bison is available in the _winflexbison_ https://chocolatey.org/[Chocolatey] package. Note that the executable is named @@ -868,7 +869,8 @@ file formats, and other features. [[ChToolsUnixFlex]] -==== UNIX and UNIX-like platforms: flex +[discrete] +==== Unix Flex is available for most UNIX and UNIX-like platforms. See the next section for native Windows options. @@ -893,7 +895,8 @@ Your version string may vary. [[ChToolsWindowsFlex]] -==== Windows native: Win flex-bison and flex +[discrete] +==== Windows A native Windows version of flex is available in the _winflexbison_ https://chocolatey.org/[Chocolatey] package. Note that the executable is named @@ -926,7 +929,8 @@ client. [[ChToolsUnixGit]] -==== UNIX and UNIX-like platforms: git +[discrete] +==== Unix Git is available for most UNIX and UNIX-like platforms. If Git isn't already installed or available as a package for your platform, you can @@ -949,7 +953,8 @@ Your version will likely be different. [[ChToolsWindowsGit]] -==== Windows native: git +[discrete] +==== Windows The Git command line tools for Windows can be found at http://git-scm.com/download/win[] and can also be installed using Chocolatey: @@ -977,7 +982,7 @@ However, the version string may vary. [[ChToolsGitPowerShellExtensions]] -=== Git Powershell Extensions (optional) +=== Git Powershell Extensions (Optional) A useful tool for command line git on Windows is https://github.com/dahlbyk/posh-git[PoshGit]. Poshgit provides git command completion and alters the prompt to indicate the local working @@ -990,7 +995,7 @@ PS:\>choco install poshgit [[ChToolsGitGUI]] -=== Git GUI client (optional) +=== Git GUI Client (Optional) Along with the traditional command-line client, several GUI clients are available for a number of platforms. See @@ -1001,7 +1006,7 @@ http://git-scm.com/downloads/guis[] for details. [[ChToolsPatch]] -=== patch (optional) +=== patch (Optional) The patch utility is used to merge a diff file into your own source tree. This tool is only needed, if you want to apply a patch (diff file) from someone else @@ -1016,7 +1021,8 @@ tool. [[ChToolsUnixPatch]] -==== UNIX and UNIX-like platforms: patch +[discrete] +==== Unix Patch is available for most UNIX and UNIX-like platforms. If GNU patch isn't already installed or available as a package for your platform, you @@ -1049,7 +1055,8 @@ However, the version string may vary. [[ChToolsWindowsPatch]] -==== Windows native: patch +[discrete] +==== Windows The Windows native Git tools provide patch. A native Windows patch package can be obtained from http://gnuwin32.sourceforge.net/[]. The @@ -1057,7 +1064,7 @@ installation should be straightforward. [[ChToolsNSIS]] -=== Windows: NSIS (optional) +=== Windows: NSIS (Optional) The NSIS (Nullsoft Scriptable Install System) is used to generate _Wireshark-win32-{wireshark-version}.exe_ from all the files @@ -1065,7 +1072,7 @@ needed to be installed, including all required DLLs, plugins, and supporting files. To install it, download the latest released version from -http://nsis.sourceforge.net[]. NSIS v3 is required. You can also install +https://nsis.sourceforge.net[]. NSIS v3 is required. You can also install it using Chocolatey: [source,cmd] @@ -1075,7 +1082,23 @@ PS$> choco install nsis You can find more instructions on using NSIS in <>. -=== Windows: PortableApps (optional) +[[ChToolsWiX]] + +=== Windows: WiX Toolset (Optional) + +The Wix Toolset can be used to generate Windows Installer (_.msi_) +packages. You can download it from the link:http://wixtoolset.org/[WiX +web site] or install it using Chocolatey: + +[source,cmd] +---- +PS$> choco install wixtoolset +---- + +Wireshark’s .msi packaging is currently experimental and the generated +packages may be incomplete. + +=== Windows: PortableApps (Optional) The PortableApps.com Installer is used to generate _WiresharkPortable-{wireshark-version}.paf.exe_ from all the files diff --git a/docbook/wsdg_src/WSDG_chapter_userinterface.asciidoc b/docbook/wsdg_src/WSDG_chapter_userinterface.asciidoc index aefa013664..c709e0e4c4 100644 --- a/docbook/wsdg_src/WSDG_chapter_userinterface.asciidoc +++ b/docbook/wsdg_src/WSDG_chapter_userinterface.asciidoc @@ -52,7 +52,7 @@ documentation and instead prefer to learn an application as they use it. Providing feedback increases your sense of control and awareness, and makes the application more enjoyable to use. Most of the Qt dialogs provide a “hint” area near the bottom which shows useful information. -For example, the ``Follow Stream'' dialog shows the packet corresponding +For example, the “Follow Stream” dialog shows the packet corresponding to the text under the mouse. The profile management dialog shows a clickable path to the current profile. The main welcome screen shows live interface traffic. Most dialogs have a context menu that shows @@ -64,17 +64,17 @@ Qt Creator is a full-featured IDE and user interface editor. It makes adding new UI features much easier. It doesn't work well on Windows at the present time, so it’s recommended that you use it on macOS or Linux. -To edit and build Wireshark using Qt Cretor, open the top-level +To edit and build Wireshark using Qt Creator, open the top-level _CMakeLists.txt_ within Qt Creator. It should ask you to choose a build location. Do so. It should then ask you to run CMake. Fill in any -desired build arguments (e.g. "-D CMAKE_BUILD_TYPE=Debug" or "-D -ENABLE_CCACHE=ON") and click the ``Run CMake'' button. When that -completes select ``Build → Open Build and Run Kit Selector...'' and make +desired build arguments (e.g. `-D CMAKE_BUILD_TYPE=Debug` or `-D +ENABLE_CCACHE=ON`) and click the btn:[Run CMake] button. When that +completes select menu:Build[Open Build and Run Kit Selector...] and make sure _wireshark_ is selected. -Note that Qt Creator uses output created by CMake’s *CodeBlocks* +Note that Qt Creator uses output created by CMake’s “CodeBlocks” generator. If you run CMake outside of Qt Creator you should use the -``CodeBlocks - Unix Makefiles'' generator, otherwise Qt Creator will +“CodeBlocks - Unix Makefiles” generator, otherwise Qt Creator will prompt you to re-run CMake. ==== Source Code Overview diff --git a/docbook/wsdg_src/WSDG_chapter_works.asciidoc b/docbook/wsdg_src/WSDG_chapter_works.asciidoc index 59b1297c7c..f4b713c3eb 100644 --- a/docbook/wsdg_src/WSDG_chapter_works.asciidoc +++ b/docbook/wsdg_src/WSDG_chapter_works.asciidoc @@ -54,8 +54,8 @@ root directory. Dumpcap:: The capture engine itself. This is the only part that is to execute with elevated privileges. Source code is in the root directory. -WinPcap and libpcap:: These are separate libraries that provide packet capture -and filtering support on different platforms. The filtering WinPcap and libpcap +Npcap and libpcap:: These are separate libraries that provide packet capture +and filtering support on different platforms. The filtering in Npcap and libpcap works at a much lower level than Wireshark’s display filters and uses a significantly different mechanism. That’s why we have different display and capture filter syntaxes. @@ -74,7 +74,7 @@ privileges, allowing the main part of the code (dissectors, user interface, etc) to run with normal user privileges. To hide all the low-level machine dependent details from Wireshark, the libpcap -and WinPcap (see <>) libraries are used. These libraries provide a +and Npcap (see <>) libraries are used. These libraries provide a general purpose interface to capture packets and are used by a wide variety of applications. -- cgit v1.2.3