Npcap is the Nmap Project's packet sniffing library for Windows. It is based on the wonderful Winpcap / Libpcap libraries, but with improved improved speed, portability, security, and efficiency. In particular, Npcap offers:
- NDIS 6 Support: Npcap makes use of new NDIS 6 Light-Weight Filter (LWF) API in Windows Vista and later (the legacy driver is used on XP). It's faster than the deprecated NDIS 5 API, which Microsoft could remove at any time.
- Extra Security: Npcap can be restricted so that only Administrators can sniff packets. If a non-Admin user tries to utilize Npcap through software such as Nmap or Wireshark, the user will have to pass a User Account Control (UAC) dialog to utilize the driver. This is conceptually similar to UNIX, where root access is generally required to capture packets. We've also enabled the Windows ASLR and DEP security features.
- WinPcap compatibility: If you choose “WinPcap Compatible
Mode” at install-time, Npcap will use the WinPcap-style DLL directories
(“c:\Windows\System32”) and service name (“npf”),
allowing software built with WinPcap in mind to transparently use Npcap
instead. If compatibility mode is not selected, Npcap is installed in a
different location (“C:\Windows\System32\Npcap”) with a different
service name (“npcap”) so that both drivers can coexist on the same
system. In this case, applications which only know about WinPcap will continue
using that, while other applications can choose to use the newer and faster
Npcap driver instead.
- Loopback Packet Capture: Npcap is able to sniff loopback packets (transmissions between services on the same machine) by using the Windows Filtering Platform (WFP). After installation, Npcap will create an adapter named Npcap Loopback Adapter for you. If you are a Wireshark user, choose this adapter to capture, you will see all loopback traffic the same way as other non-loopback adapters. Try it by typing in commands like “ping 127.0.0.1” (IPv4) or “ping ::1” (IPv6).
- Loopback Packet Injection: Npcap is also able to send loopback packets using the Winsock Kernel (WSK) technique. User-level software such as Nping can just send the packets out using Npcap Loopback Adapter just like any other adapter. Npcap then does the magic of removing the packet's Ethernet header and injecting the payload into the Windows TCP/IP stack.
Npcap is free for anyone to download and use (but not redistribute) from our Github release system. Simply run the executable installer. The full source code for each release is available from there as well, and our Github source repository with the very latest code changes is also public.
The Npcap License allows end users to download, install, and use Npcap from our site for free. Software providers (open source or otherwise) which want to use Npcap functionality are welcome to point their users to npcap.org for those users to download and install.
We fund the Npcap project by selling licenses to companies who wish to redistribute Npcap within their products. This allows them to silently and seamlessly install Npcap during their product's installation rather than asking users to download and install Npcap themselves. The commercial license also includes support, updates and indemnification. This is similar to the commercial licenses we offer for embedding Nmap in commercial software. Contact firstname.lastname@example.org if interested.
Questions, comments and bug reports are always welcome. Please use the Nmap
development mailing list (nmap-dev). To subscribe, please visit:
Code patches to fix bugs are even better than bug reports. Instructions for
creating patch files and sending them are available here.
Bug reports for Npcap can also be filed on the Nmap bug tracker.