pcap

Интерфейс прикладного программирования для захвата сетевого трафика
libpcap
Разработчик(и)Команда Tcpdump
Стабильный релиз
1.10.4 / 7 апреля 2023 г. ; 19 месяцев назад [1] ( 2023-04-07 )
Репозиторийlibpcap на GitHub
Написано вС
Операционная системаLinux , Solaris , FreeBSD , NetBSD , OpenBSD , macOS , другие Unix-подобные
ТипБиблиотека для захвата пакетов
ЛицензияБСД [2]
Веб-сайтwww.tcpdump.org
WinPcap
Разработчик(и)Технология речного русла
Окончательный релиз
4.1.3 / 8 марта 2013 г. ; 11 лет назад [3] ( 2013-03-08 )
Операционная системаОкна
ТипБиблиотека для захвата пакетов
ЛицензияБесплатное ПО
Веб-сайтwww.winpcap.org
Npcap
Разработчик(и)проект Nmap
Стабильный релиз
1.79 / 19 января 2024 г. ; 9 месяцев назад [4] ( 2024-01-19 )
Операционная системаОкна
ТипБиблиотека для захвата пакетов
ЛицензияЗапатентованная разработка ( источник доступен )
Веб-сайт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]

библиотеки pcap для Windows

Хотя libpcap изначально разрабатывался для Unix-подобных операционных систем, был создан успешный порт для Windows под названием WinPcap. Он не поддерживается с 2013 года, [10] и было выпущено несколько конкурирующих форков с новыми функциями и поддержкой новых версий Windows.

WinPcap

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

Npcap — это библиотека анализа пакетов Nmap Project для Windows. [14] Она основана на WinPcap, но написана для использования сетевых улучшений Windows в NDIS версии 6. Ее авторы переписали драйвер протокола WinPcap NDIS 5 как драйвер облегченного фильтра (LWF), что снижает накладные расходы на обработку. [15] Техническое обслуживание Npcap обновило версию включенной библиотеки libpcap до последней доступной, что позволило авторам программного обеспечения использовать новые функции API, которые программное обеспечение Linux уже поддерживало. [16] Большинство программного обеспечения, которое использовало WinPcap, можно легко портировать для использования Npcap с минимальными изменениями. [17]

Npcap представил несколько нововведений, которых не было в WinPcap:

  • Npcap можно ограничить, чтобы только администраторы могли прослушивать пакеты. [18]
  • Npcap способен прослушивать и внедрять пакеты обратной связи (передачи между службами на одной машине) с помощью платформы фильтрации Windows . [19]
  • Npcap может захватывать кадры WiFi 802.11 на различных общедоступных сетевых адаптерах. [20]

В отличие от Nmap , Npcap является проприетарным программным обеспечением и требует специальной лицензии для использования и распространения, за исключением некоторых ограниченных случаев внутреннего использования. [21]

Win10Pcap

Реализация Win10Pcap также основана на модели драйвера NDIS 6 и стабильно работает с Windows 10. [ 22] Однако проект неактивен с 2016 года. [23]

Программы, которые используют или использовали libpcap

  • Bit-Twist — генератор и редактор пакетов Ethernet на основе libpcap для BSD , Linux и Windows.
  • Cain and Abel — устаревший инструмент восстановления пароля для Microsoft Windows
  • EtherApe — графический инструмент для мониторинга сетевого трафика и использования полосы пропускания в режиме реального времени.
  • Firesheep — устаревшее расширение для веб-браузера Firefox , которое перехватывало пакеты и осуществляло перехват сеанса.
  • iftop — инструмент для отображения использования полосы пропускания (аналогично top для сетевого трафика)
  • Kismet , для беспроводных локальных сетей 802.11
  • L0phtCrack — приложение для аудита и восстановления паролей .
  • McAfee ePolicy Orchestrator, функция обнаружения вредоносных систем
  • ngrep , также известный как «сетевой grep », изолирует строки в пакетах, отображает данные пакетов в удобном для пользователя виде.
  • Nmap — сетевая утилита для сканирования портов и снятия отпечатков пальцев
  • Pirni — устаревший инструмент сетевой безопасности для взломанных устройств iOS .
  • Scapy — инструмент для манипулирования пакетами в компьютерных сетях, написанный на Python Филиппом Бионди.
  • Snort — система обнаружения сетевых вторжений.
  • Suricata — платформа для предотвращения и анализа сетевых вторжений.
  • Symantec Data Loss Prevention, используется для мониторинга и идентификации конфиденциальных данных, отслеживания их использования и местоположения. Политики потери данных позволяют блокировать передачу конфиденциальных данных из сети или копирование их на другое устройство.
  • tcpdump — инструмент для захвата и дампа пакетов для дальнейшего анализа, а также WinDump — порт tcpdump для Windows.
  • Zeekсистема обнаружения вторжений и платформа мониторинга сети .
  • URL Snooper, находит URL-адреса аудио- и видеофайлов, чтобы разрешить их запись.
  • WhatPulse — статистическое измерительное приложение (входные данные, сеть, время безотказной работы).
  • Wireshark (ранее Ethereal) — графический инструмент для захвата пакетов и анализа протоколов.
  • XLink Kai , программное обеспечение, позволяющее играть в различные консольные игры по локальной сети в режиме онлайн
  • Xplico — инструмент сетевого криминалистического анализа (NFAT).

