netfilter

package
v0.0.0-...-c6a7500 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 3, 2020 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Go bindings for libnetfilter_queue

This library provides access to packets in the IPTables netfilter queue (NFQUEUE). The libnetfilter_queue library is part of the http://netfilter.org/projects/libnetfilter_queue/ project.

Index

Constants

View Source
const (
	AF_INET  = 2
	AF_INET6 = 10

	NF_DROP   Verdict = 0
	NF_ACCEPT Verdict = 1
	NF_STOLEN Verdict = 2
	NF_QUEUE  Verdict = 3
	NF_REPEAT Verdict = 4
	NF_STOP   Verdict = 5

	NF_DEFAULT_PACKET_SIZE uint32 = 0xffff
)

Variables

This section is empty.

Functions

This section is empty.

Types

type NFPacket

type NFPacket struct {
	Packet gopacket.Packet
	// contains filtered or unexported fields
}

func (*NFPacket) SetRequeueVerdict

func (p *NFPacket) SetRequeueVerdict(newQueueId uint16)

Set the verdict for the packet (in the case of requeue)

func (*NFPacket) SetVerdict

func (p *NFPacket) SetVerdict(v Verdict)

Set the verdict for the packet

func (*NFPacket) SetVerdictWithPacket

func (p *NFPacket) SetVerdictWithPacket(v Verdict, packet []byte)

Set the verdict for the packet AND provide new packet content for injection

type NFQueue

type NFQueue struct {
	// contains filtered or unexported fields
}

func NewNFQueue

func NewNFQueue(queueId uint16, maxPacketsInQueue uint32, packetSize uint32) (*NFQueue, error)

Create and bind to queue specified by queueId

func (*NFQueue) Close

func (nfq *NFQueue) Close()

Unbind and close the queue

func (*NFQueue) GetPackets

func (nfq *NFQueue) GetPackets() <-chan NFPacket

Get the channel for packets

type Verdict

type Verdict C.uint

Verdict for a packet

type VerdictContainer

type VerdictContainer struct {
	Verdict Verdict
	Packet  []byte
}

Container for a verdict and (possibly) a modified packet (Go side)

type VerdictContainerC

type VerdictContainerC C.verdictContainer

Container for a verdict and (possibly) a modified packet (C side)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL