387 lines
9.6 KiB
Plaintext
387 lines
9.6 KiB
Plaintext
++++++++++++++++++++++++++++++++++++++
|
|
<!-- WSDG Chapter Libraries -->
|
|
++++++++++++++++++++++++++++++++++++++
|
|
|
|
[[ChapterLibraries]]
|
|
|
|
== Library Reference
|
|
|
|
[[ChLibIntro]]
|
|
|
|
=== Introduction
|
|
|
|
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'.
|
|
|
|
. 'Developer'. Documentation, header files, import libraries, and other files needed for compilation.
|
|
|
|
. 'Source'. Library sources, which are usually not required to
|
|
build Wireshark.
|
|
|
|
[TIP]
|
|
.Our libraries are freely available
|
|
====
|
|
All libraries required to build Wireshark on Windows are available for download at
|
|
https://anonsvn.wireshark.org/wireshark-win32-libs/trunk/packages/[] and
|
|
https://anonsvn.wireshark.org/wireshark-win64-libs/trunk/packages/[].
|
|
See <<ChLibsSetup>> for an easier way to install them.
|
|
====
|
|
|
|
[[ChLibsFormat]]
|
|
|
|
=== 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.
|
|
|
|
|
|
[[ChLibsFormatUnix]]
|
|
|
|
|
|
==== Unix
|
|
|
|
If you have installed unix binary libraries on your system, they will
|
|
match the C compiler. If not already installed, the libraries should be
|
|
available as a package from the platform installer, or you can download
|
|
and compile the source and then install the binaries.
|
|
|
|
|
|
[[ChLibsFormatWin32]]
|
|
|
|
|
|
==== Win32: MSVC
|
|
|
|
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.
|
|
|
|
|
|
[[ChLibsFormatWin32Cygwin]]
|
|
|
|
|
|
==== Win32: cygwin gcc
|
|
|
|
Cygwin provides most of the required libraries (with file extension .a or .lib)
|
|
for Wireshark suitable for cygwin's gcc compiler.
|
|
|
|
|
|
[[ChLibsSetup]]
|
|
|
|
|
|
=== Win32: 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.
|
|
|
|
The libraries are downloaded into the directory indicated by the environment
|
|
variable WIRESHARK_BASE_DIR, this must be set appropriately for your environment.
|
|
The libraries are downloaded and extracted into WIRESHARK_BASE_DIR\wireshark-win32-libs
|
|
and WIRESHARK_BASE_DIR\wireshark-win64-libs for 32 and 64 bit builds respectively.
|
|
|
|
You may also directly set the library directory with the environment variable
|
|
WIRESHARK_LIB_DIR, but if you switch between 32 bit and 64 bit builds, the value of this
|
|
must be set appropriately.
|
|
|
|
[[ChLibsQt]]
|
|
|
|
=== Qt
|
|
|
|
The Qt library is used to build the UI for Wireshark and is used to provide a
|
|
platform independent UI.
|
|
For more information on the Qt libraries, see <<ChUIQt>>.
|
|
|
|
[[ChLibsUnixQt]]
|
|
|
|
==== Unix
|
|
|
|
TBD.
|
|
|
|
[[ChLibsWin32Qt]]
|
|
|
|
==== Win32 MSVC
|
|
|
|
Qt5 must be installed manually, from the Qt installers page
|
|
http://www.qt.io/download-open-source/#section-2[], using the version of Qt
|
|
appropriate for your compiler. Note that separate installations (into different directories) of Qt
|
|
are required for 32 bit and 64 bit builds. 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\Qt5.5.0\5.5\msvc2013
|
|
|
|
[[ChLibsGtk]]
|
|
|
|
=== GTK+ / GLib / GDK / Pango / ATK / GNU gettext / GNU libiconv
|
|
|
|
The Glib library is used as a basic platform abstraction library, it's
|
|
not related to graphical user interface (GUI) things. For a detailed
|
|
description about GLib, see <<ChCodeGLib>>.
|
|
|
|
The GTK and its dependent libraries are used to build the older, deprecated, Wireshark GUI.
|
|
For a detailed description of the GTK libraries, see <<ChUIGTK>>.
|
|
|
|
All other libraries are dependent on the two libraries mentioned above,
|
|
you will typically not come in touch with these while doing Wireshark
|
|
development.
|
|
|
|
As the requirements for the GLib/GTK libraries have increased in the past,
|
|
the required additional libraries depend on the GLib/GTK versions you have.
|
|
The 2.x versions require all mentioned libs.
|
|
|
|
[[ChLibsUnixGTK]]
|
|
|
|
==== Unix
|
|
|
|
The GLib/GTK+ libraries are available for many unix-like platforms and
|
|
Cygwin.
|
|
|
|
If these libraries aren't already installed and also aren't available as a
|
|
package for your platform, you can get them at
|
|
http://www.gtk.org/download.html[].
|
|
|
|
[[ChLibsWin32GTK]]
|
|
|
|
==== Win32 MSVC
|
|
|
|
You can get the latest version at http://www.gtk.org/download.html[].
|
|
|
|
[[ChLibsSMI]]
|
|
|
|
=== SMI (optional)
|
|
|
|
LibSMI is used for MIB and PIB parsing and for OID resolution.
|
|
|
|
[[ChLibsUnixSMI]]
|
|
|
|
==== Unix
|
|
|
|
If this library isn't already installed or available as a
|
|
package for your platform, you can get it at
|
|
http://www.ibr.cs.tu-bs.de/projects/libsmi/[].
|
|
|
|
[[ChLibsWin32SMI]]
|
|
|
|
==== Win32 MSVC
|
|
|
|
Wireshark uses the source libSMI distribution at
|
|
http://www.ibr.cs.tu-bs.de/projects/libsmi/[].
|
|
LibSMI is cross-compiled using MinGW32. It's stored in the libsmi zip archive at
|
|
https://anonsvn.wireshark.org/wireshark-win32-libs/trunk/packages/[].
|
|
|
|
[[ChLibsCares]]
|
|
|
|
=== c-ares (optional)
|
|
|
|
C-Ares is used for asynchronous DNS resolution. This is the primary name
|
|
resolution library in Wireshark.
|
|
|
|
[[ChLibsUnixCares]]
|
|
|
|
==== Unix
|
|
|
|
If this library isn't already installed or available as a package for your
|
|
platform, you can get it at http://c-ares.haxx.se/[].
|
|
|
|
[[ChLibsWin32Cares]]
|
|
|
|
==== Win32 MSVC
|
|
|
|
C-Ares is cross-compiled using MinGW32 and is available at
|
|
https://anonsvn.wireshark.org/wireshark-win32-libs/trunk/packages/[].
|
|
|
|
[[ChLibsZlib]]
|
|
|
|
=== zlib (optional)
|
|
|
|
[quote, The zlib web site, http://www.zlib.net/]
|
|
____
|
|
zlib is designed to be a
|
|
http://www.gzip.org/zlib/zlib_license.html[free],
|
|
general-purpose, legally unencumbered -- that is, not covered by any
|
|
patents -- lossless data-compression library for use on virtually any computer
|
|
hardware and operating system.
|
|
____
|
|
|
|
[[ChLibsUnixZlib]]
|
|
|
|
==== Unix
|
|
|
|
This library is almost certain to be installed on your system. If it isn't or
|
|
you don't want to use the default library you can download it from
|
|
http://www.zlib.net/[].
|
|
|
|
[[ChLibsWin32Zlib]]
|
|
|
|
==== Win32 MSVC
|
|
|
|
The zlib sources are downloaded from
|
|
https://anonsvn.wireshark.org/wireshark-win32-libs/trunk/packages/[] and compiled
|
|
locally.
|
|
|
|
[[ChLibsPcap]]
|
|
|
|
=== libpcap/WinPcap (optional)
|
|
|
|
Libpcap and WinPcap provide that packet capture capabilities that are central
|
|
to Wireshark's core functionality.
|
|
|
|
[[ChLibsLibpcap]]
|
|
|
|
==== Unix: libpcap
|
|
|
|
If this library isn't already installed or available as a package for your
|
|
platform, you can get it at http://www.tcpdump.org/[].
|
|
|
|
[[ChLibsWinpPcap]]
|
|
|
|
==== Win32 MSVC: WinPcap
|
|
|
|
You can get the "Windows packet capture library" at:
|
|
https://www.winpcap.org/install/[]
|
|
|
|
[[ChLibsGNUTLS]]
|
|
|
|
=== GnuTLS (optional)
|
|
|
|
The GNU Transport Layer Security Library is used to dissect SSL and TLS
|
|
protocols (aka: HTTPS).
|
|
|
|
[[ChLibsUnixGNUTLS]]
|
|
|
|
==== Unix
|
|
|
|
If this library isn't already installed or available as a
|
|
package for your platform, you can get it at
|
|
https://www.gnu.org/software/gnutls/download.html[].
|
|
|
|
[[ChLibsWin32GNUTLS]]
|
|
|
|
==== Win32 MSVC
|
|
|
|
We provide a package cross-compiled using MinGW32 at
|
|
https://anonsvn.wireshark.org/wireshark-win32-libs/trunk/packages/[].
|
|
|
|
[[ChLibsGcrypt]]
|
|
|
|
=== Gcrypt (optional)
|
|
|
|
The Gcrypt Library is a low-level encryption library that provides
|
|
support for many ciphers, such as DES, 3DES, AES, Blowfish, and others..
|
|
|
|
[[ChLibsUnixGcrypt]]
|
|
|
|
==== Unix
|
|
|
|
If this library isn't already installed or available as a
|
|
package for your platform, you can get it at
|
|
https://directory.fsf.org/wiki/Libgcrypt[].
|
|
|
|
[[ChLibsWin32Gcrypt]]
|
|
|
|
==== Win32 MSVC
|
|
|
|
Part of our GnuTLS package.
|
|
|
|
[[ChLibsKerberos]]
|
|
|
|
=== Kerberos (optional)
|
|
|
|
The Kerberos library is used to dissect Kerberos, sealed DCERPC and
|
|
secureLDAP protocols.
|
|
|
|
[[ChLibsUnixKerberos]]
|
|
|
|
==== Unix
|
|
|
|
If this library isn't already installed or available as a
|
|
package for your platform, you can get it at
|
|
http://web.mit.edu/Kerberos/dist/[].
|
|
|
|
[[ChLibsWin32Kerberos]]
|
|
|
|
==== Win32 MSVC
|
|
|
|
We provide a package at
|
|
https://anonsvn.wireshark.org/wireshark-win32-libs/trunk/packages/[].
|
|
|
|
[[ChLibsLua]]
|
|
|
|
=== LUA (optional)
|
|
|
|
The LUA library is used to add scripting support to Wireshark.
|
|
|
|
[[ChLibsUnixLua]]
|
|
|
|
==== Unix
|
|
|
|
If this library isn't already installed or available as a
|
|
package for your platform, you can get it at
|
|
http://www.lua.org/download.html[].
|
|
|
|
[[ChLibsWin32Lua]]
|
|
|
|
==== Win32 MSVC
|
|
|
|
We provide a copy of the official package at
|
|
https://anonsvn.wireshark.org/wireshark-win32-libs/trunk/packages/[].
|
|
|
|
[[ChLibsPortAudio]]
|
|
|
|
=== PortAudio (optional)
|
|
|
|
The PortAudio library enables audio output for RTP streams.
|
|
|
|
[[ChLibsUnixPortAudio]]
|
|
|
|
==== Unix
|
|
|
|
If this library isn't already installed or available as a
|
|
package for your platform, you can get it at
|
|
http://www.portaudio.com/download.html[].
|
|
|
|
[[ChLibsWin32PortAudio]]
|
|
|
|
==== Win32 MSVC
|
|
|
|
The PortAudio sources are downloaded from
|
|
https://anonsvn.wireshark.org/wireshark-win32-libs/trunk/packages/[] and compiled
|
|
locally.
|
|
|
|
[[ChLibsGeoIP]]
|
|
|
|
=== GeoIP (optional)
|
|
|
|
MaxMind Inc. publishes a GeoIP database for use in open source software.
|
|
It can be used to map IP addresses to geographical locations.
|
|
|
|
[[ChLibsUnixGeoIP]]
|
|
|
|
==== Unix
|
|
|
|
If this library isn't already installed or available as a
|
|
package for your platform, you can get it at
|
|
http://www.maxmind.com/app/c[].
|
|
|
|
[[ChLibsWin32GeoIP]]
|
|
|
|
==== Win32 MSVC
|
|
|
|
We provide a package cross-compiled using MinGW32 at
|
|
https://anonsvn.wireshark.org/wireshark-win32-libs/trunk/packages/[].
|
|
|
|
[[ChLibsWinSparkle]]
|
|
|
|
=== WinSparkle (optional)
|
|
|
|
WinSparkle is an easy-to-use software update library for Windows developers.
|
|
|
|
[[ChLibsWin32WinSparkle]]
|
|
|
|
==== Win32 MSVC
|
|
|
|
We provide a copy of the WinSparkle package at
|
|
https://anonsvn.wireshark.org/wireshark-win32-libs/trunk/packages/[].
|
|
|
|
++++++++++++++++++++++++++++++++++++++
|
|
<!-- End of WSDG Chapter Libraries -->
|
|
++++++++++++++++++++++++++++++++++++++
|