From 708d96cbc34be089e457145c4610b7dffa3da223 Mon Sep 17 00:00:00 2001 From: Philipp Mieden Date: Mon, 14 Jan 2019 20:05:23 +0100 Subject: [PATCH] made structure separators in CSV configurable via commandline --- cmd/flags.go | 4 + cmd/main.go | 4 + types/bfd.go | 10 +- types/ciscoDiscovery.go | 8 +- types/ciscoDiscoveryInfo.go | 116 +++++++++---------- types/dhcp4.go | 8 +- types/dhcp6.go | 8 +- types/dns.go | 70 ++++++------ types/dot11.go | 86 +++++++-------- types/geneve.go | 12 +- types/gre.go | 12 +- types/icmp6rs.go | 6 +- types/igmp.go | 12 +- types/ip4.go | 8 +- types/ip6.go | 2 +- types/ip6hop.go | 4 +- types/lldi.go | 52 ++++----- types/ospfv2.go | 214 ++++++++++++++++++------------------ types/ospfv3.go | 18 +-- types/tcp.go | 8 +- types/utils.go | 26 ++--- 21 files changed, 348 insertions(+), 340 deletions(-) diff --git a/cmd/flags.go b/cmd/flags.go index 37114455..f2052b7c 100644 --- a/cmd/flags.go +++ b/cmd/flags.go @@ -59,4 +59,8 @@ var ( flagBaseLayer = flag.String("base", "ethernet", "select base layer") flagDecodeOptions = flag.String("opts", "lazy", "select decoding options") flagPayload = flag.Bool("payload", false, "capture payload for supported layers") + + flagBegin = flag.String("begin", "(", "begin character for a structure in CSV output") + flagEnd = flag.String("end", ")", "end character for a structure in CSV output") + flagStructSeparator = flag.String("struct-sep", "-", "separator character for a structure in CSV output") ) diff --git a/cmd/main.go b/cmd/main.go index a741ae5f..ef90ebc2 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -26,6 +26,7 @@ import ( "github.com/dreadl0ck/netcap" "github.com/dreadl0ck/netcap/collector" "github.com/dreadl0ck/netcap/encoder" + "github.com/dreadl0ck/netcap/types" "github.com/dreadl0ck/netcap/utils" "github.com/evilsocket/islazy/tui" ) @@ -148,6 +149,9 @@ func main() { // read ncap file and print to stdout if filepath.Ext(*flagInput) == ".ncap" || filepath.Ext(*flagInput) == ".gz" { + types.Begin = *flagBegin + types.End = *flagEnd + types.Separator = *flagStructSeparator netcap.Dump(*flagInput, *flagSeparator, *flagTSV, *flagPrintStructured, *flagTable, *flagSelect, *flagUTC, *flagFields) return } diff --git a/types/bfd.go b/types/bfd.go index 4530a25c..3adf9e79 100644 --- a/types/bfd.go +++ b/types/bfd.go @@ -69,14 +69,14 @@ func (a BFD) NetcapTimestamp() string { func (a BFDAuthHeader) GetString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatInt32(int32(a.AuthType))) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(int32(a.KeyID))) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(int32(a.SequenceNumber))) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(hex.EncodeToString(a.Data)) - b.WriteString(end) + b.WriteString(End) return b.String() } diff --git a/types/ciscoDiscovery.go b/types/ciscoDiscovery.go index 86f249ef..e40368f6 100644 --- a/types/ciscoDiscovery.go +++ b/types/ciscoDiscovery.go @@ -49,12 +49,12 @@ func (a CiscoDiscovery) NetcapTimestamp() string { func (v CiscoDiscoveryValue) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatInt32(v.Type)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(v.Length)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(hex.EncodeToString(v.Value)) - b.WriteString(end) + b.WriteString(End) return b.String() } diff --git a/types/ciscoDiscoveryInfo.go b/types/ciscoDiscoveryInfo.go index 435158c9..fbf8dee5 100644 --- a/types/ciscoDiscoveryInfo.go +++ b/types/ciscoDiscoveryInfo.go @@ -101,31 +101,31 @@ func (c CDPHello) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(hex.EncodeToString(c.OUI)) // []byte - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(c.ProtocolID)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(c.ClusterMaster) // string - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(c.Unknown1) // string - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(c.Version)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(c.SubVersion)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(c.Status)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(c.Unknown2)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(c.ClusterCommander) // string - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(c.SwitchMAC) // string - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(c.Unknown3)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(c.ManagementVLAN)) // int32 - b.WriteString(end) + b.WriteString(End) return b.String() } @@ -134,26 +134,26 @@ func (c CDPCapabilities) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(strconv.FormatBool(c.L3Router)) // bool - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(strconv.FormatBool(c.TBBridge)) // bool - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(strconv.FormatBool(c.SPBridge)) // bool - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(strconv.FormatBool(c.L2Switch)) // bool - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(strconv.FormatBool(c.IsHost)) // bool - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(strconv.FormatBool(c.IGMPFilter)) // bool - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(strconv.FormatBool(c.L1Repeater)) // bool - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(strconv.FormatBool(c.IsPhone)) // bool - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(strconv.FormatBool(c.RemotelyManaged)) // bool - b.WriteString(end) + b.WriteString(End) return b.String() } @@ -162,11 +162,11 @@ func (i IPNet) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(i.IP) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(i.IPMask) - b.WriteString(end) + b.WriteString(End) return b.String() } @@ -175,11 +175,11 @@ func (c CDPVLANDialogue) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatInt32(c.ID)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(c.VLAN)) - b.WriteString(end) + b.WriteString(End) return b.String() } @@ -192,13 +192,13 @@ func (c CDPPowerDialogue) ToString() string { } var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatInt32(c.ID)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(c.MgmtID)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(join(vals...)) - b.WriteString(end) + b.WriteString(End) return b.String() } @@ -207,15 +207,15 @@ func (c CDPSparePairPoE) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(strconv.FormatBool(c.PSEFourWire)) // bool - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(strconv.FormatBool(c.PDArchShared)) // bool - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(strconv.FormatBool(c.PDRequestOn)) // bool - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(strconv.FormatBool(c.PSEOn)) // bool - b.WriteString(end) + b.WriteString(End) return b.String() } @@ -224,39 +224,39 @@ func (c CDPEnergyWise) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(hex.EncodeToString(c.EncryptedData)) // []byte - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(c.Unknown1)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(c.SequenceNumber)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(c.ModelNumber) // string - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(c.Unknown2)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(c.HardwareID) // string - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(c.SerialNum) // string - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(hex.EncodeToString(c.Unknown3)) // []byte - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(c.Role) // string - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(c.Domain) // string - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(c.Name) // string - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(hex.EncodeToString(c.ReplyUnknown1)) // []byte - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(hex.EncodeToString(c.ReplyPort)) // []byte - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(hex.EncodeToString(c.ReplyAddress)) // []byte - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(hex.EncodeToString(c.ReplyUnknown2)) // []byte - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(hex.EncodeToString(c.ReplyUnknown3)) // []byte - b.WriteString(end) + b.WriteString(End) return b.String() } @@ -265,11 +265,11 @@ func (c CDPLocation) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatInt32(c.Type)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(c.Location) - b.WriteString(end) + b.WriteString(End) return b.String() } diff --git a/types/dhcp4.go b/types/dhcp4.go index bf578c8e..bf9487f8 100644 --- a/types/dhcp4.go +++ b/types/dhcp4.go @@ -70,12 +70,12 @@ func (d DHCPv4) NetcapTimestamp() string { func (d DHCPOption) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatInt32(d.Type)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(d.Length)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(hex.EncodeToString(d.Data)) - b.WriteString(end) + b.WriteString(End) return b.String() } diff --git a/types/dhcp6.go b/types/dhcp6.go index 131241be..58a13695 100644 --- a/types/dhcp6.go +++ b/types/dhcp6.go @@ -52,12 +52,12 @@ func (d DHCPv6) NetcapTimestamp() string { func (d DHCPv6Option) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatInt32(d.Code)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(d.Length)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(hex.EncodeToString(d.Data)) - b.WriteString(end) + b.WriteString(End) return b.String() } diff --git a/types/dns.go b/types/dns.go index 36132eac..4a83deab 100644 --- a/types/dns.go +++ b/types/dns.go @@ -86,13 +86,13 @@ func (d DNS) NetcapTimestamp() string { func (q DNSQuestion) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(string(q.Name)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(q.Type)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(q.Class)) - b.WriteString(end) + b.WriteString(End) return b.String() } @@ -102,78 +102,78 @@ func (q DNSResourceRecord) ToString() string { txts = append(txts, string(t)) } var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(string(q.Name)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(q.Type)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(q.Class)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(q.TTL)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(q.DataLength)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(hex.EncodeToString(q.Data)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(q.IP) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(string(q.NS)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(string(q.CNAME)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(string(q.PTR)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(q.SOA.ToString()) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(q.SRV.ToString()) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(q.MX.ToString()) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(join(txts...)) - b.WriteString(end) + b.WriteString(End) return b.String() } func (q *DNSSOA) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(string(q.MName)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(string(q.RName)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(q.Serial)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(q.Refresh)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(q.Retry)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(q.Expire)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(q.Minimum)) - b.WriteString(end) + b.WriteString(End) return b.String() } func (q *DNSSRV) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatInt32(q.Priority)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(q.Weight)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(q.Port)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(string(q.Name)) - b.WriteString(end) + b.WriteString(End) return b.String() } func (q *DNSMX) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatInt32(q.Preference)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(string(q.Name)) - b.WriteString(end) + b.WriteString(End) return b.String() } diff --git a/types/dot11.go b/types/dot11.go index 9ef10981..371f45d1 100644 --- a/types/dot11.go +++ b/types/dot11.go @@ -62,114 +62,114 @@ func (d Dot11) NetcapTimestamp() string { func (d Dot11QOS) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatInt32(d.TID)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(strconv.FormatBool(d.EOSP)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(d.AckPolicy)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(d.TXOP)) - b.WriteString(end) + b.WriteString(End) return b.String() } func (d Dot11HTControl) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(strconv.FormatBool(d.ACConstraint)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(strconv.FormatBool(d.RDGMorePPDU)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(d.VHT.ToString()) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(d.HT.ToString()) - b.WriteString(end) + b.WriteString(End) return b.String() } func (d *Dot11HTControlVHT) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(strconv.FormatBool(d.MRQ)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(strconv.FormatBool(d.UnsolicitedMFB)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(d.MSI)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(d.MFB.ToString()) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(d.CompressedMSI)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(strconv.FormatBool(d.STBCIndication)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(d.MFSI)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(d.GID)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(d.CodingType)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(strconv.FormatBool(d.FbTXBeamformed)) - b.WriteString(end) + b.WriteString(End) return b.String() } func (d *Dot11HTControlMFB) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatInt32(d.NumSTS)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(d.VHTMCS)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(d.BW)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(d.SNR)) - b.WriteString(end) + b.WriteString(End) return b.String() } func (d *Dot11HTControlHT) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(d.LinkAdapationControl.ToString()) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(d.CalibrationPosition)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(d.CalibrationSequence)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(d.CSISteering)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(strconv.FormatBool(d.NDPAnnouncement)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(strconv.FormatBool(d.DEI)) - b.WriteString(end) + b.WriteString(End) return b.String() } func (d *Dot11LinkAdapationControl) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(strconv.FormatBool(d.TRQ)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(strconv.FormatBool(d.MRQ)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(d.MSI)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(d.MFSI)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(d.MFB)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(d.ASEL.ToString()) - b.WriteString(end) + b.WriteString(End) return b.String() } func (d *Dot11ASEL) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatInt32(d.Command)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(d.Data)) - b.WriteString(end) + b.WriteString(End) return b.String() } diff --git a/types/geneve.go b/types/geneve.go index 6cd2f78d..1acbfb12 100644 --- a/types/geneve.go +++ b/types/geneve.go @@ -56,17 +56,17 @@ func (i Geneve) NetcapTimestamp() string { func (i GeneveOption) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatInt32(i.Class)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(i.Type)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(i.Flags)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(i.Length)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(hex.EncodeToString(i.Data)) - b.WriteString(end) + b.WriteString(End) return b.String() } diff --git a/types/gre.go b/types/gre.go index e68ef149..afdb637a 100644 --- a/types/gre.go +++ b/types/gre.go @@ -75,17 +75,17 @@ func (r *GRERouting) GetString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatInt32(r.AddressFamily)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(r.SREOffset)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(r.SRELength)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(hex.EncodeToString(r.RoutingInformation)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(r.Next.GetString()) - b.WriteString(end) + b.WriteString(End) return b.String() } diff --git a/types/icmp6rs.go b/types/icmp6rs.go index aaf606c5..6bc196f7 100644 --- a/types/icmp6rs.go +++ b/types/icmp6rs.go @@ -43,11 +43,11 @@ func (i ICMPv6RouterSolicitation) NetcapTimestamp() string { func (o ICMPv6Option) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatInt32(o.Type)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(hex.EncodeToString(o.Data)) - b.WriteString(end) + b.WriteString(End) return b.String() } diff --git a/types/igmp.go b/types/igmp.go index b7d4ec3e..b31eb173 100644 --- a/types/igmp.go +++ b/types/igmp.go @@ -66,17 +66,17 @@ func (i IGMP) NetcapTimestamp() string { func (i IGMPv3GroupRecord) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatInt32(i.Type)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(i.AuxDataLen)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(i.NumberOfSources)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(i.MulticastAddress) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(join(i.SourceAddresses...)) - b.WriteString(end) + b.WriteString(End) return b.String() } diff --git a/types/ip4.go b/types/ip4.go index 5524687b..50b5adbe 100644 --- a/types/ip4.go +++ b/types/ip4.go @@ -74,13 +74,13 @@ func (i IPv4) NetcapTimestamp() string { func (i IPv4Option) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatInt32(i.OptionType)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(i.OptionLength)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(hex.EncodeToString(i.OptionData)) - b.WriteString(end) + b.WriteString(End) return b.String() } diff --git a/types/ip6.go b/types/ip6.go index 9aa9e3e5..bb2d1675 100644 --- a/types/ip6.go +++ b/types/ip6.go @@ -64,5 +64,5 @@ func (h IPv6HopByHop) ToString() string { for _, o := range h.Options { opts = append(opts, o.ToString()) } - return h.Timestamp + sep + join(opts...) + return h.Timestamp + Separator + join(opts...) } diff --git a/types/ip6hop.go b/types/ip6hop.go index b455db8e..6c617d2c 100644 --- a/types/ip6hop.go +++ b/types/ip6hop.go @@ -42,13 +42,13 @@ func (l IPv6HopByHop) NetcapTimestamp() string { func (o IPv6HopByHopOption) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatInt32(o.OptionType)) // int32 b.WriteString(formatInt32(o.OptionLength)) // int32 b.WriteString(formatInt32(o.ActualLength)) // int32 b.WriteString(hex.EncodeToString(o.OptionData)) // []byte b.WriteString(o.OptionAlignment.ToString()) // *IPv6HopByHopOptionAlignment - b.WriteString(end) + b.WriteString(End) return b.String() } diff --git a/types/lldi.go b/types/lldi.go index 975eb977..85fb3816 100644 --- a/types/lldi.go +++ b/types/lldi.go @@ -65,68 +65,68 @@ func (lldsc *LLDPSysCapabilities) ToString() string { func (lldma *LLDPMgmtAddress) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatInt32(lldma.Subtype)) // int32 // byte - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(hex.EncodeToString(lldma.Address)) // bytes - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(lldma.InterfaceSubtype)) // int32 // byte - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(strconv.FormatUint(uint64(lldma.InterfaceNumber), 10)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(lldma.OID) // string - b.WriteString(end) + b.WriteString(End) return b.String() } func (lldst *LLDPOrgSpecificTLV) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(strconv.FormatUint(uint64(lldst.OUI), 10)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(lldst.SubType)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(hex.EncodeToString(lldst.Info)) - b.WriteString(end) + b.WriteString(End) return b.String() } func (lldv *LinkLayerDiscoveryValue) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatInt32(lldv.Type)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(lldv.Length)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(hex.EncodeToString(lldv.Value)) - b.WriteString(end) + b.WriteString(End) return b.String() } func (c *LLDPCapabilities) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(strconv.FormatBool(c.Other)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(strconv.FormatBool(c.Repeater)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(strconv.FormatBool(c.Bridge)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(strconv.FormatBool(c.WLANAP)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(strconv.FormatBool(c.Router)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(strconv.FormatBool(c.Phone)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(strconv.FormatBool(c.DocSis)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(strconv.FormatBool(c.StationOnly)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(strconv.FormatBool(c.CVLAN)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(strconv.FormatBool(c.SVLAN)) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(strconv.FormatBool(c.TMPR)) - b.WriteString(end) + b.WriteString(End) return b.String() } diff --git a/types/ospfv2.go b/types/ospfv2.go index b2a3c7de..ca763999 100644 --- a/types/ospfv2.go +++ b/types/ospfv2.go @@ -73,13 +73,13 @@ func (a OSPFv2) NetcapTimestamp() string { func (l LSReq) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatInt32(l.LSType)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(l.LSID)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(l.AdvRouter)) // uint32 - b.WriteString(end) + b.WriteString(End) return b.String() } @@ -93,13 +93,13 @@ func (r RouterLSAV2) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatInt32(r.Flags)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(r.Links)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(join(routers...)) // []*RouterV2 - b.WriteString(end) + b.WriteString(End) return b.String() } @@ -107,17 +107,17 @@ func (r RouterLSAV2) ToString() string { func (r ASExternalLSAV2) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatUint32(r.NetworkMask)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(r.ExternalBit)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(r.Metric)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(r.ForwardingAddress)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(r.ExternalRouteTag)) // uint32 - b.WriteString(end) + b.WriteString(End) return b.String() } @@ -131,13 +131,13 @@ func (r RouterLSA) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatInt32(r.Flags)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(r.Options)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(join(routers...)) // []*Router - b.WriteString(end) + b.WriteString(End) return b.String() } @@ -145,11 +145,11 @@ func (r RouterLSA) ToString() string { func (r NetworkLSA) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatUint32(r.Options)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(joinUints(r.AttachedRouter)) // []uint32 - b.WriteString(end) + b.WriteString(End) return b.String() } @@ -157,15 +157,15 @@ func (r NetworkLSA) ToString() string { func (r InterAreaPrefixLSA) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatUint32(r.Metric)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(r.PrefixLength)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(r.PrefixOptions)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(hex.EncodeToString(r.AddressPrefix)) // []byte - b.WriteString(end) + b.WriteString(End) return b.String() } @@ -173,13 +173,13 @@ func (r InterAreaPrefixLSA) ToString() string { func (r InterAreaRouterLSA) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatUint32(r.Options)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(r.Metric)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(r.DestinationRouterID)) // uint32 - b.WriteString(end) + b.WriteString(End) return b.String() } @@ -187,25 +187,25 @@ func (r InterAreaRouterLSA) ToString() string { func (r ASExternalLSA) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatInt32(r.Flags)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(r.Metric)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(r.PrefixLength)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(r.PrefixOptions)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(r.RefLSType)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(hex.EncodeToString(r.AddressPrefix)) // []byte - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(hex.EncodeToString(r.ForwardingAddress)) // []byte - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(r.ExternalRouteTag)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(r.RefLinkStateID)) // uint32 - b.WriteString(end) + b.WriteString(End) return b.String() } @@ -219,17 +219,17 @@ func (r LinkLSA) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatInt32(r.RtrPriority)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(r.Options)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(hex.EncodeToString(r.LinkLocalAddress)) // []byte - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(r.NumOfPrefixes)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(join(prefixes...)) // []*LSAPrefix - b.WriteString(end) + b.WriteString(End) return b.String() } @@ -243,17 +243,17 @@ func (r IntraAreaPrefixLSA) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatInt32(r.NumOfPrefixes)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(r.RefLSType)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(r.RefLinkStateID)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(r.RefAdvRouter)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(join(prefixes...)) // []*LSAPrefix - b.WriteString(end) + b.WriteString(End) return b.String() } @@ -261,19 +261,19 @@ func (r IntraAreaPrefixLSA) ToString() string { func (r Router) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatInt32(r.Type)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(r.Metric)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(r.InterfaceID)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(r.NeighborInterfaceID)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(r.NeighborRouterID)) // uint32 - b.WriteString(end) + b.WriteString(End) return b.String() } @@ -281,15 +281,15 @@ func (r Router) ToString() string { func (r RouterV2) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatInt32(r.Type)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(r.LinkID)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(r.LinkData)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(r.Metric)) // uint32 - b.WriteString(end) + b.WriteString(End) return b.String() } @@ -298,29 +298,29 @@ func (l LSA) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(toString(l.Header)) // *LSAheader - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(toString(l.RLSAV2)) // *RouterLSAV2 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(toString(l.ASELSAV2)) // *ASExternalLSAV2 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(toString(l.RLSA)) // *RouterLSA - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(toString(l.NLSA)) // *NetworkLSA - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(toString(l.InterAPrefixLSA)) // *InterAreaPrefixLSA - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(toString(l.IARouterLSA)) // *InterAreaRouterLSA - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(toString(l.ASELSA)) // *ASExternalLSA - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(toString(l.LLSA)) // *LinkLSA - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(toString(l.IntraAPrefixLSA)) // *IntraAreaPrefixLSA - b.WriteString(end) + b.WriteString(End) return b.String() } @@ -334,11 +334,11 @@ func (l LSUpdate) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatUint32(l.NumOfLSAs)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(join(lsas...)) // []*LSA - b.WriteString(end) + b.WriteString(End) return b.String() } @@ -352,17 +352,17 @@ func (l DbDescPkg) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatUint32(l.Options)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(l.InterfaceMTU)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(l.Flags)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(l.DDSeqNumber)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(join(headers...)) // []*LSAheader - b.WriteString(end) + b.WriteString(End) return b.String() } @@ -371,25 +371,25 @@ func (l HelloPkgV2) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatUint32(l.InterfaceID)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(l.RtrPriority)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(l.Options)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(l.HelloInterval)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(l.RouterDeadInterval)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(l.DesignatedRouterID)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(l.BackupDesignatedRouterID)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(joinUints(l.NeighborID)) // []uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(l.NetworkMask)) // uint32 - b.WriteString(end) + b.WriteString(End) return b.String() } @@ -397,15 +397,15 @@ func (l HelloPkgV2) ToString() string { func (l LSAPrefix) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatInt32(l.PrefixLength)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(l.PrefixOptions)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(l.Metric)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(hex.EncodeToString(l.AddressPrefix)) // []byte - b.WriteString(end) + b.WriteString(End) return b.String() } @@ -414,23 +414,23 @@ func (l LSAheader) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatInt32(l.LSAge)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(l.LSType)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(l.LinkStateID)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(l.AdvRouter)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(l.LSSeqNumber)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(l.LSChecksum)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(l.Length)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(l.LSOptions)) // int32 - b.WriteString(end) + b.WriteString(End) return b.String() } diff --git a/types/ospfv3.go b/types/ospfv3.go index d7848ea4..48a97633 100644 --- a/types/ospfv3.go +++ b/types/ospfv3.go @@ -71,23 +71,23 @@ func (l HelloPkg) ToString() string { var b strings.Builder - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(formatUint32(l.InterfaceID)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(l.RtrPriority)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(l.Options)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatInt32(l.HelloInterval)) // int32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(l.RouterDeadInterval)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(l.DesignatedRouterID)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(formatUint32(l.BackupDesignatedRouterID)) // uint32 - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(joinUints(l.NeighborID)) // []uint32 - b.WriteString(end) + b.WriteString(End) return b.String() } diff --git a/types/tcp.go b/types/tcp.go index 797d7983..05eb3f32 100644 --- a/types/tcp.go +++ b/types/tcp.go @@ -77,13 +77,13 @@ func (t TCP) CSVRecord() []string { func (t TCP) GetOptionString() string { var b strings.Builder for _, o := range t.Options { - b.WriteString(begin) + b.WriteString(Begin) b.WriteString(strconv.Itoa(int(o.OptionType))) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(strconv.Itoa(int(o.OptionLength))) - b.WriteString(sep) + b.WriteString(Separator) b.WriteString(hex.EncodeToString(o.OptionData)) - b.WriteString(end) + b.WriteString(End) } return b.String() } diff --git a/types/utils.go b/types/utils.go index 0ed273a4..0c0f04b9 100644 --- a/types/utils.go +++ b/types/utils.go @@ -22,10 +22,10 @@ import ( "github.com/dreadl0ck/netcap/utils" ) -const ( - begin = "(" - end = ")" - sep = "-" +var ( + Begin = "(" + End = ")" + Separator = "-" ) type Stringable interface { @@ -64,14 +64,14 @@ func joinInts(a []int32) string { b strings.Builder lastIndex = len(a) - 1 ) - b.WriteString(begin) + b.WriteString(Begin) for i, num := range a { b.WriteString(formatInt32(num)) if i != lastIndex { - b.WriteString(sep) + b.WriteString(Separator) } } - b.WriteString(end) + b.WriteString(End) return b.String() } @@ -80,14 +80,14 @@ func joinUints(a []uint32) string { b strings.Builder lastIndex = len(a) - 1 ) - b.WriteString(begin) + b.WriteString(Begin) for i, num := range a { b.WriteString(formatUint32(num)) if i != lastIndex { - b.WriteString(sep) + b.WriteString(Separator) } } - b.WriteString(end) + b.WriteString(End) return b.String() } @@ -96,14 +96,14 @@ func join(a ...string) string { b strings.Builder lastIndex = len(a) - 1 ) - b.WriteString(begin) + b.WriteString(Begin) for i, v := range a { b.WriteString(v) if i != lastIndex { - b.WriteString(sep) + b.WriteString(Separator) } } - b.WriteString(end) + b.WriteString(End) return b.String() }