WinDivert 1.1: Windows Packet Divert
Windows Packet Divert (WinDivert) is a user-mode packet capture-and-divert package for Windows Vista, Windows 2008, Windows 7, Windows 8.
WinDivert allows user-mode applications to capture/modify/drop network packets sent to/from the Windows network stack. In summary, WinDivert can:
- capture network packets
- filter/drop network packets
- sniff network packets
- (re)inject network packets
- modify network packets
WinDivert can be used to implement user-mode packet filters, packet sniffers, firewalls, NAT, VPNs, tunneling applications, etc.
The main features of WinDivert include:
- packet interception, sniffing, or dropping modes
- supports loopback (localhost) traffic
- full IPv6 support
- network layer
- simple yet powerful API
- high-level filtering language
- filter priorities
- silent installation
- freely available under the terms of the GNU Lesser General Public License (LGPL)
➢ Documentation and Samples
- WinDivert Documentation: The WinDivert manual.
- WinDivert README.
- WinDivert ChangeLog.
- WinDivert FAQ.
- WinDivert sample applications including:
➢ Source Repository
The source code for WinDivert is hosted on GitHub:
Note that the repository version of WinDivert may be unstable.
The following source packages for WinDivert are available:
- WinDivert-1.1.1-Source.zip (Source zipfile)
The following binary packages for WinDivert are available. Choose the package that matches your compiler:
- WinDivert-1.1.1-MSVC.zip (Visual Studio 2012 zipfile)
- WinDivert-1.1.1-WDDK.zip (Windows Driver Kit zipfile)
- WinDivert-1.1.1-MINGW.zip (MinGW zipfile)
- To use WinDivert please ensure that you use the correct version (i.e. 32-bit WinDivert for 32-bit system, etc.) and that you are running with Administrator privileges. Otherwise WinDivert will fail to load.
- As of version 1.0.4, the binary WinDivert drivers are signed by Nemea Mjukvaruutveckling (Nemea Software Development). We thank Nemea for their support. Commercial users of WinDivert should sign the driver with their own certificate if possible.
- The WinDivert.dll and sample executables depend on an appropriate version of the Microsoft Visual C++ Redistributable library. For example, the MSVC WinDivert build depends on MSVCR110.dll. This file is not distributed as part of the WinDivert binary package and must be installed separately.
The following projects use WinDivert:
- ReQrypt: A HTTP request tunneling tool.
- BarbaTunnel: Tunnel VPN traffic through HTTP.
- PyDivert: A WinDivert Python binding.
- TorWall: Prototype transparent Tor for Windows.
- Clumsy: A utility for simulating a broken network for Windows.
Send feedback and/or questions to: