forked from osmocom/wireshark
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 <gerald@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Gerald Combs <gerald@wireshark.org>
This commit is contained in:
parent
8dbca7320d
commit
c39bc2a4f6
|
@ -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/
|
||||
|
||||
|
|
|
@ -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"]
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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})
|
||||
|
|
|
@ -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 <<ChLibsSetup>> 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 <<ChUIQt>>.
|
|||
|
||||
[[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/[].
|
||||
|
|
|
@ -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}.
|
||||
====
|
||||
|
||||
--
|
||||
|
|
|
@ -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 <<ChSrcNSIS>>.
|
||||
|
||||
=== 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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 <<ChLibsPcap>>) libraries are used. These libraries provide a
|
||||
and Npcap (see <<ChLibsPcap>>) libraries are used. These libraries provide a
|
||||
general purpose interface to capture packets and are used by a wide variety of
|
||||
applications.
|
||||
|
||||
|
|
Loading…
Reference in New Issue