pcap
概述
参考:
在计算机网络管理领域,Packet Capture(包捕获,简称 pcap) 是一个用于捕获网络流量的 API。很多数据包分析器都依赖于 pcap 来运行。所以,pcap 准确来说,应该称为 PCAP API
- WinPcap # Microsoft OS 下最早的 pcap
- Npcap # Windows 新的 pcap
- libpcap # Unix-like OS 下的 pcap
Notes: 虽然该名称是 packet capture 的缩写,但这并不是 API 的正确名称。类 Unix 系统在 libpcap 库中实现 pcap;对于 Windows,有一个名为 WinPcap 的 libpcap 端口不再受支持或开发,而对于 Windows 7 及更高版本,仍支持一个名为 Npcap 的端口。
很多实现 pcap 能力的语言若想开发 PCAP 能力必须依赖 libpcap(e.g. go 语言需要开启 CGO_ENABLED=1,且保证系统中安装了 pcap)
pcap 安装
Npcap
无注意事项,直接安装即可。
libpcap
参考:
libpcap 是 Unix-like OS 下的 pcap C 库,若想基于 libpcap 进行开发,通常需要在系统中安装 C 语言的头文件(i.e. libpcap 的开发库)
- Ubuntu 系系统
apt install libpcap-dev
- RedHat 系系统
yum install libpcap-devel
libpcap 与 TCPDump 项目一起进行维护
其它抓包工具
netcap # 一个基于 BCC 工具集,可对含skb作为参数的系统函数,或者基于 DPDK 的mbuf抓包分析的工具。
反馈
此页是否对你有帮助?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.