pcap

libpcap
Developer(s) The Tcpdump team
Stable release
1.8.1 / October 25,  2016 (2016-10-25)[1]
Repository libpcap on GitHub
Written in C (programming language)
Operating system Linux, Solaris, FreeBSD, NetBSD, OpenBSD, macOS, additional *NIX systems
Type Library for packet capture
License BSD license[2]
Website www.tcpdump.org
WinPcap
Developer(s) Riverbed Technology
Stable release
4.1.3 / March 8, 2013 (2013-03-08)[3]
Repository github.com/the-tcpdump-group/libpcap
Operating system Microsoft Windows
Type Library for packet capture
License Freeware
Website www.winpcap.org

In the field of computer network administration, pcap (packet capture) consists of an application programming interface (API) for capturing network traffic. Unix-like systems implement pcap in the libpcap library; Windows uses a port of libpcap known as WinPcap.

Monitoring software may use libpcap and/or WinPcap to capture packets travelling over a network and, in newer versions, to transmit packets on a network at the link layer, as well as to get a list of network interfaces for possible use with libpcap or WinPcap.

The pcap API is written in C, so other languages such as Java, .NET languages, and scripting languages generally use a wrapper; no such wrappers are provided by libpcap or WinPcap itself. C++ programs may link directly to the C API or use an object-oriented wrapper.

Features

libpcap and WinPcap provide the packet-capture and filtering engines of many open source and commercial network tools, including protocol analyzers (packet sniffers), network monitors, network intrusion detection systems, traffic-generators and network-testers.

libpcap and WinPcap also support saving captured packets to a file, and reading files containing saved packets; applications can be written, using libpcap or WinPcap, to be able to capture network traffic and analyze it, or to read a saved capture and analyze it, using the same analysis code. A capture file saved in the format that libpcap and WinPcap use can be read by applications that understand that format, such as tcpdump, Wireshark, CA NetMaster, or Microsoft Network Monitor 3.x.

The MIME type for the file format created and read by libpcap and WinPcap is application/vnd.tcpdump.pcap. The typical file extension is .pcap, although .cap and .dmp are also in common use.[4]

libpcap

libpcap was originally developed by the tcpdump developers in the Network Research Group at Lawrence Berkeley Laboratory. The low-level packet capture, capture file reading, and capture file writing code of tcpdump was extracted and made into a library, with which tcpdump was linked.[5] It is now developed by the same tcpdump.org group that develops tcpdump.[6]

WinPcap

WinPcap consists of:[7]

Programmers at the Politecnico di Torino wrote the original code; as of 2008 CACE Technologies, a company set up by some of the WinPcap developers, develops and maintains the product. CACE Technologies was acquired by Riverbed Technology on October 21, 2010.[8]

Because WinPcap uses the older NDIS 5.x APIs, it does not work on some builds of Windows 10, which have deprecated or removed those APIs in favor of the newer NDIS 6.x APIs. It also forces some limitations such as being unable to capture 802.1Q VLAN tags in Ethernet headers.

Npcap

Npcap is the Nmap Project's packet sniffing library for Windows.[9] It is based on the Winpcap / Libpcap libraries, but with improved speed, portability, security, and efficiency. Npcap offers:

Win10Pcap

Win10Pcap implementation is also based on the NDIS 6 driver model and works stably with Windows 10.[10]

Programs that use libpcap/WinPcap/Npcap

Wrapper libraries for libpcap/WinPcap

Non-pcap code that reads pcap files

References

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.