Documentation
¶
Index ¶
- Variables
- type CaptureRecordUnion
- func (*CaptureRecordUnion) Descriptor() ([]byte, []int)
- func (m *CaptureRecordUnion) GetBgpUpdateRecord() *bgp.BGPUpdate
- func (m *CaptureRecordUnion) GetCaptureSpec() *common.CaptureSpec
- func (m *CaptureRecordUnion) GetDnsRecord() *DNSRecord
- func (m *CaptureRecordUnion) GetFlowRecord() *FlowRecord
- func (m *CaptureRecordUnion) GetProbeRecord() *proddle.Probe
- func (m *CaptureRecordUnion) GetProbeResultRecord() *proddle.ProbeResult
- func (m *CaptureRecordUnion) GetRecordType() CaptureRecordUnion_RecordType
- func (m *CaptureRecordUnion) GetTimestampSeconds() int64
- func (*CaptureRecordUnion) ProtoMessage()
- func (m *CaptureRecordUnion) Reset()
- func (m *CaptureRecordUnion) String() string
- func (m *CaptureRecordUnion) XXX_DiscardUnknown()
- func (m *CaptureRecordUnion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (dst *CaptureRecordUnion) XXX_Merge(src proto.Message)
- func (m *CaptureRecordUnion) XXX_Size() int
- func (m *CaptureRecordUnion) XXX_Unmarshal(b []byte) error
- type CaptureRecordUnion_RecordType
- type DNSRecord
- func (*DNSRecord) Descriptor() ([]byte, []int)
- func (m *DNSRecord) GetCname() []string
- func (m *DNSRecord) GetDnsServer() *common.IPAddressWrapper
- func (m *DNSRecord) GetDnssec() bool
- func (m *DNSRecord) GetIps() []*common.IPAddressWrapper
- func (m *DNSRecord) GetQuery() string
- func (m *DNSRecord) GetRequestingHost() *common.IPAddressWrapper
- func (*DNSRecord) ProtoMessage()
- func (m *DNSRecord) Reset()
- func (m *DNSRecord) String() string
- func (m *DNSRecord) XXX_DiscardUnknown()
- func (m *DNSRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (dst *DNSRecord) XXX_Merge(src proto.Message)
- func (m *DNSRecord) XXX_Size() int
- func (m *DNSRecord) XXX_Unmarshal(b []byte) error
- type FlowRecord
- func (*FlowRecord) Descriptor() ([]byte, []int)
- func (m *FlowRecord) GetBucketDurationUs() int64
- func (m *FlowRecord) GetCaptureSpecId() int32
- func (m *FlowRecord) GetDestination() *IPFlow
- func (m *FlowRecord) GetDurationUs() int64
- func (m *FlowRecord) GetL2Proto() FlowRecord_L2Proto
- func (m *FlowRecord) GetL3Proto() int32
- func (m *FlowRecord) GetL4Proto() int32
- func (m *FlowRecord) GetNumberOfAggregatedFlows() int64
- func (m *FlowRecord) GetSource() *IPFlow
- func (m *FlowRecord) GetTimestampNs() uint32
- func (m *FlowRecord) GetTimestampSeconds() int64
- func (*FlowRecord) ProtoMessage()
- func (m *FlowRecord) Reset()
- func (m *FlowRecord) String() string
- func (m *FlowRecord) XXX_DiscardUnknown()
- func (m *FlowRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (dst *FlowRecord) XXX_Merge(src proto.Message)
- func (m *FlowRecord) XXX_Size() int
- func (m *FlowRecord) XXX_Unmarshal(b []byte) error
- type FlowRecord_L2Proto
- type IPFlow
- func (*IPFlow) Descriptor() ([]byte, []int)
- func (m *IPFlow) GetAddress() *common.IPAddressWrapper
- func (m *IPFlow) GetApplicationBytes() int64
- func (m *IPFlow) GetBytes() int64
- func (m *IPFlow) GetCode() int32
- func (m *IPFlow) GetDestinationMac() [][]byte
- func (m *IPFlow) GetGreKey() uint32
- func (m *IPFlow) GetId() int32
- func (m *IPFlow) GetInnerAddress() *common.IPAddressWrapper
- func (m *IPFlow) GetInnerPort() *common.IPAddressWrapper
- func (m *IPFlow) GetInnerProtocol() *common.IPAddressWrapper
- func (m *IPFlow) GetLoss() float32
- func (m *IPFlow) GetMask() *common.IPAddressWrapper
- func (m *IPFlow) GetPacketDecor() []*PacketData
- func (m *IPFlow) GetPackets() int64
- func (m *IPFlow) GetPhysicalPortNumber() []int32
- func (m *IPFlow) GetPort() int32
- func (m *IPFlow) GetRetransmissions() int64
- func (m *IPFlow) GetSourceMac() [][]byte
- func (m *IPFlow) GetTos() int32
- func (m *IPFlow) GetTtl() int32
- func (m *IPFlow) GetType() int32
- func (m *IPFlow) GetVlanId() int32
- func (*IPFlow) ProtoMessage()
- func (m *IPFlow) Reset()
- func (m *IPFlow) String() string
- func (m *IPFlow) XXX_DiscardUnknown()
- func (m *IPFlow) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (dst *IPFlow) XXX_Merge(src proto.Message)
- func (m *IPFlow) XXX_Size() int
- func (m *IPFlow) XXX_Unmarshal(b []byte) error
- type PacketData
- func (*PacketData) Descriptor() ([]byte, []int)
- func (m *PacketData) GetAck() uint32
- func (m *PacketData) GetFin() bool
- func (m *PacketData) GetIpId() uint32
- func (m *PacketData) GetIsFragment() bool
- func (m *PacketData) GetNanosSinceFlowStart() uint64
- func (m *PacketData) GetOptionsL3() bool
- func (m *PacketData) GetOptionsL4() bool
- func (m *PacketData) GetPacketSize() uint32
- func (m *PacketData) GetReset_() bool
- func (m *PacketData) GetSequence() uint32
- func (m *PacketData) GetSyn() bool
- func (m *PacketData) GetWindowSize() int32
- func (*PacketData) ProtoMessage()
- func (m *PacketData) Reset()
- func (m *PacketData) String() string
- func (m *PacketData) XXX_DiscardUnknown()
- func (m *PacketData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (dst *PacketData) XXX_Merge(src proto.Message)
- func (m *PacketData) XXX_Size() int
- func (m *PacketData) XXX_Unmarshal(b []byte) error
Constants ¶
This section is empty.
Variables ¶
View Source
var CaptureRecordUnion_RecordType_name = map[int32]string{
0: "CAPTURE_SPEC",
1: "FLOW_RECORD",
2: "BGP_UPDATE_RECORD",
3: "DNS_RECORD",
4: "PROBE_RECORD",
5: "PROBE_RESULT_RECORD",
}
View Source
var CaptureRecordUnion_RecordType_value = map[string]int32{
"CAPTURE_SPEC": 0,
"FLOW_RECORD": 1,
"BGP_UPDATE_RECORD": 2,
"DNS_RECORD": 3,
"PROBE_RECORD": 4,
"PROBE_RESULT_RECORD": 5,
}
View Source
var FlowRecord_L2Proto_name = map[int32]string{
0: "L2_NONE",
1: "L2_ETHERNET",
}
View Source
var FlowRecord_L2Proto_value = map[string]int32{
"L2_NONE": 0,
"L2_ETHERNET": 1,
}
Functions ¶
This section is empty.
Types ¶
type CaptureRecordUnion ¶
type CaptureRecordUnion struct {
// Rough timestamp for indexing or filtering of data. May be
// augmented internally. In UTC since epoch.
TimestampSeconds int64 `protobuf:"varint,1,opt,name=timestamp_seconds,json=timestampSeconds,proto3" json:"timestamp_seconds,omitempty"`
RecordType CaptureRecordUnion_RecordType `` /* 136-byte string literal not displayed */
CaptureSpec *common.CaptureSpec `protobuf:"bytes,3,opt,name=capture_spec,json=captureSpec,proto3" json:"capture_spec,omitempty"`
FlowRecord *FlowRecord `protobuf:"bytes,4,opt,name=flow_record,json=flowRecord,proto3" json:"flow_record,omitempty"`
BgpUpdateRecord *bgp.BGPUpdate `protobuf:"bytes,5,opt,name=bgp_update_record,json=bgpUpdateRecord,proto3" json:"bgp_update_record,omitempty"`
DnsRecord *DNSRecord `protobuf:"bytes,6,opt,name=dns_record,json=dnsRecord,proto3" json:"dns_record,omitempty"`
ProbeRecord *proddle.Probe `protobuf:"bytes,7,opt,name=probe_record,json=probeRecord,proto3" json:"probe_record,omitempty"`
ProbeResultRecord *proddle.ProbeResult `protobuf:"bytes,8,opt,name=probe_result_record,json=probeResultRecord,proto3" json:"probe_result_record,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
Should contain either a capture_spec or a record. This gives us the ability to parse consecutive records flexibly. The record contains only one of the fields, namely the one identified by record_type. A capture spec is a meta-record meant to describe the file at hand.
func (*CaptureRecordUnion) Descriptor ¶
func (*CaptureRecordUnion) Descriptor() ([]byte, []int)
func (*CaptureRecordUnion) GetBgpUpdateRecord ¶
func (m *CaptureRecordUnion) GetBgpUpdateRecord() *bgp.BGPUpdate
func (*CaptureRecordUnion) GetCaptureSpec ¶
func (m *CaptureRecordUnion) GetCaptureSpec() *common.CaptureSpec
func (*CaptureRecordUnion) GetDnsRecord ¶
func (m *CaptureRecordUnion) GetDnsRecord() *DNSRecord
func (*CaptureRecordUnion) GetFlowRecord ¶
func (m *CaptureRecordUnion) GetFlowRecord() *FlowRecord
func (*CaptureRecordUnion) GetProbeRecord ¶
func (m *CaptureRecordUnion) GetProbeRecord() *proddle.Probe
func (*CaptureRecordUnion) GetProbeResultRecord ¶
func (m *CaptureRecordUnion) GetProbeResultRecord() *proddle.ProbeResult
func (*CaptureRecordUnion) GetRecordType ¶
func (m *CaptureRecordUnion) GetRecordType() CaptureRecordUnion_RecordType
func (*CaptureRecordUnion) GetTimestampSeconds ¶
func (m *CaptureRecordUnion) GetTimestampSeconds() int64
func (*CaptureRecordUnion) ProtoMessage ¶
func (*CaptureRecordUnion) ProtoMessage()
func (*CaptureRecordUnion) Reset ¶
func (m *CaptureRecordUnion) Reset()
func (*CaptureRecordUnion) String ¶
func (m *CaptureRecordUnion) String() string
func (*CaptureRecordUnion) XXX_DiscardUnknown ¶ added in v0.1.2
func (m *CaptureRecordUnion) XXX_DiscardUnknown()
func (*CaptureRecordUnion) XXX_Marshal ¶ added in v0.1.2
func (m *CaptureRecordUnion) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*CaptureRecordUnion) XXX_Merge ¶ added in v0.1.2
func (dst *CaptureRecordUnion) XXX_Merge(src proto.Message)
func (*CaptureRecordUnion) XXX_Size ¶ added in v0.1.2
func (m *CaptureRecordUnion) XXX_Size() int
func (*CaptureRecordUnion) XXX_Unmarshal ¶ added in v0.1.2
func (m *CaptureRecordUnion) XXX_Unmarshal(b []byte) error
type CaptureRecordUnion_RecordType ¶
type CaptureRecordUnion_RecordType int32
const ( CaptureRecordUnion_CAPTURE_SPEC CaptureRecordUnion_RecordType = 0 CaptureRecordUnion_FLOW_RECORD CaptureRecordUnion_RecordType = 1 CaptureRecordUnion_BGP_UPDATE_RECORD CaptureRecordUnion_RecordType = 2 CaptureRecordUnion_DNS_RECORD CaptureRecordUnion_RecordType = 3 CaptureRecordUnion_PROBE_RECORD CaptureRecordUnion_RecordType = 4 CaptureRecordUnion_PROBE_RESULT_RECORD CaptureRecordUnion_RecordType = 5 )
func (CaptureRecordUnion_RecordType) EnumDescriptor ¶
func (CaptureRecordUnion_RecordType) EnumDescriptor() ([]byte, []int)
func (CaptureRecordUnion_RecordType) String ¶
func (x CaptureRecordUnion_RecordType) String() string
type DNSRecord ¶
type DNSRecord struct {
RequestingHost *common.IPAddressWrapper `protobuf:"bytes,1,opt,name=requesting_host,json=requestingHost,proto3" json:"requesting_host,omitempty"`
DnsServer *common.IPAddressWrapper `protobuf:"bytes,2,opt,name=dns_server,json=dnsServer,proto3" json:"dns_server,omitempty"`
// The replies
Ips []*common.IPAddressWrapper `protobuf:"bytes,3,rep,name=ips,proto3" json:"ips,omitempty"`
Cname []string `protobuf:"bytes,4,rep,name=cname,proto3" json:"cname,omitempty"`
// The original question
Query string `protobuf:"bytes,5,opt,name=query,proto3" json:"query,omitempty"`
// Is the reply in DNSSec form
Dnssec bool `protobuf:"varint,6,opt,name=dnssec,proto3" json:"dnssec,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*DNSRecord) Descriptor ¶
func (*DNSRecord) GetDnsServer ¶
func (m *DNSRecord) GetDnsServer() *common.IPAddressWrapper
func (*DNSRecord) GetIps ¶
func (m *DNSRecord) GetIps() []*common.IPAddressWrapper
func (*DNSRecord) GetRequestingHost ¶
func (m *DNSRecord) GetRequestingHost() *common.IPAddressWrapper
func (*DNSRecord) ProtoMessage ¶
func (*DNSRecord) ProtoMessage()
func (*DNSRecord) XXX_DiscardUnknown ¶ added in v0.1.2
func (m *DNSRecord) XXX_DiscardUnknown()
func (*DNSRecord) XXX_Marshal ¶ added in v0.1.2
func (*DNSRecord) XXX_Unmarshal ¶ added in v0.1.2
type FlowRecord ¶
type FlowRecord struct {
// which capture was responsible for this record.
CaptureSpecId int32 `protobuf:"varint,1,opt,name=capture_spec_id,json=captureSpecId,proto3" json:"capture_spec_id,omitempty"`
// seconds since epoch : deprecated use top-level instead
TimestampSeconds int64 `protobuf:"varint,2,opt,name=timestamp_seconds,json=timestampSeconds,proto3" json:"timestamp_seconds,omitempty"`
// really required
TimestampNs uint32 `protobuf:"varint,3,opt,name=timestamp_ns,json=timestampNs,proto3" json:"timestamp_ns,omitempty"`
// if duration is not set then the flow-record is incomplete, i.e.,
// the flow was started but hasn't terminated. If the record is
// an aggregate count of many individual records then we set
// bucket_duration_us instead of this value.
// The field is also unset if this is a single packet.
DurationUs int64 `protobuf:"varint,4,opt,name=duration_us,json=durationUs,proto3" json:"duration_us,omitempty"`
L2Proto FlowRecord_L2Proto `protobuf:"varint,5,opt,name=l2_proto,json=l2Proto,proto3,enum=netbrane.FlowRecord_L2Proto" json:"l2_proto,omitempty"`
// L3 protocol is recorded as ETHERTYPE
L3Proto int32 `protobuf:"varint,6,opt,name=l3_proto,json=l3Proto,proto3" json:"l3_proto,omitempty"`
L4Proto int32 `protobuf:"varint,7,opt,name=l4_proto,json=l4Proto,proto3" json:"l4_proto,omitempty"`
Source *IPFlow `protobuf:"bytes,8,opt,name=source,proto3" json:"source,omitempty"`
Destination *IPFlow `protobuf:"bytes,9,opt,name=destination,proto3" json:"destination,omitempty"`
// The number of individual flow records that have
// been rolled up into this entry.
NumberOfAggregatedFlows int64 `` /* 136-byte string literal not displayed */
// If we roll up many individual flows into one single bucket
// then we need to state the duration of our bucket.
BucketDurationUs int64 `protobuf:"varint,11,opt,name=bucket_duration_us,json=bucketDurationUs,proto3" json:"bucket_duration_us,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (*FlowRecord) Descriptor ¶
func (*FlowRecord) Descriptor() ([]byte, []int)
func (*FlowRecord) GetBucketDurationUs ¶
func (m *FlowRecord) GetBucketDurationUs() int64
func (*FlowRecord) GetCaptureSpecId ¶
func (m *FlowRecord) GetCaptureSpecId() int32
func (*FlowRecord) GetDestination ¶
func (m *FlowRecord) GetDestination() *IPFlow
func (*FlowRecord) GetDurationUs ¶
func (m *FlowRecord) GetDurationUs() int64
func (*FlowRecord) GetL2Proto ¶
func (m *FlowRecord) GetL2Proto() FlowRecord_L2Proto
func (*FlowRecord) GetL3Proto ¶
func (m *FlowRecord) GetL3Proto() int32
func (*FlowRecord) GetL4Proto ¶
func (m *FlowRecord) GetL4Proto() int32
func (*FlowRecord) GetNumberOfAggregatedFlows ¶
func (m *FlowRecord) GetNumberOfAggregatedFlows() int64
func (*FlowRecord) GetSource ¶
func (m *FlowRecord) GetSource() *IPFlow
func (*FlowRecord) GetTimestampNs ¶
func (m *FlowRecord) GetTimestampNs() uint32
func (*FlowRecord) GetTimestampSeconds ¶
func (m *FlowRecord) GetTimestampSeconds() int64
func (*FlowRecord) ProtoMessage ¶
func (*FlowRecord) ProtoMessage()
func (*FlowRecord) Reset ¶
func (m *FlowRecord) Reset()
func (*FlowRecord) String ¶
func (m *FlowRecord) String() string
func (*FlowRecord) XXX_DiscardUnknown ¶ added in v0.1.2
func (m *FlowRecord) XXX_DiscardUnknown()
func (*FlowRecord) XXX_Marshal ¶ added in v0.1.2
func (m *FlowRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*FlowRecord) XXX_Merge ¶ added in v0.1.2
func (dst *FlowRecord) XXX_Merge(src proto.Message)
func (*FlowRecord) XXX_Size ¶ added in v0.1.2
func (m *FlowRecord) XXX_Size() int
func (*FlowRecord) XXX_Unmarshal ¶ added in v0.1.2
func (m *FlowRecord) XXX_Unmarshal(b []byte) error
type FlowRecord_L2Proto ¶
type FlowRecord_L2Proto int32
const ( FlowRecord_L2_NONE FlowRecord_L2Proto = 0 FlowRecord_L2_ETHERNET FlowRecord_L2Proto = 1 )
func (FlowRecord_L2Proto) EnumDescriptor ¶
func (FlowRecord_L2Proto) EnumDescriptor() ([]byte, []int)
func (FlowRecord_L2Proto) String ¶
func (x FlowRecord_L2Proto) String() string
type IPFlow ¶
type IPFlow struct {
// really required
Address *common.IPAddressWrapper `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
// we may aggregate flows for an entire subnet if we
// get too fine-grained with individual flow records.
Mask *common.IPAddressWrapper `protobuf:"bytes,2,opt,name=mask,proto3" json:"mask,omitempty"`
Port int32 `protobuf:"varint,3,opt,name=port,proto3" json:"port,omitempty"`
Tos int32 `protobuf:"varint,4,opt,name=tos,proto3" json:"tos,omitempty"`
Ttl int32 `protobuf:"varint,5,opt,name=ttl,proto3" json:"ttl,omitempty"`
Bytes int64 `protobuf:"varint,6,opt,name=bytes,proto3" json:"bytes,omitempty"`
// Some sniffers may be able to parse the number of acutal payload bytes
ApplicationBytes int64 `protobuf:"varint,7,opt,name=application_bytes,json=applicationBytes,proto3" json:"application_bytes,omitempty"`
Packets int64 `protobuf:"varint,8,opt,name=packets,proto3" json:"packets,omitempty"`
Loss float32 `protobuf:"fixed32,9,opt,name=loss,proto3" json:"loss,omitempty"`
// ---------- ICMP ----------
Type int32 `protobuf:"varint,10,opt,name=type,proto3" json:"type,omitempty"`
Code int32 `protobuf:"varint,11,opt,name=code,proto3" json:"code,omitempty"`
Id int32 `protobuf:"varint,12,opt,name=id,proto3" json:"id,omitempty"`
Retransmissions int64 `protobuf:"varint,13,opt,name=retransmissions,proto3" json:"retransmissions,omitempty"`
// The vlan_id of the packet, empty if no vlan header.
VlanId int32 `protobuf:"varint,14,opt,name=vlan_id,json=vlanId,proto3" json:"vlan_id,omitempty"`
// The L2 source addresses on which we observed this flow
SourceMac [][]byte `protobuf:"bytes,15,rep,name=source_mac,json=sourceMac,proto3" json:"source_mac,omitempty"`
// The L2 destination addresses that were affixed to this flow
DestinationMac [][]byte `protobuf:"bytes,16,rep,name=destination_mac,json=destinationMac,proto3" json:"destination_mac,omitempty"`
// The physical port id(s) on which we received/sent this flow.
PhysicalPortNumber []int32 `` /* 126-byte string literal not displayed */
// If the intercepted packet is a gre packet, place the key here.
GreKey uint32 `protobuf:"varint,18,opt,name=gre_key,json=greKey,proto3" json:"gre_key,omitempty"`
// If we are looking at a tunneled protocol store the inner flow information
// here. Note, this is typically the really interesting address.
InnerAddress *common.IPAddressWrapper `protobuf:"bytes,19,opt,name=inner_address,json=innerAddress,proto3" json:"inner_address,omitempty"`
InnerPort *common.IPAddressWrapper `protobuf:"bytes,20,opt,name=inner_port,json=innerPort,proto3" json:"inner_port,omitempty"`
// as in IPPROTO_*
InnerProtocol *common.IPAddressWrapper `protobuf:"bytes,21,opt,name=inner_protocol,json=innerProtocol,proto3" json:"inner_protocol,omitempty"`
// We may get richer flow information, e.g., decorated with pcap info.
// We store additional information on a per-packet basis in the
// sequence of pcap_decoration(s) below
// Timestamps in these are relative to the timestamp of the record.
// Decoration is most meaningful if the flow describes something
// like a single connection. But this is not a requirement. If we
// get netflow records we don't get the pcap information.
PacketDecor []*PacketData `protobuf:"bytes,22,rep,name=packet_decor,json=packetDecor,proto3" json:"packet_decor,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
Flow originates at address
func (*IPFlow) Descriptor ¶
func (*IPFlow) GetAddress ¶
func (m *IPFlow) GetAddress() *common.IPAddressWrapper
func (*IPFlow) GetApplicationBytes ¶
func (*IPFlow) GetDestinationMac ¶
func (*IPFlow) GetInnerAddress ¶
func (m *IPFlow) GetInnerAddress() *common.IPAddressWrapper
func (*IPFlow) GetInnerPort ¶
func (m *IPFlow) GetInnerPort() *common.IPAddressWrapper
func (*IPFlow) GetInnerProtocol ¶
func (m *IPFlow) GetInnerProtocol() *common.IPAddressWrapper
func (*IPFlow) GetMask ¶
func (m *IPFlow) GetMask() *common.IPAddressWrapper
func (*IPFlow) GetPacketDecor ¶
func (m *IPFlow) GetPacketDecor() []*PacketData
func (*IPFlow) GetPackets ¶
func (*IPFlow) GetPhysicalPortNumber ¶
func (*IPFlow) GetRetransmissions ¶
func (*IPFlow) GetSourceMac ¶
func (*IPFlow) ProtoMessage ¶
func (*IPFlow) ProtoMessage()
func (*IPFlow) XXX_DiscardUnknown ¶ added in v0.1.2
func (m *IPFlow) XXX_DiscardUnknown()
func (*IPFlow) XXX_Marshal ¶ added in v0.1.2
func (*IPFlow) XXX_Unmarshal ¶ added in v0.1.2
type PacketData ¶
type PacketData struct {
NanosSinceFlowStart uint64 `protobuf:"varint,1,opt,name=nanos_since_flow_start,json=nanosSinceFlowStart,proto3" json:"nanos_since_flow_start,omitempty"`
PacketSize uint32 `protobuf:"varint,2,opt,name=packet_size,json=packetSize,proto3" json:"packet_size,omitempty"`
// IP per packet see RFC 791
IpId uint32 `protobuf:"varint,3,opt,name=ip_id,json=ipId,proto3" json:"ip_id,omitempty"`
// either more fragments after this or offset != 0
IsFragment bool `protobuf:"varint,4,opt,name=is_fragment,json=isFragment,proto3" json:"is_fragment,omitempty"`
// TCP related follows RFC 793
// This is the window advertisement
// in bytes.
WindowSize int32 `protobuf:"varint,5,opt,name=window_size,json=windowSize,proto3" json:"window_size,omitempty"`
Sequence uint32 `protobuf:"varint,6,opt,name=sequence,proto3" json:"sequence,omitempty"`
Ack uint32 `protobuf:"varint,7,opt,name=ack,proto3" json:"ack,omitempty"`
Syn bool `protobuf:"varint,8,opt,name=syn,proto3" json:"syn,omitempty"`
Fin bool `protobuf:"varint,9,opt,name=fin,proto3" json:"fin,omitempty"`
Reset_ bool `protobuf:"varint,10,opt,name=reset,proto3" json:"reset,omitempty"`
// Do we need more understanding of options ip and otherwise
OptionsL3 bool `protobuf:"varint,11,opt,name=options_l3,json=optionsL3,proto3" json:"options_l3,omitempty"`
OptionsL4 bool `protobuf:"varint,12,opt,name=options_l4,json=optionsL4,proto3" json:"options_l4,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
We don't always capture packet data. If we do, this is the format
func (*PacketData) Descriptor ¶
func (*PacketData) Descriptor() ([]byte, []int)
func (*PacketData) GetAck ¶
func (m *PacketData) GetAck() uint32
func (*PacketData) GetFin ¶
func (m *PacketData) GetFin() bool
func (*PacketData) GetIpId ¶
func (m *PacketData) GetIpId() uint32
func (*PacketData) GetIsFragment ¶
func (m *PacketData) GetIsFragment() bool
func (*PacketData) GetNanosSinceFlowStart ¶
func (m *PacketData) GetNanosSinceFlowStart() uint64
func (*PacketData) GetOptionsL3 ¶
func (m *PacketData) GetOptionsL3() bool
func (*PacketData) GetOptionsL4 ¶
func (m *PacketData) GetOptionsL4() bool
func (*PacketData) GetPacketSize ¶
func (m *PacketData) GetPacketSize() uint32
func (*PacketData) GetReset_ ¶
func (m *PacketData) GetReset_() bool
func (*PacketData) GetSequence ¶
func (m *PacketData) GetSequence() uint32
func (*PacketData) GetSyn ¶
func (m *PacketData) GetSyn() bool
func (*PacketData) GetWindowSize ¶
func (m *PacketData) GetWindowSize() int32
func (*PacketData) ProtoMessage ¶
func (*PacketData) ProtoMessage()
func (*PacketData) Reset ¶
func (m *PacketData) Reset()
func (*PacketData) String ¶
func (m *PacketData) String() string
func (*PacketData) XXX_DiscardUnknown ¶ added in v0.1.2
func (m *PacketData) XXX_DiscardUnknown()
func (*PacketData) XXX_Marshal ¶ added in v0.1.2
func (m *PacketData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*PacketData) XXX_Merge ¶ added in v0.1.2
func (dst *PacketData) XXX_Merge(src proto.Message)
func (*PacketData) XXX_Size ¶ added in v0.1.2
func (m *PacketData) XXX_Size() int
func (*PacketData) XXX_Unmarshal ¶ added in v0.1.2
func (m *PacketData) XXX_Unmarshal(b []byte) error
Click to show internal directories.
Click to hide internal directories.