Berkeley Packet Filter (original) (raw)

About DBpedia

Le BPF (Berkeley Packet Filter) ou BSD packet filter, est un code minimaliste injecté dans le kernel, il permet à l'utilisateur d'effectuer du filtrage réseau dans le kernel. Au cours de ses différentes versions (Exemple: eBPF(extend Berkeley Packet Filter)), de nouveaux outils ont été mis en place afin de faciliter la production de programme BPF. De plus de nouveaux domaines d'utilisation sont devenus exploitables, tel que le monitoring d’événement dans le kernel et son traçage. Différents problèmes existent encore à ce jour, principalement au niveau du vérificateur.

Property Value
dbo:abstract Das Berkeley Packet Filter (BPF), auch Berkeley-Filter, bietet auf unixähnlichen Betriebssystemen eine Schnittstelle zur Sicherungsschicht an, die es erlaubt, Datenpakete der Sicherungsschicht zu senden und zu empfangen. Falls der Treiber der Netzwerkschnittstelle den Promiscuous Mode unterstützt, kann die Schnittstelle in diesen Modus geschaltet werden, damit alle Pakete des Netzwerkes, auch jene, die für andere Netzwerkadapter bestimmt sind, empfangen werden können. Das BPF unterstützt außerdem das Filtern von Datenpaketen, damit nur interessante Pakete verarbeitet werden und somit Rechenleistung gespart wird. Die Berkeley-Filter-Funktionalität ist als Interpreter in Maschinensprache für die BPF-VM implementiert. Computerprogramme können somit Daten aus dem Paket lesen, arithmetische Operationen darauf ausführen, das Resultat gegen die Filterdefinition vergleichen und anschließend das Paket akzeptieren oder verwerfen. Auf manchen Systemen, einschließlich FreeBSD und WinPcap, wird Just-in-time-Kompilierung (Konvertierung von Instruktionen der virtuellen Maschine in Maschinensprache) unterstützt, um die Leistung des Systems zu verbessern. Seitdem auch unter Linux die Just-in-time-Kompilierung unterstützt wird, entwickelt sich der BPF dort zu einer universalen virtuellen Maschine im Kernel. BPF ist ein offizielles Back-End für LLVM (ab Version 3.7). Der Interpreter kann im Kernel-Modus oder Benutzer-Modus laufen.Kernel-Modus-Interpreter werden z. B. für Socket-Filter unter Linux oder WinPcap-Mechanismen benutzt. Einen Benutzer-Modus-Interpreter bietet die libpcap-/WinPcap-Implementierung des Pcap-API. Auf Systemen ohne Kernel-Modus-Unterstützung für den Filtermechanismus können damit Pakete im Benutzermodus gefiltert werden. 2007 wurden von Robert Watson und Christian Peron die Zero-copy buffer extensions zur BPF-Implementierung hinzugefügt. Damit können vom Gerätetreiber erfasste Pakete direkt in den Speicher von Programmen im Benutzermodus geschrieben werden und es entfällt ein zusätzliches Kopieren der Daten. (de) The Berkeley Packet Filter (BPF) is a technology used in certain computer operating systems for programs that need to, among other things, analyze network traffic. It provides a raw interface to data link layers, permitting raw link-layer packets to be sent and received. In addition, if the driver for the network interface supports promiscuous mode, it allows the interface to be put into that mode so that all packets on the network can be received, even those destined to other hosts. BPF supports filtering packets, allowing a userspace process to supply a filter program that specifies which packets it wants to receive. For example, a tcpdump process may want to receive only packets that initiate a TCP connection. BPF returns only packets that pass the filter that the process supplies. This avoids copying unwanted packets from the operating system kernel to the process, greatly improving performance. The filter program is in the form of instructions for a virtual machine, which are interpreted, or compiled into machine code by a just-in-time (JIT) mechanism and executed, in the kernel. BPF is sometimes used to refer to just the filtering mechanism, rather than to the entire interface. Some systems, such as Linux and Tru64 UNIX, provide a raw interface to the data link layer other than the BPF raw interface but use the BPF filtering mechanisms for that raw interface. The BPF filtering mechanism is available on most Unix-like operating systems. The Linux kernel provides an extended version of the BPF filtering mechanism, called eBPF, which uses a JIT mechanism, and which is used for packet filtering, as well as for other purposes in the kernel. eBPF is also available for Microsoft Windows. (en) Le BPF (Berkeley Packet Filter) ou BSD packet filter, est un code minimaliste injecté dans le kernel, il permet à l'utilisateur d'effectuer du filtrage réseau dans le kernel. Au cours de ses différentes versions (Exemple: eBPF(extend Berkeley Packet Filter)), de nouveaux outils ont été mis en place afin de faciliter la production de programme BPF. De plus de nouveaux domaines d'utilisation sont devenus exploitables, tel que le monitoring d’événement dans le kernel et son traçage. Différents problèmes existent encore à ce jour, principalement au niveau du vérificateur. (fr) Berkeley Packet Filter(BPF)は、特定のコンピューターのオペレーティングシステム上で特にネットワークトラフィックの解析に必要なプログラムで使われる技術である。 (ja) BPF (Berkeley Packet Filter), англ. Фільтр пакетів Берклі — технологія операційної системи, що надає інтерфейс для роботи з чистими мережевими кадрами на канальному рівні. Більшість Unix-подібних операційних операційних систем мають підтримку BPF інтерфейсу. BPF дозволяє процесам з додавати до будь якого відкритого сокета фільтр та дозволяти або забороняти проходження певних даних через вибраний сокет. Для прикладу, використовуючи BPF фільтр, tcpdump може отримувати тільки TCP SYNC пакети. Для цього генерується відповідний BPF фільтр, що пропускає тільки потрібний користувачу трафік. Застосування такого фільтру покращує загальну продуктивність системи, оскільки ядро операційної системи не копіює небажаний трафік до буфера у . Іноді під абревіатурою BPF мають на увазі тільки механізм фільтрації, а не весь інтерфейс BPF. Деякі системи, такі як Linux та Tru64 UNIX, надають інший, відмінний від BPF інтерфейс доступу до "сирих" мережевих кадрів на канальному рівні, залишаючи механізм фільтрації BPF для свого "сирого" інтерфейсу. (uk) Описание пакетов, реализуемый командой "bpf", позволяет захватить необходимые сетевые пакеты, проходящие через любой интерфейс системы, и направить их на удалённую рабочую станцию для дальнейшего анализа. Отбор пакетов производится и не мешает обычной работе маршрутизатора. В силу ограниченного объёма памяти и вычислительных ресурсов, не содержит средств анализа. Именно с этой целью осуществляется дублирование необходимых сетевых пакетов и их последующая передача на рабочую станцию администратора сети, где он может выполнить детальный анализ с помощью специализированных программных инструментов. Для приема и анализа пакетов, полученных от модуля bpf беспроводного устройства, может быть использован программный продукт Wireshark или утилита tcpdump (при использовании Linux). Синтаксис usage: bpf interface PARAMS (ru) 伯克利包过滤器(Berkeley Packet Filter,缩写 BPF),是类Unix系统上数据链路层的一种原始接口,提供原始链路层封包的收发。除此之外,如果网卡驱动支持混杂模式,那么它可以让网卡处于此种模式,这样可以收到网络上的所有包,不管他们的目的地是不是所在主机。 另外,BPF支持过滤数据包——用户态的进程可以提供一个过滤程序来声明它想收到哪些数据包。通过这种过滤可以避免从操作系统内核向用户态复制其他对用户态程序无用的数据包,从而极大地提高性能。 BPF有时也只表示过滤机制,而不是整个接口。一些系统,比如Linux和Tru64 Unix,提供了数据链路层的原始接口,而不是BPF的接口,但使用了BPF的过滤机制。 BSD 内核实现例程如 bpf_mtap和 bpf_tap,以BPF_MTAP和 BPF_TAP等的形式进行包裹由网卡驱动(以及伪驱动pseudo-drivers) 向BPF机制发送进出的封包。 (zh)
dbo:developer dbr:Van_Jacobson dbr:Steven_McCanne
dbo:operatingSystem dbr:Unix-like dbr:Linux dbr:MacOS dbr:DragonFly_BSD dbr:AIX dbr:PlayStation_4_system_software dbr:Microsoft_Windows dbr:NetBSD dbr:OpenBSD dbr:Oracle_Solaris dbr:Tru64
dbo:releaseDate 1992-12-19 (xsd:date)
dbo:wikiPageExternalLink http://netsniff-ng.org/ http://www.tcpdump.org/papers/bpf-usenix93.pdf https://ebpf.io/ https://www.kernel.org/doc/Documentation/networking/filter.txt https://www.kernel.org/doc/html/latest/bpf/index.html https://github.com/microsoft/ebpf-for-windows
dbo:wikiPageID 10649253 (xsd:integer)
dbo:wikiPageLength 16116 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID 1112462314 (xsd:integer)
dbo:wikiPageWikiLink dbr:Robert_Watson_(computer_scientist) dbr:Kernel_(computer_science) dbr:Pcap dbr:Unix-like dbr:Preprocessor dbr:Pseudo-device dbr:Computer_network dbr:SCO_Group dbr:FreeBSD dbr:GNU_Compiler_Collection dbr:Tracepoint dbr:Application_programming_interface dbr:Linux dbr:Linux_kernel dbr:MacOS dbr:Machine_language dbr:Proof-carrying_code dbr:Tc_(Linux) dbc:Internet_Protocol_based_network_software dbr:C_(programming_language) dbc:Packets_(information_technology) dbr:Tru64_UNIX dbr:Data_link_layer dbr:WinPcap dbr:Just-in-time_compilation dbr:Zero-copy dbr:DragonFly_BSD dbr:Express_Data_Path dbr:Npcap dbr:P4_(programming_language) dbr:Process_(computing) dbr:Promiscuous_mode dbr:AIX dbr:Backdoor_(computing) dbr:Tcpdump dbr:Arithmetic dbr:Accumulator_(computing) dbr:LLVM dbr:Bit dbr:PlayStation_4_system_software dbr:Solana_(blockchain_platform) dbr:Spectre_(security_vulnerability) dbr:Index_register dbr:Microsoft_Windows dbr:National_Security_Agency dbr:Native_code dbr:NetBSD dbr:OpenBSD dbr:Operating_system dbr:Oracle_Solaris dbr:Virtual_machine dbr:Network_socket dbr:Van_Jacobson dbr:SCO–Linux_disputes dbr:Tru64_Unix dbr:Lawrence_Berkeley_Laboratory dbr:Steven_McCanne dbr:Tru64 dbr:Userspace
dbp:?_ yes (en)
dbp:date November 2021 (en)
dbp:developer Steven McCanne, (en) Van Jacobson (en)
dbp:name Berkeley Packet Filter (en)
dbp:operatingSystem Unix-like , Windows (en)
dbp:released 1992-12-19 (xsd:date)
dbp:title Berkeley Packet Filter (en)
dbp:wikiPageUsesTemplate dbt:GitHub dbt:Anchor dbt:Cite_web dbt:Code dbt:Infobox_software dbt:Reflist dbt:Short_description dbt:Start_date_and_age dbt:Update_inline dbt:Man
dcterms:subject dbc:Internet_Protocol_based_network_software dbc:Packets_(information_technology)
rdf:type owl:Thing dbo:Software schema:CreativeWork dbo:Work wikidata:Q386724 wikidata:Q7397 yago:WikicatComputerLibraries yago:Area102735688 yago:Artifact100021939 yago:Library103660909 yago:Object100002684 yago:PhysicalEntity100001930 yago:YagoGeoEntity yago:YagoPermanentlyLocatedEntity yago:Room104105893 yago:Structure104341686 yago:Whole100003553
rdfs:comment Le BPF (Berkeley Packet Filter) ou BSD packet filter, est un code minimaliste injecté dans le kernel, il permet à l'utilisateur d'effectuer du filtrage réseau dans le kernel. Au cours de ses différentes versions (Exemple: eBPF(extend Berkeley Packet Filter)), de nouveaux outils ont été mis en place afin de faciliter la production de programme BPF. De plus de nouveaux domaines d'utilisation sont devenus exploitables, tel que le monitoring d’événement dans le kernel et son traçage. Différents problèmes existent encore à ce jour, principalement au niveau du vérificateur. (fr) Berkeley Packet Filter(BPF)は、特定のコンピューターのオペレーティングシステム上で特にネットワークトラフィックの解析に必要なプログラムで使われる技術である。 (ja) 伯克利包过滤器(Berkeley Packet Filter,缩写 BPF),是类Unix系统上数据链路层的一种原始接口,提供原始链路层封包的收发。除此之外,如果网卡驱动支持混杂模式,那么它可以让网卡处于此种模式,这样可以收到网络上的所有包,不管他们的目的地是不是所在主机。 另外,BPF支持过滤数据包——用户态的进程可以提供一个过滤程序来声明它想收到哪些数据包。通过这种过滤可以避免从操作系统内核向用户态复制其他对用户态程序无用的数据包,从而极大地提高性能。 BPF有时也只表示过滤机制,而不是整个接口。一些系统,比如Linux和Tru64 Unix,提供了数据链路层的原始接口,而不是BPF的接口,但使用了BPF的过滤机制。 BSD 内核实现例程如 bpf_mtap和 bpf_tap,以BPF_MTAP和 BPF_TAP等的形式进行包裹由网卡驱动(以及伪驱动pseudo-drivers) 向BPF机制发送进出的封包。 (zh) The Berkeley Packet Filter (BPF) is a technology used in certain computer operating systems for programs that need to, among other things, analyze network traffic. It provides a raw interface to data link layers, permitting raw link-layer packets to be sent and received. In addition, if the driver for the network interface supports promiscuous mode, it allows the interface to be put into that mode so that all packets on the network can be received, even those destined to other hosts. (en) Das Berkeley Packet Filter (BPF), auch Berkeley-Filter, bietet auf unixähnlichen Betriebssystemen eine Schnittstelle zur Sicherungsschicht an, die es erlaubt, Datenpakete der Sicherungsschicht zu senden und zu empfangen. Falls der Treiber der Netzwerkschnittstelle den Promiscuous Mode unterstützt, kann die Schnittstelle in diesen Modus geschaltet werden, damit alle Pakete des Netzwerkes, auch jene, die für andere Netzwerkadapter bestimmt sind, empfangen werden können. (de) BPF (Berkeley Packet Filter), англ. Фільтр пакетів Берклі — технологія операційної системи, що надає інтерфейс для роботи з чистими мережевими кадрами на канальному рівні. Більшість Unix-подібних операційних операційних систем мають підтримку BPF інтерфейсу. Іноді під абревіатурою BPF мають на увазі тільки механізм фільтрації, а не весь інтерфейс BPF. Деякі системи, такі як Linux та Tru64 UNIX, надають інший, відмінний від BPF інтерфейс доступу до "сирих" мережевих кадрів на канальному рівні, залишаючи механізм фільтрації BPF для свого "сирого" інтерфейсу. (uk) Описание пакетов, реализуемый командой "bpf", позволяет захватить необходимые сетевые пакеты, проходящие через любой интерфейс системы, и направить их на удалённую рабочую станцию для дальнейшего анализа. Отбор пакетов производится и не мешает обычной работе маршрутизатора. В силу ограниченного объёма памяти и вычислительных ресурсов, не содержит средств анализа. Для приема и анализа пакетов, полученных от модуля bpf беспроводного устройства, может быть использован программный продукт Wireshark или утилита tcpdump (при использовании Linux). Синтаксис usage: bpf interface PARAMS (ru)
rdfs:label Berkeley Packet Filter (en) Berkeley Packet Filter (de) BSD Packet Filter (fr) Berkeley Packet Filter (ja) Berkeley Packet Filter (ru) Berkeley Packet Filter (uk) BPF (zh)
owl:sameAs freebase:Berkeley Packet Filter yago-res:Berkeley Packet Filter wikidata:Berkeley Packet Filter dbpedia-de:Berkeley Packet Filter dbpedia-fi:Berkeley Packet Filter dbpedia-fr:Berkeley Packet Filter dbpedia-ja:Berkeley Packet Filter dbpedia-no:Berkeley Packet Filter dbpedia-ru:Berkeley Packet Filter dbpedia-uk:Berkeley Packet Filter dbpedia-zh:Berkeley Packet Filter https://global.dbpedia.org/id/4ycu2
prov:wasDerivedFrom wikipedia-en:Berkeley_Packet_Filter?oldid=1112462314&ns=0
foaf:isPrimaryTopicOf wikipedia-en:Berkeley_Packet_Filter
foaf:name Berkeley Packet Filter (en)
is dbo:wikiPageDisambiguates of dbr:BPF dbr:Filter
is dbo:wikiPageRedirects of dbr:EBPF dbr:Extended_BPF dbr:EBPF_Foundation dbr:EBPF_for_Windows dbr:EBPF_on_Windows dbr:Extended_Berkeley_Packet_Filter
is dbo:wikiPageWikiLink of dbr:BPF dbr:NPF_(firewall) dbr:Proof-carrying_code dbr:Microsoft_and_open_source dbr:EBPF dbr:Executable_and_Linkable_Format dbr:Express_Data_Path dbr:Extended_BPF dbr:Brendan_Gregg dbr:Tcpdump dbr:Filter dbr:SystemTap dbr:Bytecode dbr:Solana_(blockchain_platform) dbr:FreeBSD_version_history dbr:Netfilter dbr:Netsniff-ng dbr:Ngrep dbr:Seccomp dbr:Network_scheduler dbr:Sniffer_(protocol_analyzer) dbr:Firewall_(computing) dbr:SCO–Linux_disputes dbr:Tcpkill dbr:EBPF_Foundation dbr:EBPF_for_Windows dbr:EBPF_on_Windows dbr:Extended_Berkeley_Packet_Filter
is foaf:primaryTopic of wikipedia-en:Berkeley_Packet_Filter