Введение
Интерфейс программирования приложений для захвата сетевого трафика, API для перехвата пакетов. В области администрирования компьютерных сетей pcap — это интерфейс программирования приложений (API) для захвата сетевого трафика. Хотя название является сокращением от packet capture, это не является официальным названием API. В Unix-подобных системах pcap реализован в библиотеке libpcap; для Windows существует порт libpcap под названием WinPcap, поддержка и разработка которого прекращены, а также порт под названием Npcap для Windows 7 и более поздних версий, который по-прежнему поддерживается. Программное обеспечение для мониторинга может использовать libpcap, WinPcap или Npcap для захвата сетевых пакетов, передаваемых по компьютерной сети, и в новых версиях — для передачи пакетов в сети на канальном уровне, а также для получения списка сетевых интерфейсов для возможного использования с libpcap, WinPcap или Npcap. API pcap написан на языке C, поэтому другие языки, такие как Java, .NET и скриптовые языки, обычно используют обёртки; libpcap или WinPcap не предоставляют таких обёрток. Программы на C++ могут напрямую подключаться к API на C или использовать объектно-ориентированную обёртку.
the packet sniffing API
In the field of computer network administration, pcap is an application programming interface (API) for capturing network traffic. While the name is an abbreviation of packet capture, that is not the API's proper name. Unix like systems implement pcap in the libpcap library; for Windows, there is a port of libpcap named WinPcap that is no longer supported or developed, and a port named Npcap for Windows 7 and later that is still supported. Monitoring software may use libpcap, WinPcap, or Npcap to capture network packets traveling over a computer network and, in newer versions, to transmit packets on a network at the link layer, and to get a list of network interfaces for possible use with libpcap, WinPcap, or Npcap. 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 make use of an object oriented wrapper.
Особенности
libpcap, WinPcap и Npcap предоставляют механизмы захвата и фильтрации пакетов для многих сетевых инструментов с открытым и коммерческим исходным кодом, включая анализаторы протоколов (снифферы пакетов), сетевые мониторы, системы обнаружения сетевых вторжений, генераторы трафика и сетевые тестеры. libpcap, WinPcap и Npcap также поддерживают сохранение захваченных пакетов в файл и чтение файлов, содержащих сохраненные пакеты. Приложения могут быть разработаны с использованием libpcap, WinPcap или Npcap для захвата сетевого трафика и его анализа, или для чтения сохраненного захвата и анализа с использованием того же кода. Файл захвата, сохраненный в формате, используемом libpcap, WinPcap и Npcap, может быть прочитан приложениями, поддерживающими этот формат, такими как tcpdump, Wireshark, CA NetMaster или Microsoft Network Monitor 3.x. Формат файла описан в Internet Draft draft-ietf-opsawg-pcap; текущая версия проекта также доступна. MIME-тип для формата файла, создаваемого и читаемого libpcap, WinPcap и Npcap, – application/vnd.tcpdump.pcap. Типичным расширением файла является pcap, хотя также часто используются расширения cap и dmp.
История
libpcap был первоначально разработан создателями tcpdump в сетевой исследовательской группе Лоуренс-Берклейской национальной лаборатории. Код низкоуровневого захвата пакетов, чтения файлов захвата и записи файлов захвата из tcpdump был выделен и преобразован в библиотеку, с которой затем и был связан tcpdump. В настоящее время разработка libpcap ведется той же командой tcpdump.org, что и разработка tcpdump.
библиотеки pcap для Windows
В то время как libpcap изначально разрабатывался для Unix-подобных операционных систем, был успешно портирован на Windows под названием WinPcap. Он не поддерживается с 2013 года, и с тех пор появилось несколько конкурирующих ответвлений с новыми функциями и поддержкой более новых версий Windows.
Win10Pcap
Реализация Win10Pcap также основана на модели драйверов NDIS 6 и стабильно работает в Windows 10. Однако разработка проекта не ведется с 2016 года.
Другие приложения или устройства, читающие или записывающие файлы pcap или pcapng
Apache Drill — это SQL-движок с открытым исходным кодом для интерактивного анализа больших объемов данных. EndaceProbe — высокопроизводительная система захвата пакетов, непрерывно записывающая сетевой трафик на протяжении недель или месяцев.