## 概要
libpcap(Packet Capture Library)は [[BPF]] の `bpf(4)` インターフェースを抽象化した可搬性ライブラリである。[[tcpdump]]・Wireshark をはじめ多数の解析ツールの基盤となっている。(Source: [[@1993__USENIX__The BSD Packet Filter A New Architecture for User-level Packet Capture]])
## BPF との関係
BPF は BSD カーネルのネットワークデバイスドライバに組み込まれ、`bpf(4)` デバイスとして公開される。ユーザ空間からは `/dev/bpf0` 等へ open した後 `BIOCSETIF`・`BIOCSETF` などの ioctl でフィルタを設定し、`read()` でパケットを受け取る。libpcap はこの低レベルインターフェースを抽象化し、tcpdump/pcap の基盤フィルタエンジンとして BPF を利用できるようにした。(Source: [[@1993__USENIX__The BSD Packet Filter A New Architecture for User-level Packet Capture]])
## 関連
- ソース: [[@1993__USENIX__The BSD Packet Filter A New Architecture for User-level Packet Capture]]
- 概念: [[BPF]]
- エンティティ: [[tcpdump]]