logstash-codec-netflow 3.1.2 → 3.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 99ce8b242b817bf92aa4c140a56d43db630a26dc
4
- data.tar.gz: c02fcefa562dec4a4f818af944fb32db523edd64
3
+ metadata.gz: 64fcf9c71a5f61b3d08657aa9330fe84c509130f
4
+ data.tar.gz: 7b3d28e45b1049e3164fc6e1bec4302aef0390c4
5
5
  SHA512:
6
- metadata.gz: 3b26e57e5c3e600593041b1fdd3c3b89c77ec899efc78293f9363d13088b51a8f91a77869687aede41c74e01988fce798e2e3368f4486d1aa7fc4ce120436cde
7
- data.tar.gz: da2d32f24ddca86e7aa32f01f9a588a52834abe0f1139842641878b6108275824ad9d539512e94eff5ad67c1a3f253d9d3b34dc15941d6487acf881ac36bf88a
6
+ metadata.gz: 721e9b3d27195d9fbcb97101fb710b4830544d9d7300e00e1fa69feca51eb0a45b3416370b94131ff38bd7edb2a751a33ea017e46d3ebe81d57f929d21d9edc1
7
+ data.tar.gz: 2596a72bf9fc4a8d738e51ffbdf0da7325207192390e1f21770808bd7e0c487ff333d735b89d559502b2b56c3d024f1ce5a95a24fdcdceaadd0feb50046e9d83
data/CHANGELOG.md CHANGED
@@ -1,4 +1,14 @@
1
+ ## 3.1.4
2
+
3
+ - Added support for MPLS labels
4
+ - Added support for decoding forwarded status field (Netflow 9)
5
+
6
+ ## 3.1.3
7
+
8
+ - Confirmed support and tests added for 4 Netflow/IPFIX exporters
9
+
1
10
  ## 3.1.2
11
+
2
12
  - Relax constraint on logstash-core-plugin-api to >= 1.60 <= 2.99
3
13
 
4
14
  ## 3.1.1
data/CONTRIBUTORS CHANGED
@@ -5,6 +5,8 @@ Contributors:
5
5
  * Aaron Mildenstein (untergeek)
6
6
  * Adam Kaminski (thimslugga)
7
7
  * Colin Surprenant (colinsurprenant)
8
+ * Daniel Nägele (analogbyte)
9
+ * Evgeniy Sudyr (ejectck)
8
10
  * Jordan Sissel (jordansissel)
9
11
  * Jorrit Folmer (jorritfolmer)
10
12
  * Matt Dainty (bodgit)
@@ -17,6 +19,8 @@ Contributors:
17
19
  * Rojuinex
18
20
  * debadair
19
21
  * hkshirish
22
+ * hhindlem
23
+ * niempy
20
24
  * jstopinsek
21
25
 
22
26
  Maintainer:
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
- require "logstash/filters/base"
2
+ require "logstash/codecs/base"
3
3
  require "logstash/namespace"
4
4
  require "logstash/timestamp"
5
5
 
@@ -11,13 +11,17 @@ require "logstash/timestamp"
11
11
  #
12
12
  # [cols="6,^2,^2,^2,12",options="header"]
13
13
  # |===========================================================================================
14
- # |Netflow exporter | v5 | v9 | IPFIX | Remarks
15
- # |Softflowd | y | y | y | IPFIX supported in https://github.com/djmdjm/softflowd
16
- # |nProbe | y | y | y |
17
- # |ipt_NETFLOW | y | y | y |
18
- # |Cisco ASA | | y | |
19
- # |Cisco IOS 12.x | | y | |
20
- # |fprobe | y | | |
14
+ # |Netflow exporter | v5 | v9 | IPFIX | Remarks
15
+ # |Softflowd | y | y | y | IPFIX supported in https://github.com/djmdjm/softflowd
16
+ # |nProbe | y | y | y |
17
+ # |ipt_NETFLOW | y | y | y |
18
+ # |Cisco ASA | | y | |
19
+ # |Cisco IOS 12.x | | y | |
20
+ # |fprobe | y | | |
21
+ # |Juniper MX80 | y | | | SW > 12.3R8
22
+ # |OpenBSD pflow | y | n | y | http://man.openbsd.org/OpenBSD-current/man4/pflow.4
23
+ # |Mikrotik 6.35.4 | y | | n | http://wiki.mikrotik.com/wiki/Manual:IP/Traffic_Flow
24
+ # |Ubiquiti Edgerouter X | | y | | With MPLS labels
21
25
  # |===========================================================================================
