intnflog_get_ctid(structnflog_data*nfad,uint32_t*id)
nflog_get_ct_id - get the conntrack id
Parametersnfad Netlink packet data handle passed to callback function
id conntrack id, if the function returns zero
You must enable this via nflog_set_flags().
Returns
0 on success or -1 if conntrack itself or its id was unavailable
Definition at line 990 of file libnetfilter_log.c.
intnflog_get_gid(structnflog_data*nfad,uint32_t*gid)
nflog_get_gid - get the GID of the user that has generated the packet
Parametersnfad Netlink packet data handle passed to callback function
gid GID of the user that generated the packet, if the function returns zero
Returns
0 on success or -1 if GID was unavailable (gid is then invalid)
Definition at line 932 of file libnetfilter_log.c.
uint16_tnflog_get_hwtype(structnflog_data*nfad)
nflog_get_hwtype - get the hardware link layer type from logging data
Parametersnfad pointer to logging data
Returns
the hardware link layer type.
Definition at line 724 of file libnetfilter_log.c.
uint32_tnflog_get_indev(structnflog_data*nfad)
nflog_get_indev - get the interface that the packet was received through
Parametersnfad Netlink packet data handle passed to callback function
Returns
The index of the device the packet was received via. If the returned index is 0, the packet was
locally generated or the input interface is not known (ie. POSTROUTING?).
Warning
all nflog_get_dev() functions return 0 if not set, since Linux only allows ifindex >= 1, see
net/core/dev.c:9819 (in 5.14.3)
Definition at line 799 of file libnetfilter_log.c.
structnfulnl_msg_packet_hdr*nflog_get_msg_packet_hdr(structnflog_data*nfad)
nflog_get_msg_packet_hdr - return the metaheader that wraps the packet
Parametersnfad Netlink packet data handle passed to callback function
Returns
the netfilter log netlink packet header for the given nflog_data argument. Typically, the nflog_data
value is passed as the 3rd parameter to the callback function set by a call to
nflog_callback_register().
The nfulnl_msg_packet_hdr structure is defined in libnetfilter_log.h as:
struct nfulnl_msg_packet_hdr {
uint16_t hw_protocol; // hw protocol (network order)
uint8_t hook; // netfilter hook
uint8_t _pad;
} __attribute__ ((packed));
Definition at line 712 of file libnetfilter_log.c.
char*nflog_get_msg_packet_hwhdr(structnflog_data*nfad)
nflog_get_msg_packet_hwhdr - get the hardware link layer header
Parametersnfad pointer to logging data
Returns
the hardware link layer header
Definition at line 746 of file libnetfilter_log.c.
uint16_tnflog_get_msg_packet_hwhdrlen(structnflog_data*nfad)
nflog_get_hwhdrlen - get the length of the hardware link layer header
Parametersnfad pointer to logging data
Returns
the size of the hardware link layer header
Definition at line 735 of file libnetfilter_log.c.
uint32_tnflog_get_nfmark(structnflog_data*nfad)
nflog_get_nfmark - get the packet mark
Parametersnfad Netlink packet data handle passed to callback function
Returns
the netfilter mark currently assigned to the logged packet.
Definition at line 757 of file libnetfilter_log.c.
uint32_tnflog_get_outdev(structnflog_data*nfad)
nflog_get_outdev - gets the interface that the packet will be routed to
Parametersnfad Netlink packet data handle passed to callback function
Returns
The index of the device the packet will be sent to. If the returned index is 0, the packet is
destined for localhost or the output interface is not yet known (ie. PREROUTING?).
Definition at line 826 of file libnetfilter_log.c.
structnfulnl_msg_packet_hw*nflog_get_packet_hw(structnflog_data*nfad)
nflog_get_packet_hw - get hardware address
Parametersnfad Netlink packet data handle passed to callback function
Retrieves the hardware address associated with the given packet. For ethernet packets, the hardware
address returned (if any) will be the MAC address of the packet source host. The destination MAC address
is not known until after POSTROUTING and a successful ARP request, so cannot currently be retrieved.
The nfulnl_msg_packet_hw structure is defined in libnetfilter_log.h as:
struct nfulnl_msg_packet_hw {
uint16_t hw_addrlen; // Network Byte Order
uint16_t _pad;
uint8_t hw_addr[8];
} __attribute__ ((packed));
Returns
Pointer to struct nfulnl_msg_packet_hw from originating host or NULL if none available (e.g. locally-
originated packet not for lo interface).
Definition at line 867 of file libnetfilter_log.c.
intnflog_get_payload(structnflog_data*nfad,char**data)
nflog_get_payload - get payload of the logged packet
Parametersnfad Netlink packet data handle passed to callback function
data Pointer of pointer that will be pointed to the payload
Retrieve the payload for a logged packet. The actual amount and type of data retrieved by this function
will depend on the mode set with the nflog_set_mode() function.
Returns
payload length, or -1 if this is not available
Definition at line 884 of file libnetfilter_log.c.
uint32_tnflog_get_physindev(structnflog_data*nfad)
nflog_get_physindev - get the physical interface that the packet was received through
Parametersnfad Netlink packet data handle passed to callback function
Returns
The index of the physical device the packet was received via. If the returned index is 0, the packet
was locally generated or the physical input interface is no longer known (ie. POSTROUTING?).
Definition at line 813 of file libnetfilter_log.c.
uint32_tnflog_get_physoutdev(structnflog_data*nfad)
nflog_get_physoutdev - get the physical interface for packet output
Parametersnfad Netlink packet data handle passed to callback function
Returns
Index of physical device the packet will be routed to. If the returned index is 0, the packet is
destined for localhost or the physical output interface is not yet known (ie. PREROUTING?).
Definition at line 839 of file libnetfilter_log.c.
char*nflog_get_prefix(structnflog_data*nfad)
nflog_get_prefix - get the logging string prefix
Parametersnfad Netlink packet data handle passed to callback function
Returns
the string prefix that is specified as argument to the iptables' NFLOG target or NULL if this is not
available.
Definition at line 900 of file libnetfilter_log.c.
intnflog_get_seq(structnflog_data*nfad,uint32_t*seq)
nflog_get_seq - get the local nflog sequence number
Parametersnfad Netlink packet data handle passed to callback function
seq local nflog sequence number, if the function returns zero
You must enable this via nflog_set_flags().
Returns
0 on success or -1 if sequence number was unavailable (seq is then invalid)
Definition at line 952 of file libnetfilter_log.c.
intnflog_get_seq_global(structnflog_data*nfad,uint32_t*seq)
nflog_get_seq_global - get the global nflog sequence number
Parametersnfad Netlink packet data handle passed to callback function
seq global nflog sequence number, if the function returns zero
You must enable this via nflog_set_flags().
Returns
0 on success or -1 if sequence number was unavailable (seq is then invalid)
Definition at line 972 of file libnetfilter_log.c.
intnflog_get_timestamp(structnflog_data*nfad,structtimeval*tv)
nflog_get_timestamp - get the packet timestamp
Parametersnfad Netlink packet data handle passed to callback function
tv structure to fill with timestamp info
Retrieves the received timestamp from the given logged packet.
Returns
0 on success, -1 on failure with errno set.
Errors
from underlying calls, in exceptional circumstances
Definition at line 773 of file libnetfilter_log.c.
intnflog_get_uid(structnflog_data*nfad,uint32_t*uid)
nflog_get_uid - get the UID of the user that generated the packet
Parametersnfad Netlink packet data handle passed to callback function
uid UID of the user that generated the packet, if the function returns zero
Returns
0 on success or -1 if UID was unavailable (uid is then invalid)
Definition at line 914 of file libnetfilter_log.c.