logstash-codec-netflow 3.1.2 → 3.1.4

Sign up to get free protection for your applications and to get access to all the features.
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