22
26
  #
23
27
  # ==== Usage
@@ -222,6 +222,15 @@
222
222
  86:
223
223
  - :uint32
224
224
  - :in_permanent_pkts
225
+ 89:
226
+ - :forwarding_status
227
+ - :forwarding_status
228
+ 95:
229
+ - :uint32
230
+ - :application_id
231
+ 136:
232
+ - :uint8
233
+ - :flow_end_reason
225
234
  148:
226
235
  - :uint32
227
236
  - :conn_id
@@ -237,6 +246,9 @@
237
246
  179:
238
247
  - :uint8
239
248
  - :icmp_code_ipv6
249
+ 201:
250
+ - mpls_label_stack_octets
251
+ - mpls_label_stack_octets
240
252
  225:
241
253
  - :ip4_addr
242
254
  - :xlate_src_addr_ipv4
@@ -297,3 +309,18 @@
297
309
  40005:
298
310
  - :uint8
299
311
  - :fw_event
312
+ 95:
313
+ - :uint32
314
+ - :application_id
315
+ 180:
316
+ - :uint16
317
+ - :udp_src_port
318
+ 181:
319
+ - :uint16
320
+ - :udp_dst_port
321
+ 182:
322
+ - :uint16
323
+ - :tcp_src_port
324
+ 183:
325
+ - :uint16
326
+ - :tcp_dst_port
@@ -64,6 +64,20 @@ class ACLIdASA < BinData::Primitive
64
64
  end
65
65
  end
66
66
 
67
+ class MPLSLabelStackOctets < BinData::Record
68
+ endian :big
69
+ bit20 :label
70
+ bit3 :experimental
71
+ bit1 :bottom_of_stack
72
+ uint8 :ttl
73
+ end
74
+
75
+ class Forwarding_Status < BinData::Record
76
+ endian :big
77
+ bit2 :status
78
+ bit6 :reason
79
+ end
80
+
67
81
  class Header < BinData::Record
68
82
  endian :big
69
83
  uint16 :version
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
 
3
3
  s.name = 'logstash-codec-netflow'
4
- s.version = '3.1.2'
4
+ s.version = '3.1.4'
5
5
  s.licenses = ['Apache License (2.0)']
6
6
  s.summary = "The netflow codec is for decoding Netflow v5/v9/v10 (IPFIX) flows."
7
7
  s.description = "This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone program"
@@ -247,8 +247,8 @@ describe LogStash::Codecs::Netflow do
247
247
  context "Netflow 9 Cisco ASA" do
248
248
  let(:data) do
249
249
  packets = []
250
- packets << IO.read(File.join(File.dirname(__FILE__), "netflow9_test_valid_cisco_asa_tpl.dat"), :mode => "rb")
251
- packets << IO.read(File.join(File.dirname(__FILE__), "netflow9_test_valid_cisco_asa_data.dat"), :mode => "rb")
250
+ packets << IO.read(File.join(File.dirname(__FILE__), "netflow9_test_cisco_asa_1_tpl.dat"), :mode => "rb")
251
+ packets << IO.read(File.join(File.dirname(__FILE__), "netflow9_test_cisco_asa_1_data.dat"), :mode => "rb")
252
252
  end
253
253
 
254
254
  let(:json_events) do
@@ -679,6 +679,292 @@ describe LogStash::Codecs::Netflow do
679
679
  expect(JSON.parse(decode[5].to_json)).to eq(JSON.parse(json_events[5]))
680
680
  expect(JSON.parse(decode[6].to_json)).to eq(JSON.parse(json_events[6]))
681
681
  end
