Documentation ¶
Overview ¶
Provides a mechanism to collect network packets from a network interface on macOS, linux and windows
Index ¶
- func DumpProto(pb proto.Message)
- func IsPcap(file string) (bool, error)
- type AtomicPcapGoWriter
- type BatchInfo
- type Collector
- func (c *Collector) CollectBPF(path string, bpf string) error
- func (c *Collector) CollectLive(i string, bpf string) error
- func (c *Collector) CollectPcap(path string) error
- func (c *Collector) CollectPcapNG(path string) error
- func (c *Collector) FreeOSMemory()
- func (c *Collector) GetNumPackets() int64
- func (c *Collector) Init() (err error)
- func (c *Collector) InitBatching(maxSize int, bpf string, in string) ([]BatchInfo, *pcap.Handle, error)
- func (c *Collector) Stats()
- type Config
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AtomicPcapGoWriter ¶
AtomicPcapGoWriter is a symchronized PCAP writer that counts the number of packets written.
func NewAtomicPcapGoWriter ¶
func NewAtomicPcapGoWriter(w *pcapgo.Writer) *AtomicPcapGoWriter
NewAtomicPcapGoWriter takes a pcapgo.Writer and returns an atomic version
func (*AtomicPcapGoWriter) WritePacket ¶
func (a *AtomicPcapGoWriter) WritePacket(ci gopacket.CaptureInfo, data []byte) error
WritePacket writes a packet into the writer.
type Collector ¶
type Collector struct {
// contains filtered or unexported fields
}
Collector provides an interface to collect data from PCAP or a network interface.
func (*Collector) CollectBPF ¶
CollectBPF open the named PCAP file and sets the specified BPF filter.
func (*Collector) CollectLive ¶
CollectLive starts collection of data from the given interface. optionally a BPF can be supplied. this is the linux version that uses the pure go version from pcapgo to fetch packets live.
func (*Collector) CollectPcap ¶
CollectPcap implements parallel decoding of incoming packets.
func (*Collector) CollectPcapNG ¶
CollectPcapNG implements parallel decoding of incoming packets.
func (*Collector) FreeOSMemory ¶ added in v0.4.0
func (c *Collector) FreeOSMemory()
func (*Collector) GetNumPackets ¶ added in v0.4.0
GetNumPackets returns the current number of processed packets
func (*Collector) Init ¶
Init sets up the collector and starts the configured number of workers must be called prior to usage of the collector instance.
type Config ¶
type Config struct { Live bool WriteUnknownPackets bool Workers int NumWorkers int PacketBufferSize int SnapLen int Promisc bool EncoderConfig encoder.Config BaseLayer gopacket.LayerType DecodeOptions gopacket.DecodeOptions }
Config contains configuration parameters for the Collector instance.