decoder

package
v0.0.0-...-af64ff1 Latest Latest
Warning

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

Go to latest
Published: Jul 4, 2022 License: AGPL-3.0 Imports: 32 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Version   = 1  // Chunk 0x0001 IP protocol family (0x02=IPv4, 0x0a=IPv6)
	Protocol  = 2  // Chunk 0x0002 IP protocol ID (0x06=TCP, 0x11=UDP)
	IP4SrcIP  = 3  // Chunk 0x0003 IPv4 source address
	IP4DstIP  = 4  // Chunk 0x0004 IPv4 destination address
	IP6SrcIP  = 5  // Chunk 0x0005 IPv6 source address
	IP6DstIP  = 6  // Chunk 0x0006 IPv6 destination address
	SrcPort   = 7  // Chunk 0x0007 Protocol source port
	DstPort   = 8  // Chunk 0x0008 Protocol destination port
	Tsec      = 9  // Chunk 0x0009 Unix timestamp, seconds
	Tmsec     = 10 // Chunk 0x000a Unix timestamp, microseconds
	ProtoType = 11 // Chunk 0x000b Protocol type (DNS, LOG, RTCP, SIP)
	NodeID    = 12 // Chunk 0x000c Capture client ID
	NodePW    = 14 // Chunk 0x000e Authentication key (plain text / TLS connection)
	Payload   = 15 // Chunk 0x000f Captured packet payload
	CID       = 17 // Chunk 0x0011 Correlation ID
	Vlan      = 18 // Chunk 0x0012 VLAN
	NodeName  = 19 // Chunk 0x0013 NodeName
)

HEP chuncks

Variables

View Source
var (
	ErrInvalidLengthHep = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowHep   = fmt.Errorf("proto: integer overflow")
)

Functions

func HashString

func HashString(algo, s string) string

HashString returns md5, sha1 or sha256 sum

func HashTable

func HashTable(op, key, val string) string

HashTable is a simple kv store

func WriteJSONString

func WriteJSONString(w io.Writer, s string) (int, error)

Types

type ExprEngine

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

ExprEngine struct

func NewExprEngine

func NewExprEngine() (*ExprEngine, error)

NewExprEngine returns the script engine struct

func (*ExprEngine) Close

func (e *ExprEngine) Close()

Close implements interface

func (*ExprEngine) GetHEPCID

func (e *ExprEngine) GetHEPCID() string

func (*ExprEngine) GetHEPDstIP

func (e *ExprEngine) GetHEPDstIP() string

func (*ExprEngine) GetHEPDstPort

func (e *ExprEngine) GetHEPDstPort() uint32

func (*ExprEngine) GetHEPNodeID

func (e *ExprEngine) GetHEPNodeID() uint32

func (*ExprEngine) GetHEPProtoType

func (e *ExprEngine) GetHEPProtoType() uint32

func (*ExprEngine) GetHEPSrcIP

func (e *ExprEngine) GetHEPSrcIP() string

func (*ExprEngine) GetHEPSrcPort

func (e *ExprEngine) GetHEPSrcPort() uint32

func (*ExprEngine) GetHEPStruct

func (e *ExprEngine) GetHEPStruct() *HEP

func (*ExprEngine) GetHEPTimeSeconds

func (e *ExprEngine) GetHEPTimeSeconds() uint32

func (*ExprEngine) GetHEPTimeUseconds

func (e *ExprEngine) GetHEPTimeUseconds() uint32

func (*ExprEngine) GetRawMessage

func (e *ExprEngine) GetRawMessage() string

func (*ExprEngine) GetSIPCallID

func (e *ExprEngine) GetSIPCallID() string

func (*ExprEngine) GetSIPStruct

func (e *ExprEngine) GetSIPStruct() *sipparser.SipMsg

func (*ExprEngine) Run

func (e *ExprEngine) Run(hep *HEP) error

Run will execute the script

func (*ExprEngine) SetCustomSIPHeader

func (e *ExprEngine) SetCustomSIPHeader(m map[string]string) uint8

func (*ExprEngine) SetHEPField

func (e *ExprEngine) SetHEPField(field string, value string) uint8

func (*ExprEngine) SetRawMessage

func (e *ExprEngine) SetRawMessage(p string) uint8

func (*ExprEngine) SetSIPHeader

func (e *ExprEngine) SetSIPHeader(header string, value string) uint8

func (*ExprEngine) SetSIPProfile

func (e *ExprEngine) SetSIPProfile(p string) uint8

type HEP

type HEP struct {
	Version     uint32 `protobuf:"varint,1,req,name=Version" json:"Version"`
	Protocol    uint32 `protobuf:"varint,2,req,name=Protocol" json:"Protocol"`
	SrcIP       string `protobuf:"bytes,3,req,name=SrcIP" json:"SrcIP"`
	DstIP       string `protobuf:"bytes,4,req,name=DstIP" json:"DstIP"`
	SrcPort     uint32 `protobuf:"varint,5,req,name=SrcPort" json:"SrcPort"`
	DstPort     uint32 `protobuf:"varint,6,req,name=DstPort" json:"DstPort"`
	Tsec        uint32 `protobuf:"varint,7,req,name=Tsec" json:"Tsec"`
	Tmsec       uint32 `protobuf:"varint,8,req,name=Tmsec" json:"Tmsec"`
	ProtoType   uint32 `protobuf:"varint,9,req,name=ProtoType" json:"ProtoType"`
	NodeID      uint32 `protobuf:"varint,10,req,name=NodeID" json:"NodeID"`
	NodePW      string `protobuf:"bytes,11,req,name=NodePW" json:"NodePW"`
	Payload     string `protobuf:"bytes,12,req,name=Payload" json:"Payload"`
	CID         string `protobuf:"bytes,13,req,name=CID" json:"CID"`
	Vlan        uint32 `protobuf:"varint,14,req,name=Vlan" json:"Vlan"`
	ProtoString string
	Timestamp   time.Time
	SIP         *sipparser.SipMsg
	NodeName    string
	TargetName  string
	SID         string
}