682
+
683
+ end
684
+
685
+ context "Netflow 9 Cisco ASA #2" do
686
+ let(:data) do
687
+ # The ASA sent 2 packets with templates, 260-270, and 270-280
688
+ packets = []
689
+ packets << IO.read(File.join(File.dirname(__FILE__), "netflow9_test_cisco_asa_2_tpl_26x.dat"), :mode => "rb")
690
+ packets << IO.read(File.join(File.dirname(__FILE__), "netflow9_test_cisco_asa_2_tpl_27x.dat"), :mode => "rb")
691
+ packets << IO.read(File.join(File.dirname(__FILE__), "netflow9_test_cisco_asa_2_data.dat"), :mode => "rb")
692
+ end
693
+
694
+ let(:json_events) do
695
+ events = []
696
+ events << <<-END
697
+ {
698
+ "@timestamp": "2016-07-21T13:50:37.000Z",
699
+ "netflow": {
700
+ "version": 9,
701
+ "flow_seq_num": 31,
702
+ "flowset_id": 263,
703
+ "conn_id": 742820223,
704
+ "ipv4_src_addr": "192.168.0.1",
705
+ "l4_src_port":56651,
706
+ "input_snmp":3,
707
+ "ipv4_dst_addr":"192.168.0.18",
708
+ "l4_dst_port":80,
709
+ "output_snmp":4,
710
+ "protocol":6,
711
+ "icmp_type":0,
712
+ "icmp_code":0,
713
+ "xlate_src_addr_ipv4":"192.168.0.1",
714
+ "xlate_dst_addr_ipv4":"192.168.0.18",
715
+ "xlate_src_port":56651,
716
+ "xlate_dst_port":80,
717
+ "fw_event":2,
718
+ "fw_ext_event":2030,
719
+ "event_time_msec":1469109036495,
720
+ "fwd_flow_delta_bytes":69,
721
+ "rev_flow_delta_bytes":14178,
722
+ "flow_start_msec":1469109036395
723
+ },
724
+ "@version": "1"
725
+ }
726
+ END
727
+ events.map{|event| event.gsub(/\s+/, "")}
728
+ end
729
+
730
+ it "should decode raw data" do
731
+ expect(decode.size).to eq(19)
732
+ expect(decode[18].get("[netflow][ipv4_src_addr]")).to eq("192.168.0.1")
733
+ expect(decode[18].get("[netflow][ipv4_dst_addr]")).to eq("192.168.0.18")
734
+ expect(decode[18].get("[netflow][fwd_flow_delta_bytes]")).to eq(69)
735
+ expect(decode[18].get("[netflow][conn_id]")).to eq(742820223)
736
+ end
737
+
738
+ it "should serialize to json" do
739
+ expect(JSON.parse(decode[18].to_json)).to eq(JSON.parse(json_events[0]))
740
+ end
741
+
742
+ end
743
+
744
+ context "IPFIX OpenBSD pflow" do
745
+ let(:data) do
746
+ packets = []
747
+ packets << IO.read(File.join(File.dirname(__FILE__), "ipfix_test_openbsd_pflow_tpl.dat"), :mode => "rb")
748
+ packets << IO.read(File.join(File.dirname(__FILE__), "ipfix_test_openbsd_pflow_data.dat"), :mode => "rb")
749
+ end
750
+
751
+ let(:json_events) do
752
+ events = []
753
+ events << <<-END
754
+ {
755
+ "@timestamp": "2016-07-21T13:30:37.000Z",
756
+ "netflow": {
757
+ "version": 10,
758
+ "sourceIPv4Address": "192.168.0.1",
759
+ "destinationIPv4Address": "192.168.0.17",
760
+ "ingressInterface": 1,
761
+ "egressInterface": 1,
762
+ "packetDeltaCount": 8,
763
+ "octetDeltaCount": 6425,
764
+ "flowStartMilliseconds": "2016-07-21T13:29:59.000Z",
765
+ "flowEndMilliseconds": "2016-07-21T13:30:01.000Z",
766
+ "sourceTransportPort": 80,
767
+ "destinationTransportPort": 64026,
768
+ "ipClassOfService": 0,
769
+ "protocolIdentifier": 6
770
+ },
771
+ "@version": "1"
772
+ }
773
+ END
774
+ events.map{|event| event.gsub(/\s+/, "")}
775
+ end
776
+
777
+ it "should decode raw data" do
778
+ expect(decode.size).to eq(26)
779
+ expect(decode[25].get("[netflow][sourceIPv4Address]")).to eq("192.168.0.1")
780
+ expect(decode[25].get("[netflow][destinationIPv4Address]")).to eq("192.168.0.17")
781
+ expect(decode[25].get("[netflow][octetDeltaCount]")).to eq(6425)
782
+ expect(decode[25].get("[netflow][destinationTransportPort]")).to eq(64026)
783
+ end
784
+
785
+ it "should serialize to json" do
786
+ expect(JSON.parse(decode[25].to_json)).to eq(JSON.parse(json_events[0]))
787
+ end
788
+
789
+ end
790
+
791
+ context "Netflow5 microtik" do
792
+ let(:data) do
793
+ packets = []
794
+ packets << IO.read(File.join(File.dirname(__FILE__), "netflow5_test_microtik.dat"), :mode => "rb")
795
+ end
796
+
797
+ let(:json_events) do
798
+ events = []
799
+ events << <<-END
800
+ {
801
+ "@timestamp": "2016-07-21T13:51:57.514Z",
802
+ "netflow": {
803
+ "version": 5,
804
+ "flow_seq_num": 8140050,
805
+ "engine_type": 0,
806
+ "engine_id": 0,
807
+ "sampling_algorithm": 0,
808
+ "sampling_interval": 0,
809
+ "flow_records": 30,
810
+ "ipv4_src_addr": "10.0.8.1",
811
+ "ipv4_dst_addr": "192.168.0.1",
812
+ "ipv4_next_hop": "192.168.0.1",
813
+ "input_snmp": 13,
814
+ "output_snmp": 46,
815
+ "in_pkts": 13,
816
+ "in_bytes": 11442,
817
+ "first_switched": "2016-07-21T13:51:42.514Z",
818
+ "last_switched": "2016-07-21T13:51:42.514Z",
819
+ "l4_src_port": 80,
820
+ "l4_dst_port": 51826,
821
+ "tcp_flags": 82,
822
+ "protocol": 6,
823
+ "src_tos": 40,
824
+ "src_as": 0,
825
+ "dst_as": 0,
826
+ "src_mask": 0,
827
+ "dst_mask": 0
828
+ },
829
+ "@version": "1"
830
+ }
831
+ END
832
+ events.map{|event| event.gsub(/\s+/, "")}
833
+ end
834
+
835
+ it "should decode raw data" do
836
+ expect(decode.size).to eq(30)
837
+ expect(decode[29].get("[netflow][ipv4_src_addr]")).to eq("10.0.8.1")
838
+ expect(decode[29].get("[netflow][ipv4_dst_addr]")).to eq("192.168.0.1")
839
+ expect(decode[29].get("[netflow][l4_dst_port]")).to eq(51826)
840
+ expect(decode[29].get("[netflow][src_tos]")).to eq(40)
841
+ end
842
+
843
+ it "should serialize to json" do
844
+ expect(JSON.parse(decode[29].to_json)).to eq(JSON.parse(json_events[0]))
845
+ end
846
+
682
847
  end
