nfq_tcp_get_payload(3)

TCP helper functions

Section 3 libnetfilter-queue-doc bookworm source

Description

tcp

NAME

tcp - TCP helper functions

SYNOPSIS

Modules

Internal TCP functions

Functions

struct tcphdr * nfq_tcp_get_hdr (struct pkt_buff *pktb)
void * nfq_tcp_get_payload (struct tcphdr *tcph, struct pkt_buff *pktb)
unsigned int nfq_tcp_get_payload_len (struct tcphdr *tcph, struct pkt_buff *pktb)
int nfq_tcp_snprintf (char *buf, size_t size, const struct tcphdr *tcph)
int nfq_tcp_mangle_ipv4 (struct pkt_buff *pktb, unsigned int match_offset, unsigned int match_len, const char *rep_buffer, unsigned int rep_len)
int nfq_tcp_mangle_ipv6 (struct pkt_buff *pktb, unsigned int match_offset, unsigned int match_len, const char *rep_buffer, unsigned int rep_len)

Detailed Description

Function Documentation

struct tcphdr* nfq_tcp_get_hdr (struct pkt_buff * pktb)

nfq_tcp_get_hdr - get the TCP header

Parameters

pktb pointer to user-space network packet buffer

Returns

validated pointer to the TCP header or NULL if the TCP header was not set or if a minimal length check fails.

Note

You have to call nfq_ip_set_transport_header() or nfq_ip6_set_transport_header() first to set the TCP header.

Definition at line 43 of file tcp.c.

void* nfq_tcp_get_payload (struct tcphdr * tcph, struct pkt_buff * pktb)

nfq_tcp_get_payload - get the TCP packet payload

Parameters

tcph pointer to the TCP header
pktb
pointer to user-space network packet buffer

Returns

Pointer to the TCP payload, or NULL if malformed TCP packet.

Definition at line 62 of file tcp.c.

unsigned int nfq_tcp_get_payload_len (struct tcphdr * tcph, struct pkt_buff *pktb)

nfq_tcp_get_payload_len - get the tcp packet payload

Parameters

tcph pointer to the TCP header
pktb
pointer to user-space network packet buffer

Returns

Length of TCP payload (user data)

Definition at line 84 of file tcp.c.

int nfq_tcp_mangle_ipv4 (struct pkt_buff * pktb, unsigned int match_offset,unsigned int match_len, const char * rep_buffer, unsigned int rep_len)

nfq_tcp_mangle_ipv4 - mangle TCP/IPv4 packet buffer

Parameters

pktb pointer to network packet buffer
match_offset
offset to content that you want to mangle
match_len
length of the existing content you want to mangle
rep_buffer
pointer to data you want to use to replace current content
rep_len
length of data you want to use to replace current content

Returns

1 for success and 0 for failure. See pktb_mangle() for failure case

Note

This function updates the IPv4 length and recalculates the IPv4 & TCP checksums for you.

Warning

After changing the length of a TCP message, the application will need to mangle sequence numbers in both directions until another change puts them in sync again

Definition at line 219 of file tcp.c.

int nfq_tcp_mangle_ipv6 (struct pkt_buff * pktb, unsigned int match_offset,unsigned int match_len, const char * rep_buffer, unsigned int rep_len)

nfq_tcp_mangle_ipv6 - Mangle TCP/IPv6 packet buffer

Parameters

pktb Pointer to network packet buffer
match_offset
Offset from start of TCP data of content that you want to mangle
match_len
Length of the existing content you want to mangle
rep_buffer
Pointer to data you want to use to replace current content
rep_len
Length of data you want to use to replace current content

Returns

1 for success and 0 for failure. See pktb_mangle() for failure case

Note

This function updates the IPv6 length and recalculates the TCP checksum for you.

Warning

After changing the length of a TCP message, the application will need to mangle sequence numbers in both directions until another change puts them in sync again

Definition at line 254 of file tcp.c.

int nfq_tcp_snprintf (char * buf, size_t size, const struct tcphdr * tcph)

nfq_pkt_snprintf_tcp_hdr - print tcp header into one buffer in a humnan readable way

Parameters

buf pointer to buffer that is used to print the object
size
size of the buffer (or remaining room in it).
tcph
pointer to a valid tcp header.

Returns

Same as snprintf

See also

snprintf(3)

Definition at line 160 of file tcp.c.

Author

Generated automatically by Doxygen for libnetfilter_queue from the source code.