Разработчик(и) | Команда Tcpdump |
---|---|
Стабильный релиз | 1.10.4 / 7 апреля 2023 г. ( 2023-04-07 ) [1] |
Репозиторий | libpcap на GitHub |
Написано в | С |
Операционная система | Linux , Solaris , FreeBSD , NetBSD , OpenBSD , macOS , другие Unix-подобные |
Тип | Библиотека для захвата пакетов |
Лицензия | БСД [2] |
Веб-сайт | www.tcpdump.org |
Разработчик(и) | Технология речного русла |
---|---|
Окончательный релиз | 4.1.3 / 8 марта 2013 г. ( 2013-03-08 ) [3] |
Операционная система | Окна |
Тип | Библиотека для захвата пакетов |
Лицензия | Бесплатное ПО |
Веб-сайт | www.winpcap.org |
Разработчик(и) | проект Nmap |
---|---|
Стабильный релиз | 1.79 / 19 января 2024 г. ( 2024-01-19 ) [4] |
Операционная система | Окна |
Тип | Библиотека для захвата пакетов |
Лицензия | Запатентованная разработка ( источник доступен ) |
Веб-сайт | npcap.com |
В области администрирования компьютерных сетей 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 или использовать объектно-ориентированную обертку.
libpcap, WinPcap и Npcap предоставляют механизмы захвата и фильтрации пакетов для многих сетевых инструментов с открытым исходным кодом и коммерческих сетевых инструментов, включая анализаторы протоколов ( анализаторы пакетов ), сетевые мониторы , системы обнаружения сетевых вторжений , генераторы трафика и сетевые тестеры.
Большинство современных Unix-подобных систем предоставляют механизм, с помощью которого программа может захватывать сетевой трафик к машине, на которой запущена программа, и с нее, а в некоторых случаях и другой трафик, к которому подключена эта машина. Однако эти механизмы существенно отличаются друг от друга; библиотека libpcap предоставляет общий API для доступа к этим механизмам, что позволяет писать программы для захвата сетевого трафика, не беспокоясь о деталях всех этих механизмов.
libpcap, WinPcap и Npcap также поддерживают сохранение захваченных пакетов в файл и чтение файлов, содержащих сохраненные пакеты; приложения могут быть написаны с использованием libpcap, WinPcap или Npcap, чтобы иметь возможность захватывать сетевой трафик и анализировать его, или читать сохраненный захват и анализировать его, используя тот же код анализа. Файл захвата, сохраненный в формате, который используют libpcap, WinPcap и Npcap, может быть прочитан приложениями, которые понимают этот формат, такими как tcpdump , Wireshark , CA NetMaster или Microsoft Network Monitor 3.x. Формат файла описан в Internet-Draft draft-ietf-opsawg-pcap; [5] также доступна текущая редакционная версия черновика. [6]
Тип MIME для формата файла, созданного и прочитанного libpcap, WinPcap и Npcap, — application/vnd.tcpdump.pcap. Типичное расширение файла — .pcap, хотя .cap и .dmp также широко используются. [7]
libpcap изначально была разработана разработчиками tcpdump в Network Research Group в Lawrence Berkeley Laboratory . Низкоуровневый код захвата пакетов, чтения файла захвата и записи файла захвата tcpdump был извлечен и преобразован в библиотеку, с которой был связан tcpdump. [8] В настоящее время он разрабатывается той же группой tcpdump.org, которая разрабатывает tcpdump. [9]
Хотя libpcap изначально разрабатывался для Unix-подобных операционных систем, был создан успешный порт для Windows под названием WinPcap. Он не поддерживается с 2013 года, [10] и было выпущено несколько конкурирующих форков с новыми функциями и поддержкой новых версий Windows.
WinPcap состоит из: [11]
Программисты Политехнического университета Турина написали оригинальный код. По состоянию на 2008 год CACE Technologies, компания, созданная некоторыми разработчиками WinPcap, разрабатывала и поддерживала продукт. CACE была приобретена Riverbed Technology 21 октября 2010 года. [12]
Поскольку WinPcap использует старые API NDIS 5.x, он не работает на некоторых сборках Windows 10, которые устарели или удалили эти API в пользу новых API NDIS 6.x. Он также накладывает некоторые ограничения, такие как невозможность захвата тегов VLAN 802.1Q в заголовках Ethernet .
Проект WinPcap прекратил разработку, а WinPcap и WinDump больше не поддерживаются. Последний официальный релиз WinPcap был 4.1.3, выпущенный 8 марта 2013 года. [13]
Npcap — это библиотека анализа пакетов Nmap Project для Windows. [14] Она основана на WinPcap, но написана для использования сетевых улучшений Windows в NDIS версии 6. Ее авторы переписали драйвер протокола WinPcap NDIS 5 как драйвер облегченного фильтра (LWF), что снижает накладные расходы на обработку. [15] Техническое обслуживание Npcap обновило версию включенной библиотеки libpcap до последней доступной, что позволило авторам программного обеспечения использовать новые функции API, которые программное обеспечение Linux уже поддерживало. [16] Большинство программного обеспечения, которое использовало WinPcap, можно легко портировать для использования Npcap с минимальными изменениями. [17]
Npcap представил несколько нововведений, которых не было в WinPcap:
В отличие от Nmap , Npcap является проприетарным программным обеспечением и требует специальной лицензии для использования и распространения, за исключением некоторых ограниченных случаев внутреннего использования. [21]
Реализация Win10Pcap также основана на модели драйвера NDIS 6 и стабильно работает с Windows 10. [ 22] Однако проект неактивен с 2016 года. [23]