sniffer

package
v0.0.0-...-3923ab8 Latest Latest
Warning

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

Go to latest
Published: Nov 8, 2021 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PacketProcessor

func PacketProcessor(flowTracker *tracker.FlowTracker, jobs <-chan *PacketJob, waitGroup *sync.WaitGroup)

func ZeroCopyPacketDataSourceFromDevice

func ZeroCopyPacketDataSourceFromDevice(device string, fanoutID uint16) gopacket.ZeroCopyPacketDataSource

Types

type FlowSniffer

type FlowSniffer interface {
	Start()
	Stop()
}

FlowSniffer represents a flow sniffer

type PCAPFlowSniffer

type PCAPFlowSniffer struct {
	PacketSource     chan gopacket.Packet
	JobChannel       chan<- *PacketJob
	StopChannel      chan bool
	Iface            string
	SnifferWaitGroup *sync.WaitGroup
}

func NewPCAPFlowSniffer

func NewPCAPFlowSniffer(device string, jobChannel chan *PacketJob, snifferWaitGroup *sync.WaitGroup, snifferNumber uint16) *PCAPFlowSniffer

NewPCAPFlowSniffer instantiates a PCAPFlowSniffer

func (*PCAPFlowSniffer) Start

func (fr *PCAPFlowSniffer) Start()

Start the flow router

func (*PCAPFlowSniffer) Stop

func (fr *PCAPFlowSniffer) Stop()

Stop the flow router

type PacketJob

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

type ZeroCopyFlowSniffer

type ZeroCopyFlowSniffer struct {
	PacketSource     gopacket.ZeroCopyPacketDataSource
	JobChannel       chan<- *PacketJob
	StopChannel      chan bool
	Iface            string
	SnifferNumber    uint16
	SnifferWaitGroup *sync.WaitGroup
}

ZeroCopyFlowSniffer reads from a zero-copy packet stream (like afpacket) and routes it to a FlowTracker based on it's keys

func NewZeroCopyFlowSniffer

func NewZeroCopyFlowSniffer(source gopacket.ZeroCopyPacketDataSource, jobChannel chan *PacketJob, snifferWaitGroup *sync.WaitGroup, snifferNumber uint16, iface string) *ZeroCopyFlowSniffer

NewZeroCopyFlowSniffer instantiates a ZeroCopyFlowSniffer

func (*ZeroCopyFlowSniffer) Start

func (fr *ZeroCopyFlowSniffer) Start()

Start the flow router

func (*ZeroCopyFlowSniffer) Stop

func (fr *ZeroCopyFlowSniffer) Stop()

Stop the flow router

Jump to

Keyboard shortcuts

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