1
+ package org .graylog2 .syslog4j .server .impl .event ;
2
+
3
+ import org .junit .Test ;
4
+
5
+ import java .net .InetAddress ;
6
+ import java .net .InetSocketAddress ;
7
+ import java .time .ZoneId ;
8
+ import java .time .ZonedDateTime ;
9
+ import java .util .Date ;
10
+
11
+ import static java .time .ZoneOffset .UTC ;
12
+ import static org .assertj .core .api .Assertions .assertThat ;
13
+ import static org .junit .Assert .assertEquals ;
14
+
15
+
16
+ public class CiscoSyslogServerEventTest {
17
+ private static final InetAddress INET_ADDR = new InetSocketAddress (514 ).getAddress ();
18
+ private static final ZoneId CET = ZoneId .of ("CET" );
19
+ private static final int YEAR = ZonedDateTime .now ().getYear ();
20
+
21
+ private CiscoSyslogServerEvent buildEvent (String message ) {
22
+ return new CiscoSyslogServerEvent (message , INET_ADDR );
23
+ }
24
+
25
+ @ Test
26
+ public void testCisco1 () throws Exception {
27
+ final String message = "<166>Mar 06 2016 12:53:10 DEVICENAME : %ASA-6-302013: Built inbound TCP connection 723494125 for FRONTEND:IP/11288 (IP/11288) to BACKEND:IP/27180 (IP/27180)" ;
28
+
29
+ final CiscoSyslogServerEvent event = buildEvent (message );
30
+
31
+ assertThat (toZonedDateTime (event .getDate (), UTC )).isEqualTo (ZonedDateTime .of (2016 , 3 , 6 , 12 , 53 , 10 , 0 , UTC ));
32
+ assertThat (event .getFacility ()).isEqualTo (20 );
33
+ assertThat (event .getLevel ()).isEqualTo (6 );
34
+ assertThat (event .getSequenceNumber ()).isEqualTo (0 );
35
+ assertThat (event .getHost ()).isEqualTo ("DEVICENAME" );
36
+ assertThat (event .getMessage ()).isEqualTo ("%ASA-6-302013: Built inbound TCP connection 723494125 for FRONTEND:IP/11288 (IP/11288) to BACKEND:IP/27180 (IP/27180)" );
37
+ }
38
+
39
+ @ Test
40
+ public void testCisco2 () throws Exception {
41
+ final String message = "<186>1541800: Feb 27 06:08:59.485: %HARDWARE-2-FAN_ERROR: Fan Failure" ;
42
+
43
+ final CiscoSyslogServerEvent event = buildEvent (message );
44
+
45
+ assertThat (toZonedDateTime (event .getDate (), UTC )).isEqualTo (ZonedDateTime .of (YEAR , 2 , 27 , 6 , 8 , 59 , 485_000_000 , UTC ));
46
+ assertThat (event .getFacility ()).isEqualTo (23 );
47
+ assertThat (event .getLevel ()).isEqualTo (2 );
48
+ assertThat (event .getSequenceNumber ()).isEqualTo (1541800 );
49
+ assertThat (event .getHost ()).isEmpty ();
50
+ assertThat (event .getMessage ()).isEqualTo ("%HARDWARE-2-FAN_ERROR: Fan Failure" );
51
+ }
52
+
53
+ @ Test
54
+ public void testCisco3 () throws Exception {
55
+ final String message = "<187>148094: Feb 27 06:07:29.716: %LINK-3-UPDOWN: Interface GigabitEthernet1/0/15, changed state to down" ;
56
+
57
+ final CiscoSyslogServerEvent event = buildEvent (message );
58
+
59
+ assertThat (toZonedDateTime (event .getDate (), UTC )).isEqualTo (ZonedDateTime .of (YEAR , 2 , 27 , 6 , 7 , 29 , 716_000_000 , UTC ));
60
+ assertThat (event .getFacility ()).isEqualTo (23 );
61
+ assertThat (event .getLevel ()).isEqualTo (3 );
62
+ assertThat (event .getSequenceNumber ()).isEqualTo (148094 );
63
+ assertThat (event .getHost ()).isEmpty ();
64
+ assertEquals ("%LINK-3-UPDOWN: Interface GigabitEthernet1/0/15, changed state to down" , event .getMessage ());
65
+ }
66
+
67
+ @ Test
68
+ public void testCisco4 () throws Exception {
69
+ final String message = "<190>530470: *Sep 28 17:13:35.098: %SEC-6-IPACCESSLOGP: list MGMT_IN denied udp IP(49964) -> IP(161), 11 packets" ;
70
+
71
+ final CiscoSyslogServerEvent event = buildEvent (message );
72
+
73
+ assertThat (toZonedDateTime (event .getDate (), UTC )).isEqualTo (ZonedDateTime .of (YEAR , 9 , 28 , 17 , 13 , 35 , 98_000_000 , UTC ));
74
+ assertThat (event .getFacility ()).isEqualTo (23 );
75
+ assertThat (event .getLevel ()).isEqualTo (6 );
76
+ assertThat (event .getSequenceNumber ()).isEqualTo (530470 );
77
+ assertThat (event .getHost ()).isEmpty ();
78
+ assertEquals ("%SEC-6-IPACCESSLOGP: list MGMT_IN denied udp IP(49964) -> IP(161), 11 packets" , event .getMessage ());
79
+ }
80
+
81
+ @ Test
82
+ public void testCisco5 () throws Exception {
83
+ final String message = "<190>: 2016 Mar 06 09:22:34 CET: %AUTHPRIV-6-SYSTEM_MSG: START: rsync pid=4311 from=::ffff:IP - xinetd[6219]" ;
84
+
85
+ final CiscoSyslogServerEvent event = buildEvent (message );
86
+
87
+ assertThat (toZonedDateTime (event .getDate (), CET )).isEqualTo (ZonedDateTime .of (2016 , 3 , 6 , 9 , 22 , 34 , 0 , CET ));
88
+ assertThat (event .getFacility ()).isEqualTo (23 );
89
+ assertThat (event .getLevel ()).isEqualTo (6 );
90
+ assertThat (event .getSequenceNumber ()).isEqualTo (0 );
91
+ assertThat (event .getHost ()).isEmpty ();
92
+ assertThat (event .getMessage ()).isEqualTo ("%AUTHPRIV-6-SYSTEM_MSG: START: rsync pid=4311 from=::ffff:IP - xinetd[6219]" );
93
+ }
94
+
95
+ @ Test
96
+ public void testCisco6 () throws Exception {
97
+ final String message = "<134>: 2016 Mar 6 12:53:10 UTC: %POLICY_ENGINE-6-POLICY_LOOKUP_EVENT: policy=POLICYNAME rule=RULENAME action=Permit direction=egress src.net.ip-address=IP src.net.port=38321 dst.net.ip-address=IP dst.net.port=5666 net.protocol=6 net.ethertype=800 net.service=\" protocol 6 port 5666\" " ;
98
+
99
+ final CiscoSyslogServerEvent event = buildEvent (message );
100
+
101
+ assertThat (toZonedDateTime (event .getDate (), UTC )).isEqualTo (ZonedDateTime .of (2016 , 3 , 6 , 12 , 53 , 10 , 0 , UTC ));
102
+ assertThat (event .getFacility ()).isEqualTo (16 );
103
+ assertThat (event .getLevel ()).isEqualTo (6 );
104
+ assertThat (event .getSequenceNumber ()).isEqualTo (0 );
105
+ assertThat (event .getHost ()).isEmpty ();
106
+ assertThat (event .getMessage ()).isEqualTo ("%POLICY_ENGINE-6-POLICY_LOOKUP_EVENT: policy=POLICYNAME rule=RULENAME action=Permit direction=egress src.net.ip-address=IP src.net.port=38321 dst.net.ip-address=IP dst.net.port=5666 net.protocol=6 net.ethertype=800 net.service=\" protocol 6 port 5666\" " );
107
+ }
108
+
109
+ @ Test
110
+ public void testCisco7 () throws Exception {
111
+ final String message = "<166>%ASA-6-302015: Built inbound UDP connection 23631055 for inside:192.168.19.91/44764 (192.168.19.91/44764) to identity:192.168.249.33/161 (192.168.249.33/161)" ;
112
+
113
+ final CiscoSyslogServerEvent event = buildEvent (message );
114
+
115
+ assertThat (event .getDate ())
116
+ .isInThePast ()
117
+ .isInSameMinuteWindowAs (new Date ());
118
+ assertThat (event .getFacility ()).isEqualTo (20 );
119
+ assertThat (event .getLevel ()).isEqualTo (6 );
120
+ assertThat (event .getSequenceNumber ()).isEqualTo (0 );
121
+ assertThat (event .getHost ()).isEmpty ();
122
+ assertThat (event .getMessage ()).isEqualTo ("%ASA-6-302015: Built inbound UDP connection 23631055 for inside:192.168.19.91/44764 (192.168.19.91/44764) to identity:192.168.249.33/161 (192.168.249.33/161)" );
123
+ }
124
+
125
+ private ZonedDateTime toZonedDateTime (Date date , ZoneId zoneId ) {
126
+ return ZonedDateTime .ofInstant (date .toInstant (), zoneId );
127
+ }
128
+ }
0 commit comments