683
848
 
849
+ context "Netflow5 Juniper MX80" do
850
+ let(:data) do
851
+ packets = []
852
+ packets << IO.read(File.join(File.dirname(__FILE__), "netflow5_test_juniper_mx80.dat"), :mode => "rb")
853
+ end
854
+
855
+ let(:json_events) do
856
+ events = []
857
+ events << <<-END
858
+ {
859
+ "@timestamp": "2016-07-21T13:52:52.000Z",
860
+ "netflow": {
861
+ "version": 5,
862
+ "flow_seq_num": 528678,
863
+ "engine_type": 0,
864
+ "engine_id": 0,
865
+ "sampling_algorithm": 0,
866
+ "sampling_interval": 1000,
867
+ "flow_records": 29,
868
+ "ipv4_src_addr": "66.249.92.75",
869
+ "ipv4_dst_addr": "192.168.0.1",
870
+ "ipv4_next_hop": "192.168.0.1",
871
+ "input_snmp": 542,
872
+ "output_snmp": 536,
873
+ "in_pkts": 2,
874
+ "in_bytes": 104,
875
+ "first_switched": "2016-07-21T13:52:34.999Z",
876
+ "last_switched": "2016-07-21T13:52:34.999Z",
877
+ "l4_src_port": 37387,
878
+ "l4_dst_port": 80,
879
+ "tcp_flags": 16,
880
+ "protocol": 6,
881
+ "src_tos": 0,
882
+ "src_as": 15169,
883
+ "dst_as": 64496,
884
+ "src_mask": 19,
885
+ "dst_mask": 24
886
+ },
887
+ "@version": "1"
888
+ }
889
+ END
890
+ events.map{|event| event.gsub(/\s+/, "")}
891
+ end
892
+
893
+ it "should decode raw data" do
894
+ expect(decode.size).to eq(29)
895
+ expect(decode[28].get("[netflow][ipv4_src_addr]")).to eq("66.249.92.75")
896
+ expect(decode[28].get("[netflow][ipv4_dst_addr]")).to eq("192.168.0.1")
897
+ expect(decode[28].get("[netflow][l4_dst_port]")).to eq(80)
898
+ expect(decode[28].get("[netflow][src_as]")).to eq(15169)
899
+ expect(decode[28].get("[netflow][dst_as]")).to eq(64496)
900
+ end
901
+
902
+ it "should serialize to json" do
903
+ expect(JSON.parse(decode[28].to_json)).to eq(JSON.parse(json_events[0]))
904
+ end
905
+
906
+ end
907
+
908
+ context "Netflow 9 Ubiquiti Edgerouter with MPLS labels" do
909
+ let(:data) do
910
+ packets = []
911
+ packets << IO.read(File.join(File.dirname(__FILE__), "netflow9_test_ubnt_edgerouter_tpl.dat"), :mode => "rb")
912
+ packets << IO.read(File.join(File.dirname(__FILE__), "netflow9_test_ubnt_edgerouter_data1024.dat"), :mode => "rb")
913
+ packets << IO.read(File.join(File.dirname(__FILE__), "netflow9_test_ubnt_edgerouter_data1025.dat"), :mode => "rb")
914
+ end
915
+
916
+ let(:json_events) do
917
+ events = []
918
+ events << <<-END
919
+ {
920
+ "@timestamp": "2016-09-10T16:24:08.000Z",
921
+ "netflow": {
922
+ "output_snmp": 4,
923
+ "out_src_mac": "06:be:ef:be:ef:b9",
924
+ "in_pkts": 21,
925
+ "ip_protocol_version": 4,
926
+ "ipv4_dst_addr": "10.2.0.95",
927
+ "src_tos": 0,
928
+ "first_switched": "2016-09-10T15:02:54.999Z",
929
+ "flowset_id": 1025,
930
+ "l4_src_port": 47690,
931
+ "out_dst_mac": "44:d9:e7:be:ef:8e",
932
+ "version": 9,
933
+ "flow_seq_num": 31664,
934
+ "ipv4_src_addr": "192.168.1.102",
935
+ "in_bytes": 3668,
936
+ "protocol": 6,
937
+ "mpls_label_stack_octets": {
938
+ "bottom_of_stack": 0,
939
+ "experimental": 0,
940
+ "label": 0,
941
+ "ttl": 4
942
+ },
943
+ "last_switched": "2016-09-10T15:23:45.999Z",
944
+ "input_snmp": 2,
945
+ "flows": 0,
946
+ "tcp_flags": 27,
947
+ "dst_vlan": 0,
948
+ "l4_dst_port": 443,
949
+ "direction": 1
950
+ },
951
+ "@version": "1"
952
+ }
953
+ END
954
+ events.map{|event| event.gsub(/\s+/, "")}
955
+ end
956
+
957
+ it "should decode raw data" do
958
+ expect(decode.size).to eq(16)
959
+ expect(decode[0].get("[netflow][ipv4_src_addr]")).to eq("10.1.0.135")
960
+ expect(decode[15].get("[netflow][ipv4_src_addr]")).to eq("192.168.1.102")
961
+ end
962
+
963
+ it "should serialize to json" do
964
+ expect(JSON.parse(decode[15].to_json)).to eq(JSON.parse(json_events[0]))
965
+ end
966
+
967
+ end
968
+
969
+
684
970
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-codec-netflow
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.2
4
+ version: 3.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elastic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-14 00:00:00.000000000 Z
11
+ date: 2016-12-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -77,18 +77,28 @@ files:
77
77
  - lib/logstash/codecs/netflow/util.rb
