Parsing(3) | Library Functions Manual | Parsing(3) |
Parsing - Message parsing functions [DEPRECATED]
struct nfqnl_msg_packet_hdr * nfq_get_msg_packet_hdr
(struct nfq_data *nfad)
uint32_t nfq_get_nfmark (struct nfq_data *nfad)
int nfq_get_timestamp (struct nfq_data *nfad, struct timeval *tv)
uint32_t nfq_get_indev (struct nfq_data *nfad)
uint32_t nfq_get_physindev (struct nfq_data *nfad)
uint32_t nfq_get_outdev (struct nfq_data *nfad)
uint32_t nfq_get_physoutdev (struct nfq_data *nfad)
int nfq_get_indev_name (struct nlif_handle *nlif_handle, struct
nfq_data *nfad, char *name)
int nfq_get_physindev_name (struct nlif_handle *nlif_handle, struct
nfq_data *nfad, char *name)
int nfq_get_outdev_name (struct nlif_handle *nlif_handle, struct
nfq_data *nfad, char *name)
int nfq_get_physoutdev_name (struct nlif_handle *nlif_handle, struct
nfq_data *nfad, char *name)
struct nfqnl_msg_packet_hw * nfq_get_packet_hw (struct nfq_data *nfad)
uint32_t nfq_get_skbinfo (struct nfq_data *nfad)
int nfq_get_uid (struct nfq_data *nfad, uint32_t *uid)
int nfq_get_gid (struct nfq_data *nfad, uint32_t *gid)
int nfq_get_secctx (struct nfq_data *nfad, unsigned char **secdata)
int nfq_get_payload (struct nfq_data *nfad, unsigned char **data)
nfq_get_gid - get the GID of the user the packet belongs to
Parameters
Warning
Returns
Definition at line 1277 of file libnetfilter_queue.c.
nfq_get_indev - get the interface that the packet was received through
Parameters
Returns
Warning
Definition at line 1028 of file libnetfilter_queue.c.
nfq_get_indev_name - get the name of the interface the packet was received through
Parameters
Returns
To use a nlif_handle, You need first to call nlif_open() and to open an handler. Don't forget to store the result as it will be used during all your program life:
h = nlif_open(); if (h == NULL) { perror('nlif_open'); exit(EXIT_FAILURE); }
Once the handler is open, you need to fetch the interface table at a whole
via a call to nlif_query.
nlif_query(h);
libnfnetlink is able to update the interface mapping when a new interface
appears. To do so, you need to call nlif_catch() on the handler after each
interface related event. The simplest way to get and treat event is to run a
select() or poll() against the nlif file descriptor. To get this file
descriptor, you need to use nlif_fd:
if_fd = nlif_fd(h);
Don't forget to close the handler when you don't need the feature
anymore:
nlif_close(h);
Definition at line 1116 of file libnetfilter_queue.c.
nfqnl_msg_packet_hdr - return the metaheader that wraps the packet
Parameters
Returns
The nfqnl_msg_packet_hdr structure is defined in libnetfilter_queue.h as:
struct nfqnl_msg_packet_hdr { uint32_t packet_id; // unique ID of packet in queue uint16_t hw_protocol; // hw protocol (network order) uint8_t hook; // netfilter hook } __attribute__ ((packed));
Definition at line 974 of file libnetfilter_queue.c.
nfq_get_nfmark - get the packet mark
Parameters
Returns
Definition at line 987 of file libnetfilter_queue.c.
nfq_get_outdev - gets the interface that the packet will be routed out
Parameters
Returns
Definition at line 1056 of file libnetfilter_queue.c.
nfq_get_outdev_name - get the name of the physical interface the packet will be sent to
Parameters
See nfq_get_indev_name() documentation for nlif_handle usage.
Returns
Definition at line 1156 of file libnetfilter_queue.c.
nfq_get_packet_hw
get hardware address
Parameters
Retrieves the hardware address associated with the given queued 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 nfqnl_msg_packet_hw structure is defined in libnetfilter_queue.h as:
struct nfqnl_msg_packet_hw { uint16_t hw_addrlen; uint16_t _pad; uint8_t hw_addr[8]; } __attribute__ ((packed));
Definition at line 1207 of file libnetfilter_queue.c.
nfq_get_payload - get payload
Parameters
Retrieve the payload for a queued packet. The actual amount and type of data retrieved by this function will depend on the mode set with the nfq_set_mode() function.
Returns
Definition at line 1324 of file libnetfilter_queue.c.
nfq_get_physindev - get the physical interface that the packet was received
Parameters
Returns
Definition at line 1042 of file libnetfilter_queue.c.
nfq_get_physindev_name - get the name of the physical interface the packet was received through
Parameters
See nfq_get_indev_name() documentation for nlif_handle usage.
Returns
Definition at line 1136 of file libnetfilter_queue.c.
nfq_get_physoutdev - get the physical interface that the packet output
Parameters
The index of the physical device the queued packet will be sent out. If the returned index is 0, the packet is destined for localhost or the physical output interface is not yet known (ie. PREROUTING?).
Returns
Definition at line 1072 of file libnetfilter_queue.c.
nfq_get_physoutdev_name - get the name of the interface the packet will be sent to
Parameters
See nfq_get_indev_name() documentation for nlif_handle usage.
Returns
Definition at line 1177 of file libnetfilter_queue.c.
nfq_get_secctx - get the security context for this packet
Parameters
Warning
Returns
Definition at line 1298 of file libnetfilter_queue.c.
nfq_get_skbinfo - return the NFQA_SKB_INFO meta information
Parameters
This can be used to obtain extra information about a packet by testing the returned integer for any of the following bit flags:
Returns
See also
Definition at line 1236 of file libnetfilter_queue.c.
nfq_get_timestamp - get the packet timestamp
Parameters
Retrieves the received timestamp when the given queued packet.
Returns
Definition at line 1002 of file libnetfilter_queue.c.
nfq_get_uid - get the UID of the user the packet belongs to
Parameters
Warning
Returns
Definition at line 1256 of file libnetfilter_queue.c.
Generated automatically by Doxygen for libnetfilter_queue from the source code.
Version 1.0.5 | libnetfilter_queue |