Documentation ¶
Index ¶
- Variables
- type Config
- type Result
- func (*Result) Descriptor() ([]byte, []int)deprecated
- func (x *Result) GetRequest() *dissector.Result
- func (x *Result) GetResponse() *dissector.Result
- func (r *Result) PrettyString() string
- func (*Result) ProtoMessage()
- func (x *Result) ProtoReflect() protoreflect.Message
- func (x *Result) Reset()
- func (x *Result) String() string
- type Results
- type Sniffer
Constants ¶
This section is empty.
Variables ¶
View Source
var File_sniffer_proto protoreflect.FileDescriptor
View Source
var ModbusSpeeds = []int{9600, 19200, 38400, 115200, 57600, 4800, 2400, 1200}
Modbus data for scanning, most frequent first
Functions ¶
This section is empty.
Types ¶
type Config ¶
func ScanPort ¶
Scan for Modbus RTU valid serial port configuration connect one 485 line to an active line with traffic to run this
func (*Config) PrettyString ¶
type Result ¶
type Result struct { Request *dissector.Result `protobuf:"bytes,1,opt,name=request,proto3" json:"request,omitempty"` Response *dissector.Result `protobuf:"bytes,2,opt,name=response,proto3" json:"response,omitempty"` // contains filtered or unexported fields }
func (*Result) Descriptor
deprecated
func (*Result) GetRequest ¶
func (*Result) GetResponse ¶
func (*Result) PrettyString ¶
func (*Result) ProtoMessage ¶
func (*Result) ProtoMessage()
func (*Result) ProtoReflect ¶
func (x *Result) ProtoReflect() protoreflect.Message
type Results ¶
type Results struct { Results []*Result `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` // contains filtered or unexported fields }
func (*Results) Descriptor
deprecated
func (*Results) GetResults ¶
func (*Results) ProtoMessage ¶
func (*Results) ProtoMessage()
func (*Results) ProtoReflect ¶
func (x *Results) ProtoReflect() protoreflect.Message
type Sniffer ¶
type Sniffer struct { Results Results // contains filtered or unexported fields }
func NewModbusRTUSniffer ¶
NewModbusRTUSniffer creates and starts a sniffer for Modbus RTU Process runs on go routine, which can be stopped with Sniffer.Close() You need to secure main program does not exit e.g. for{select{}} if 1 port is provided, then it sniffs half-duples if 2 ports are provided, then is sniffs duplex (Requests on port[0] (tx), Responses/Exception on port[1] (rx)
func (*Sniffer) GetResultsAndFlush ¶
GetResults return results, and flushes
func (*Sniffer) GetResultsCount ¶
func (*Sniffer) ProtoBytesAndFlush ¶
ProtoBytes extracts results as protobuf Marshalled bytes
Click to show internal directories.
Click to hide internal directories.