78
78
  - logstash-codec-netflow.gemspec
79
79
  - spec/codecs/ipfix.dat
80
+ - spec/codecs/ipfix_test_openbsd_pflow_data.dat
81
+ - spec/codecs/ipfix_test_openbsd_pflow_tpl.dat
80
82
  - spec/codecs/netflow5.dat
81
83
  - spec/codecs/netflow5_test_invalid01.dat
82
84
  - spec/codecs/netflow5_test_invalid02.dat
85
+ - spec/codecs/netflow5_test_juniper_mx80.dat
86
+ - spec/codecs/netflow5_test_microtik.dat
87
+ - spec/codecs/netflow9_test_cisco_asa_1_data.dat
88
+ - spec/codecs/netflow9_test_cisco_asa_1_tpl.dat
89
+ - spec/codecs/netflow9_test_cisco_asa_2_data.dat
90
+ - spec/codecs/netflow9_test_cisco_asa_2_tpl_26x.dat
91
+ - spec/codecs/netflow9_test_cisco_asa_2_tpl_27x.dat
83
92
  - spec/codecs/netflow9_test_invalid01.dat
84
93
  - spec/codecs/netflow9_test_macaddr_data.dat
85
94
  - spec/codecs/netflow9_test_macaddr_tpl.dat
86
95
  - spec/codecs/netflow9_test_nprobe_data.dat