Библиотеки-обертки для libpcap

Не-pcap библиотеки, которые читают pcap-файлы

Другие приложения или устройства, которые читают или записывают файлы pcap или pcapng

  • Apache Drill , SQL-движок с открытым исходным кодом для интерактивного анализа больших наборов данных. [24] [25]
  • EndaceProbe от Endace — это масштабная система захвата пакетов, которая непрерывно записывает сетевой трафик за недели или месяцы. [26]

Ссылки

  1. ^ "tcpdump и libpcap последняя версия". tcpdump.org . Получено 2023-02-08 .
  2. ^ "лицензия tcpdump и libpcap". tcpdump.org . Получено 2020-05-02 .
  3. ^ "Журнал изменений WinPcap".
  4. ^ "npcap/CHANGELOG.md". GitHub .
  5. ^ Формат файла захвата PCAP. 23 июля 2023 г. Идентификатор draft-ietf-opsawg-pcap.
  6. ^ «Формат файла захвата PCAP». 1 марта 2024 г.
  7. ^ Тернер, Глен (2011-03-30). "Запись IANA о заявке на тип MIME application/vnd.tcpdump.pcap". IANA . Получено 2023-02-25 .
  8. ^ МакКейн, Стив. "libpcap: Архитектура и методология оптимизации для захвата пакетов" (PDF) . Получено 27 декабря 2013 г.
  9. ^ "TCPDUMP/LIBPCAP public repository" . Получено 27 декабря 2013 г. .
  10. ^ "WinPcap News" . Получено 6 ноября 2017 г. .
  11. ^ "WinPcap internals" . Получено 27 декабря 2013 г. .
  12. ^ "Riverbed расширяет свое присутствие на рынке управления производительностью сетей с учетом приложений, приобретая CACE Technologies" (пресс-релиз). Riverbed Technology . 2010-10-21. Архивировано из оригинала 2013-03-08 . Получено 2010-10-21 .
  13. ^ "WinPcap · Новости". WinPcap . 2013-03-08.
  14. ^ "Npcap".
  15. ^ "Фильтрация драйверов". 15 декабря 2021 г.
  16. ^ "Выпуск Npcap 1.20". GitHub .
  17. ^ "Обновление программного обеспечения WinPcap до Npcap". Разработка программного обеспечения с помощью Npcap . Получено 2023-02-25 .
  18. ^ "Параметры графического установщика". Руководство пользователя Npcap . Получено 25.02.2023 .
  19. ^ "Для программного обеспечения, использующего функцию обратной связи Npcap". Руководство пользователя Npcap . Получено 25.02.2023 .
  20. ^ "Для программного обеспечения, использующего функцию Npcap raw 802.11". Руководство пользователя Npcap . Получено 25.02.2023 .
  21. ^ "Лицензия Npcap". GitHub .
  22. ^ "Win10Pcap: WinPcap для Windows 10".
  23. ^ Win10Pcap: WinPcap для Windows 10 (модель драйвера NDIS 6.x): SoftEtherVPN/Win10Pcap, проект SoftEther VPN, 2019-12-31 , получено 2020-01-09
  24. Бевенс, Бриджит (31 июля 2017 г.). «Drill 1.11 Released».
  25. ^ Пакет.java на GitHub
  26. ^ "Что может читать или сохранять PCAP?". Что такое файл PCAP? . Endace .
  • Официальный сайт , libpcap, tcpdump
  • Официальный сайт , Npcap
  • Официальный сайт , WinPcap, WinDump
  • Список общедоступных файлов PCAP
Взято с "https://en.wikipedia.org/w/index.php?title=Pcap&oldid=1254741251"