Documentation ¶
Index ¶
- Constants
- Variables
- type Config
- type ErrMsg
- type HookFunc
- type Msg
- type Nfqueue
- func (nfqueue *Nfqueue) Close() error
- func (nfqueue *Nfqueue) Register(ctx context.Context, copyMode byte, fn HookFunc) error
- func (nfqueue *Nfqueue) SetVerdict(id uint32, verdict int) error
- func (nfqueue *Nfqueue) SetVerdictBatch(id uint32, verdict int) error
- func (nfqueue *Nfqueue) SetVerdictWithMark(id uint32, verdict, mark int) error
Constants ¶
View Source
const ( AttrPacketID = iota AttrHook AttrHwProtocol AttrIfIndexInDev AttrIfIndexOutDev AttrIfIndexPhysInDev AttrIfIndexPhysOutDev AttrPayload AttrCapLen AttrTimestamp AttrHwAddr AttrMark AttrUID AttrGID AttrL2HDR AttrCt AttrCtInfo AttrSkbInfo AttrExp AttrSecCtx AttrVlanProto AttrVlanTCI )
Various identifier,that can be the key of Msg map
View Source
const ( NfQaCfgFlagFailOpen = (1 << iota) NfQaCfgFlagConntrack = (1 << iota) NfQaCfgFlagGSO = (1 << iota) NfQaCfgFlagUidGid = (1 << iota) NfQaCfgFlagSecCx = (1 << iota) )
Various configuration flags
View Source
const ( NfQnlCopyNone = iota NfQnlCopyMeta NfQnlCopyPacket )
copy modes
View Source
const ( NfDrop = iota NfAccept NfStolen NfQeueue NfRepeat )
Verdicts
Variables ¶
View Source
var ( ErrAfFamily = errors.New("Unsupported AF_Family type") ErrRecvMsg = errors.New("Received error message") ErrUnexpMsg = errors.New("Received unexpected message from kernel") ErrInvFlag = errors.New("Invalid Flag") ErrNotLinux = errors.New("Not implemented for OS other than linux") ErrInvalidVerdict = errors.New("Invalid verdict") )
Various errors
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { // Network namespace the Nflog needs to operate in. If set to 0 (default), // no network namespace will be entered. NetNS int AfFamily uint8 NfQueue uint16 MaxQueueLen uint32 // Only used in combination with NfQnlCopyPacket MaxPacketLen uint32 Flags uint32 FlagsMask uint32 // Interface to log internals. Logger *log.Logger }
Config contains options for a Conn.
type HookFunc ¶
HookFunc is a function, that receives events from a Netlinkgroup To stop receiving messages on this HookFunc, return something different than 0
type Nfqueue ¶
type Nfqueue struct { // Con is the pure representation of a netlink socket Con *netlink.Conn // contains filtered or unexported fields }
Nfqueue represents a netfilter queue handler
func (*Nfqueue) SetVerdict ¶
SetVerdict signals the kernel the next action for a specified package id
func (*Nfqueue) SetVerdictBatch ¶
SetVerdictBatch signals the kernel the next action for a batch of packages till id
Click to show internal directories.
Click to hide internal directories.