87
96
  - spec/codecs/netflow9_test_nprobe_tpl.dat
88
97
  - spec/codecs/netflow9_test_softflowd_tpl_data.dat
98
+ - spec/codecs/netflow9_test_ubnt_edgerouter_data1024.dat
99
+ - spec/codecs/netflow9_test_ubnt_edgerouter_data1025.dat
100
+ - spec/codecs/netflow9_test_ubnt_edgerouter_tpl.dat
89
101
  - spec/codecs/netflow9_test_valid01.dat
90
- - spec/codecs/netflow9_test_valid_cisco_asa_data.dat
91
- - spec/codecs/netflow9_test_valid_cisco_asa_tpl.dat
92
102
  - spec/codecs/netflow_spec.rb
93
103
  homepage: http://www.elastic.co/guide/en/logstash/current/index.html
94
104
  licenses:
@@ -112,22 +122,32 @@ required_rubygems_version: !ruby/object:Gem::Requirement
112
122
  version: '0'
113
123
  requirements: []
114
124
  rubyforge_project:
115
- rubygems_version: 2.6.3
125
+ rubygems_version: 2.4.8
116
126
  signing_key:
117
127
  specification_version: 4
118
128
  summary: The netflow codec is for decoding Netflow v5/v9/v10 (IPFIX) flows.
119
129
  test_files:
120
130
  - spec/codecs/ipfix.dat
131
+ - spec/codecs/ipfix_test_openbsd_pflow_data.dat
132
+ - spec/codecs/ipfix_test_openbsd_pflow_tpl.dat
121
133
  - spec/codecs/netflow5.dat
122
134
  - spec/codecs/netflow5_test_invalid01.dat
123
135
  - spec/codecs/netflow5_test_invalid02.dat
136
+ - spec/codecs/netflow5_test_juniper_mx80.dat
137
+ - spec/codecs/netflow5_test_microtik.dat
138
+ - spec/codecs/netflow9_test_cisco_asa_1_data.dat
139
+ - spec/codecs/netflow9_test_cisco_asa_1_tpl.dat
140
+ - spec/codecs/netflow9_test_cisco_asa_2_data.dat
141
+ - spec/codecs/netflow9_test_cisco_asa_2_tpl_26x.dat
142
+ - spec/codecs/netflow9_test_cisco_asa_2_tpl_27x.dat
124
143
  - spec/codecs/netflow9_test_invalid01.dat
125
144
  - spec/codecs/netflow9_test_macaddr_data.dat
126
145
  - spec/codecs/netflow9_test_macaddr_tpl.dat
127
146
  - spec/codecs/netflow9_test_nprobe_data.dat
128
147
  - spec/codecs/netflow9_test_nprobe_tpl.dat
129
148
  - spec/codecs/netflow9_test_softflowd_tpl_data.dat
149
+ - spec/codecs/netflow9_test_ubnt_edgerouter_data1024.dat
150
+ - spec/codecs/netflow9_test_ubnt_edgerouter_data1025.dat
151
+ - spec/codecs/netflow9_test_ubnt_edgerouter_tpl.dat
130
152
  - spec/codecs/netflow9_test_valid01.dat
131
- - spec/codecs/netflow9_test_valid_cisco_asa_data.dat
132
- - spec/codecs/netflow9_test_valid_cisco_asa_tpl.dat
133
153
  - spec/codecs/netflow_spec.rb