Everything About ___
Live briefing

Everything about Berkeley Packet Filter

Interface to data link layers on a Unix-like system

The Berkeley Packet Filter is a network tap mechanism and packet filter which permits computer network packets to be captured and filtered at the operating system level. It provides a raw interface to data link layers, permitting raw link-layer packets to be sent and received, and allows 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. Wikipedia →

🧭 Start here: a 6-step reading path

  1. Read the overview: Berkeley Packet FilterA 5-minute orientation
  2. Pick up a classic book: The UNIX operating systemThe most-reprinted book on the subject
  3. Read the landmark paper: Extended Berkeley Packet Filter: An Application PerspectiveCited 46 times
  4. Go sideways: Netsniff-ngA closely related topic
  5. Go sideways: NgrepA closely related topic

📖 Definitions

No dictionary entry for this exact phrase.

🏆 Landmark papers (most cited)

📚 Books worth reading

Ranked by number of editions on Open Library, a rough measure of how lasting a book is.

🔗 Related topics