Documentation
¶
Index ¶
- Variables
- func GetCapperAncillaryData(ci gopacket.CaptureInfo) (*capperpb.AncillaryPacketData, error)
- func NewLiveHandle(iface string, netns string, filter string, snaplen int, promisc bool, ...) (*pcap.Handle, error)
- type BasicCapture
- type CapperPacketWrapper
- type Capture
- type CaptureInterface
- type ChainPacketHandler
- type Config
- type GoPacketWrapper
- type NamedPacketSource
- type PacketHandler
- type PacketHandlerFunc
- type PacketHeap
- type PacketMerger
- type PacketSource
- type PacketSourceChan
- type PacketWriter
- type PcapNgWriter
- type PcapWriter
- type TimestampedPacket
Constants ¶
This section is empty.
Variables ¶
View Source
var PacketPrinterHandler = PacketHandlerFunc(func(p gopacket.Packet) error { fmt.Println(p) return nil })
Functions ¶
func GetCapperAncillaryData ¶
func GetCapperAncillaryData(ci gopacket.CaptureInfo) (*capperpb.AncillaryPacketData, error)
Types ¶
type BasicCapture ¶
type BasicCapture struct {
// contains filtered or unexported fields
}
func NewContainer ¶
func NewContainer(ctx context.Context, log *slog.Logger, ifaceName string, pod *containerdutil.Pod, conf Config) (*BasicCapture, error)
func (*BasicCapture) Close ¶
func (c *BasicCapture) Close()
func (*BasicCapture) Interface ¶
func (c *BasicCapture) Interface() CaptureInterface
func (*BasicCapture) LinkType ¶
func (c *BasicCapture) LinkType() layers.LinkType
func (*BasicCapture) Start ¶
func (c *BasicCapture) Start(ctx context.Context, handler PacketHandler) error
type CapperPacketWrapper ¶
func (*CapperPacketWrapper) Timestamp ¶
func (p *CapperPacketWrapper) Timestamp() time.Time
type CaptureInterface ¶
type ChainPacketHandler ¶
type ChainPacketHandler struct {
// contains filtered or unexported fields
}
func (*ChainPacketHandler) Flush ¶
func (chain *ChainPacketHandler) Flush() error
func (*ChainPacketHandler) HandlePacket ¶
func (chain *ChainPacketHandler) HandlePacket(p gopacket.Packet) error
type GoPacketWrapper ¶
func (*GoPacketWrapper) Timestamp ¶
func (p *GoPacketWrapper) Timestamp() time.Time
type NamedPacketSource ¶
type NamedPacketSource struct {
Name string
PacketSource
}
type PacketHandler ¶
func ChainPacketHandlers ¶
func ChainPacketHandlers(handlers ...PacketHandler) PacketHandler
type PacketHandlerFunc ¶
func (PacketHandlerFunc) Flush ¶
func (f PacketHandlerFunc) Flush() error
func (PacketHandlerFunc) HandlePacket ¶
func (f PacketHandlerFunc) HandlePacket(p gopacket.Packet) error
type PacketHeap ¶
type PacketHeap []TimestampedPacket
PacketHeap implements heap.Interface
func (PacketHeap) Len ¶
func (h PacketHeap) Len() int
func (PacketHeap) Less ¶
func (h PacketHeap) Less(i, j int) bool
func (*PacketHeap) Pop ¶
func (h *PacketHeap) Pop() interface{}
func (*PacketHeap) Push ¶
func (h *PacketHeap) Push(x interface{})
func (PacketHeap) Swap ¶
func (h PacketHeap) Swap(i, j int)
type PacketMerger ¶
type PacketMerger struct {
// contains filtered or unexported fields
}
PacketMerger takes multiple PacketSources and combines them
func NewPacketMerger ¶
func NewPacketMerger(log *slog.Logger, sources []NamedPacketSource, heapDrainThreshold int, flushInterval time.Duration, mergeBufferSize int, outputBufferSize int) *PacketMerger
func (*PacketMerger) AddSource ¶
func (pm *PacketMerger) AddSource(src NamedPacketSource)
func (*PacketMerger) PacketsCtx ¶
func (pm *PacketMerger) PacketsCtx(ctx context.Context) chan TimestampedPacket
type PacketSource ¶
type PacketSource interface {
PacketsCtx(ctx context.Context) chan TimestampedPacket
}
type PacketSourceChan ¶
type PacketSourceChan chan TimestampedPacket
func (PacketSourceChan) PacketsCtx ¶
func (ps PacketSourceChan) PacketsCtx(ctx context.Context) chan TimestampedPacket
type PacketWriter ¶
type PacketWriter interface {
WritePacket(ci gopacket.CaptureInfo, data []byte) error
Flush() error
}
type PcapNgWriter ¶
type PcapNgWriter struct {
// contains filtered or unexported fields
}
func NewPcapNgWriter ¶
func NewPcapNgWriter(w io.Writer, iface CaptureInterface, snaplen uint32, hardware, os string) (*PcapNgWriter, error)
func (*PcapNgWriter) AddInterface ¶
func (w *PcapNgWriter) AddInterface(iface CaptureInterface) (int, error)
func (*PcapNgWriter) Flush ¶
func (w *PcapNgWriter) Flush() error
func (*PcapNgWriter) WritePacket ¶
func (w *PcapNgWriter) WritePacket(ci gopacket.CaptureInfo, data []byte) error
type PcapWriter ¶
type PcapWriter struct {
// contains filtered or unexported fields
}
func NewPcapWriter ¶
func (*PcapWriter) Flush ¶
func (w *PcapWriter) Flush() error
func (*PcapWriter) WritePacket ¶
func (w *PcapWriter) WritePacket(ci gopacket.CaptureInfo, data []byte) error
type TimestampedPacket ¶
Click to show internal directories.
Click to hide internal directories.