Scroll to navigation

tcp(3) libnetfilter_queue tcp(3)

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

Definition at line 160 of file tcp.c.

Author

Generated automatically by Doxygen for libnetfilter_queue from the source code.

Thu Jan 28 2021 Version 1.0.5