Updated: 22 August 2018
Return to Main Contents
This man page documents libpcap version 1.11.0-PRE-GIT (see also: 1.10.2, 1.10.1, 1.10.0, 1.9.1, 1.9.0).
Your system may have a different version installed, possibly with some
local modifications. To achieve the best results, please make sure this
version of this man page suits your needs. If necessary, try to look for
a different version on this web site or in the man pages available in your
pcap_set_protocol_linux - set capture protocol for a not-yet-activated
int pcap_set_protocol_linux(pcap_t *p, int protocol);
On network interface devices on Linux,
sets the protocol to be used in the
call to create a capture socket when the handle is activated. The
argument is a link-layer protocol value, such as the values in the
header file, specified in host byte order.
is non-zero, packets of that protocol will be captured when the
handle is activated, otherwise, all packets will be captured. This
function is only provided on Linux, and, if it is used on any device
other than a network interface, it will have no effect.
It should not be used in portable code; instead, a filter should be
If a given network interface provides a standard link-layer header, with
a standard packet type, but provides some packet types with a different
socket-layer protocol type from the one in the link-layer header, that
packet type cannot be filtered with a filter specified with
but can be filtered by specifying the socket-layer protocol type using
This function became available in libpcap release 1.9.0.
This HTML man page was generated at 15:07:06 GMT, November 01, 2021
from a source man page in "The Tcpdump Group" git repositories
using man2html and other tools.