HEP represents HEP packet

func DecodeHEP

func DecodeHEP(packet []byte) (*HEP, error)

DecodeHEP returns a parsed HEP message

func NewPopulatedHEP

func NewPopulatedHEP(r randyHep, easy bool) *HEP

func (*HEP) Descriptor

func (*HEP) Descriptor() ([]byte, []int)

func (*HEP) Equal

func (this *HEP) Equal(that interface{}) bool

func (*HEP) EscapeFields

func (h *HEP) EscapeFields(w io.Writer, tag string) (int, error)

func (*HEP) GetCID

func (m *HEP) GetCID() string

func (*HEP) GetDstIP

func (m *HEP) GetDstIP() string

func (*HEP) GetDstPort

func (m *HEP) GetDstPort() uint32

func (*HEP) GetNodeID

func (m *HEP) GetNodeID() uint32

func (*HEP) GetNodePW

func (m *HEP) GetNodePW() string

func (*HEP) GetPayload

func (m *HEP) GetPayload() string

func (*HEP) GetProtoType

func (m *HEP) GetProtoType() uint32

func (*HEP) GetProtocol

func (m *HEP) GetProtocol() uint32

func (*HEP) GetSrcIP

func (m *HEP) GetSrcIP() string

func (*HEP) GetSrcPort

func (m *HEP) GetSrcPort() uint32

func (*HEP) GetTmsec

func (m *HEP) GetTmsec() uint32

func (*HEP) GetTsec

func (m *HEP) GetTsec() uint32

func (*HEP) GetVersion

func (m *HEP) GetVersion() uint32

func (*HEP) GetVlan

func (m *HEP) GetVlan() uint32

func (*HEP) GoString

func (this *HEP) GoString() string

func (*HEP) Marshal

func (m *HEP) Marshal() (dAtA []byte, err error)

func (*HEP) MarshalTo

func (m *HEP) MarshalTo(dAtA []byte) (int, error)

func (*HEP) ProtoMessage

func (*HEP) ProtoMessage()

func (*HEP) Reset

func (m *HEP) Reset()

func (*HEP) Size

func (m *HEP) Size() (n int)

func (*HEP) String

func (this *HEP) String() string

func (*HEP) Unmarshal

func (m *HEP) Unmarshal(dAtA []byte) error

func (*HEP) XXX_DiscardUnknown

func (m *HEP) XXX_DiscardUnknown()

func (*HEP) XXX_Marshal

func (m *HEP) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*HEP) XXX_Merge

func (m *HEP) XXX_Merge(src proto.Message)

func (*HEP) XXX_Size

func (m *HEP) XXX_Size() int

func (*HEP) XXX_Unmarshal

func (m *HEP) XXX_Unmarshal(b []byte) error

type LuaEngine

type LuaEngine struct {
	LuaEngine *lua.State
	// contains filtered or unexported fields
}

LuaEngine

func NewLuaEngine

func NewLuaEngine() (*LuaEngine, error)

NewLuaEngine returns the script engine struct

func (*LuaEngine) Close

func (d *LuaEngine) Close()

func (*LuaEngine) GetHEPDstIP

func (d *LuaEngine) GetHEPDstIP() string

func (*LuaEngine) GetHEPDstPort

func (d *LuaEngine) GetHEPDstPort() uint32

func (*LuaEngine) GetHEPNodeID

func (d *LuaEngine) GetHEPNodeID() uint32

func (*LuaEngine) GetHEPProtoType

func (d *LuaEngine) GetHEPProtoType() uint32

func (*LuaEngine) GetHEPSrcIP

func (d *LuaEngine) GetHEPSrcIP() string

func (*LuaEngine) GetHEPSrcPort

func (d *LuaEngine) GetHEPSrcPort() uint32

func (*LuaEngine) GetHEPStruct

func (d *LuaEngine) GetHEPStruct() interface{}

func (*LuaEngine) GetHEPTimeSeconds

func (d *LuaEngine) GetHEPTimeSeconds() uint32

func (*LuaEngine) GetHEPTimeUseconds

func (d *LuaEngine) GetHEPTimeUseconds() uint32

func (*LuaEngine) GetRawMessage

func (d *LuaEngine) GetRawMessage() string

func (*LuaEngine) GetSIPStruct

func (d *LuaEngine) GetSIPStruct() interface{}

func (*LuaEngine) Logp

func (d *LuaEngine) Logp(level string, message string, data interface{})

func (*LuaEngine) Run

func (d *LuaEngine) Run(hep *HEP) error

Run will execute the script

func (*LuaEngine) SetCustomSIPHeader

func (d *LuaEngine) SetCustomSIPHeader(m *map[string]string)

func (*LuaEngine) SetHEPField

func (d *LuaEngine) SetHEPField(field string, value string)

func (*LuaEngine) SetRawMessage

func (d *LuaEngine) SetRawMessage(value string)

func (*LuaEngine) SetSIPHeader

func (d *LuaEngine) SetSIPHeader(header string, value string)

func (*LuaEngine) SetSIPProfile

func (d *LuaEngine) SetSIPProfile(p string)

type ScriptEngine

type ScriptEngine interface {
	Run(hep *HEP) error
	Close()
}

ScriptEngine interface

func NewScriptEngine

func NewScriptEngine() (ScriptEngine, error)

NewScriptEngine returns a script interface

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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