From ceccfb2c815f57f1b6fd81f891d8b495de23f9f5 Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Mon, 4 Jan 2021 17:05:26 -0800 Subject: [PATCH 01/25] add test output for iw-scan and date on ubuntu 20.04 --- tests/fixtures/centos-7.7/iw-scan0.out | 36 + tests/fixtures/centos-7.7/iw-scan1.out | 1999 ++++++++++++++++++++++++ tests/fixtures/ubuntu-20.04/date.out | 1 + 3 files changed, 2036 insertions(+) create mode 100644 tests/fixtures/centos-7.7/iw-scan0.out create mode 100644 tests/fixtures/centos-7.7/iw-scan1.out create mode 100644 tests/fixtures/ubuntu-20.04/date.out diff --git a/tests/fixtures/centos-7.7/iw-scan0.out b/tests/fixtures/centos-7.7/iw-scan0.out new file mode 100644 index 000000000..b0e885304 --- /dev/null +++ b/tests/fixtures/centos-7.7/iw-scan0.out @@ -0,0 +1,36 @@ +BSS 00:19:a9:cd:c6:80 (on wlan0) + TSF: 2984923701 usec (0d, 00:49:44) + freq: 2412 + beacon interval: 100 + capability: ESS ShortPreamble ShortSlotTime (0x0421) + signal: -45.00 dBm + last seen: 429 ms ago + SSID: Cisco1240 + Supported rates: 1.0* 2.0* 5.5* 6.0 9.0 11.0* 12.0 18.0 + DS Parameter set: channel 1 + ERP: + Extended supported rates: 24.0 36.0 48.0 54.0 + WMM: * Parameter version 1 + * u-APSD + * BE: CW 15-1023, AIFSN 3 + * BK: CW 15-1023, AIFSN 7 + * VI: CW 7-15, AIFSN 2, TXOP 3008 usec + * VO: CW 3-7, AIFSN 2, TXOP 1504 usec +BSS d0:d0:fd:69:ca:70 (on wlan0) + TSF: 2968648942 usec (0d, 00:49:28) + freq: 2462 + beacon interval: 102 + capability: ESS ShortPreamble ShortSlotTime (0x0421) + signal: -70.00 dBm + last seen: 328 ms ago + SSID: Cisco1250 + Supported rates: 1.0* 2.0* 5.5* 6.0 9.0 11.0* 12.0 18.0 + DS Parameter set: channel 11 + ERP: + Extended supported rates: 24.0 36.0 48.0 54.0 + WMM: * Parameter version 1 + * u-APSD + * BE: CW 15-1023, AIFSN 3 + * BK: CW 15-1023, AIFSN 7 + * VI: CW 7-15, AIFSN 2, TXOP 3008 usec + * VO: acm CW 3-7, AIFSN 2, TXOP 1504 usec \ No newline at end of file diff --git a/tests/fixtures/centos-7.7/iw-scan1.out b/tests/fixtures/centos-7.7/iw-scan1.out new file mode 100644 index 000000000..423ebf21d --- /dev/null +++ b/tests/fixtures/centos-7.7/iw-scan1.out @@ -0,0 +1,1999 @@ +BSS ac:22:05:db:4d:5b(on wlan0) + TSF: 212106552475 usec (2d, 10:55:06) + freq: 2412 + beacon interval: 100 TUs + capability: ESS Privacy ShortSlotTime RadioMeasure (0x1411) + signal: -57.00 dBm + last seen: 3520 ms ago + Information elements from Probe Response frame: + SSID: Hoeheitsgebiet + Supported rates: 1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 + DS Parameter set: channel 1 + ERP: Barker_Preamble_Mode + Extended supported rates: 6.0 12.0 24.0 48.0 + Country: EU Environment: Indoor/Outdoor + Channels [1 - 13] @ 20 dBm + HT capabilities: + Capabilities: 0x1ac + HT20 + SM Power Save disabled + RX HT20 SGI + TX STBC + RX STBC 1-stream + Max AMSDU length: 3839 bytes + No DSSS/CCK HT40 + Maximum RX AMPDU length 65535 bytes (exponent: 0x003) + Minimum RX AMPDU time spacing: 4 usec (0x05) + HT RX MCS rate indexes supported: 0-15 + HT TX MCS rate indexes are undefined + HT operation: + * primary channel: 1 + * secondary channel offset: no secondary + * STA channel width: 20 MHz + * RIFS: 0 + * HT protection: no + * non-GF present: 1 + * OBSS non-GF present: 0 + * dual beacon: 0 + * dual CTS protection: 0 + * STBC beacon: 0 + * L-SIG TXOP Prot: 0 + * PCO active: 0 + * PCO phase: 0 + WPA: * Version: 1 + * Group cipher: TKIP + * Pairwise ciphers: TKIP CCMP + * Authentication suites: PSK + RSN: * Version: 1 + * Group cipher: TKIP + * Pairwise ciphers: TKIP CCMP + * Authentication suites: PSK + * Capabilities: 1-PTKSA-RC 1-GTKSA-RC (0x0000) + Extended capabilities: HT Information Exchange Supported, BSS Transition + BSS Load: + * station count: 1 + * channel utilisation: 103/255 + * available admission capacity: 31250 [*32us] + WMM: * Parameter version 1 + * BE: CW 15-1023, AIFSN 3 + * BK: CW 15-1023, AIFSN 7 + * VI: CW 7-15, AIFSN 2, TXOP 3008 usec + * VO: CW 3-7, AIFSN 2, TXOP 1504 usec + Country: EU Environment: Indoor/Outdoor + Channels [1 - 13] @ 16 dBm + WPS: * Version: 1.0 + * Wi-Fi Protected Setup State: 2 (Configured) + * Response Type: 3 (AP) + * UUID: 327fd200-1dd2-11b2-8601-8e4aa01a9d4a + * Manufacturer: Ralink Technology, Corp. + * Model: Ralink Wireless Access Point + * Model Number: RT2860 + * Serial Number: 12345678 + * Primary Device Type: 6-0050f204-1 + * Device name: RalinkAPS + * Config methods: + * RF Bands: 0x1 + * Unknown TLV (0x1049, 6 bytes): 00 37 2a 00 01 20 +BSS 1c:b0:44:75:42:a5(on wlan0) + TSF: 212108020750 usec (2d, 10:55:08) + freq: 2457 + beacon interval: 100 TUs + capability: ESS Privacy ShortPreamble ShortSlotTime (0x0431) + signal: -70.00 dBm + last seen: 2050 ms ago + Information elements from Probe Response frame: + SSID: o2-WLAN38 + Supported rates: 9.0 18.0 36.0 54.0 1.0* 2.0 5.5 11.0 + DS Parameter set: channel 10 + Country: DE Environment: Indoor/Outdoor + Channels [1 - 13] @ 20 dBm + Power constraint: 0 dB + ERP: + HT capabilities: + Capabilities: 0x2c + HT20 + SM Power Save disabled + RX HT20 SGI + No RX STBC + Max AMSDU length: 3839 bytes + No DSSS/CCK HT40 + Maximum RX AMPDU length 32767 bytes (exponent: 0x002) + Minimum RX AMPDU time spacing: 16 usec (0x07) + HT RX MCS rate indexes supported: 0-15 + HT TX MCS rate indexes are undefined + RSN: * Version: 1 + * Group cipher: CCMP + * Pairwise ciphers: CCMP + * Authentication suites: PSK + * Capabilities: 1-PTKSA-RC 1-GTKSA-RC MFP-capable (0x0080) + * 0 PMKIDs + * Group mgmt cipher suite: AES-128-CMAC + Extended supported rates: 6.0 12.0 24.0 48.0 + HT operation: + * primary channel: 10 + * secondary channel offset: no secondary + * STA channel width: 20 MHz + * RIFS: 0 + * HT protection: no + * non-GF present: 1 + * OBSS non-GF present: 0 + * dual beacon: 0 + * dual CTS protection: 0 + * STBC beacon: 0 + * L-SIG TXOP Prot: 0 + * PCO active: 0 + * PCO phase: 0 + Overlapping BSS scan params: + * passive dwell: 20 TUs + * active dwell: 10 TUs + * channel width trigger scan interval: 300 s + * scan passive total per channel: 200 TUs + * scan active total per channel: 20 TUs + * BSS width channel transition delay factor: 5 + * OBSS Scan Activity Threshold: 100.00 % + Extended capabilities: HT Information Exchange Supported + WMM: * Parameter version 1 + * u-APSD + * BE: CW 15-1023, AIFSN 3 + * BK: CW 15-1023, AIFSN 7 + * VI: CW 7-15, AIFSN 2, TXOP 3008 usec + * VO: CW 3-7, AIFSN 2, TXOP 1504 usec + WPS: * Version: 1.0 + * Wi-Fi Protected Setup State: 2 (Configured) + * Response Type: 3 (AP) + * UUID: b0493afc-202d-11b2-8a5b-1cb0447542a5 + * Manufacturer: Askey + * Model: o2 HomeBox + * Model Number: 6741 + * Serial Number: A804016507-009096 + * Primary Device Type: 6-0050f204-1 + * Device name: o2 HomeBox 6741 + * Config methods: Keypad + * Unknown TLV (0x1049, 6 bytes): 00 37 2a 00 01 20 +BSS 34:2c:c4:34:3b:95(on wlan0) + TSF: 212096913717 usec (2d, 10:54:56) + freq: 2412 + beacon interval: 100 TUs + capability: ESS Privacy ShortSlotTime RadioMeasure (0x1411) + signal: -77.00 dBm + last seen: 13160 ms ago + Information elements from Probe Response frame: + SSID: Medusa_13 + Supported rates: 1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 + DS Parameter set: channel 1 + ERP: Barker_Preamble_Mode + Extended supported rates: 6.0 12.0 24.0 48.0 + Country: EU Environment: Indoor/Outdoor + Channels [1 - 13] @ 20 dBm + HT capabilities: + Capabilities: 0x1ac + HT20 + SM Power Save disabled + RX HT20 SGI + TX STBC + RX STBC 1-stream + Max AMSDU length: 3839 bytes + No DSSS/CCK HT40 + Maximum RX AMPDU length 65535 bytes (exponent: 0x003) + Minimum RX AMPDU time spacing: 4 usec (0x05) + HT RX MCS rate indexes supported: 0-15 + HT TX MCS rate indexes are undefined + HT operation: + * primary channel: 1 + * secondary channel offset: no secondary + * STA channel width: 20 MHz + * RIFS: 0 + * HT protection: no + * non-GF present: 0 + * OBSS non-GF present: 0 + * dual beacon: 0 + * dual CTS protection: 0 + * STBC beacon: 0 + * L-SIG TXOP Prot: 0 + * PCO active: 0 + * PCO phase: 0 + WPA: * Version: 1 + * Group cipher: TKIP + * Pairwise ciphers: TKIP CCMP + * Authentication suites: PSK + RSN: * Version: 1 + * Group cipher: TKIP + * Pairwise ciphers: TKIP CCMP + * Authentication suites: PSK + * Capabilities: 1-PTKSA-RC 1-GTKSA-RC (0x0000) + Extended capabilities: HT Information Exchange Supported, BSS Transition + BSS Load: + * station count: 0 + * channel utilisation: 90/255 + * available admission capacity: 31250 [*32us] + WMM: * Parameter version 1 + * BE: CW 15-1023, AIFSN 3 + * BK: CW 15-1023, AIFSN 7 + * VI: CW 7-15, AIFSN 2, TXOP 3008 usec + * VO: CW 3-7, AIFSN 2, TXOP 1504 usec + Country: EU Environment: Indoor/Outdoor + Channels [1 - 13] @ 16 dBm + WPS: * Version: 1.0 + * Wi-Fi Protected Setup State: 2 (Configured) + * Response Type: 3 (AP) + * UUID: 314ea500-1dd2-11b2-8601-8e4aa01a9d4a + * Manufacturer: Ralink Technology, Corp. + * Model: Ralink Wireless Access Point + * Model Number: RT2860 + * Serial Number: 12345678 + * Primary Device Type: 6-0050f204-1 + * Device name: RalinkAPS + * Config methods: + * RF Bands: 0x1 + * Unknown TLV (0x1049, 6 bytes): 00 37 2a 00 01 20 +BSS ac:22:05:e6:ff:41(on wlan0) + TSF: 212108270373 usec (2d, 10:55:08) + freq: 2462 + beacon interval: 100 TUs + capability: ESS Privacy RadioMeasure (0x1011) + signal: -41.00 dBm + last seen: 1750 ms ago + Information elements from Probe Response frame: + SSID: UPCCDB29F5 + Supported rates: 1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 + DS Parameter set: channel 11 + ERP: Barker_Preamble_Mode + Extended supported rates: 6.0 12.0 24.0 48.0 + Country: EU Environment: Indoor/Outdoor + Channels [1 - 13] @ 20 dBm + HT capabilities: + Capabilities: 0x1ac + HT20 + SM Power Save disabled + RX HT20 SGI + TX STBC + RX STBC 1-stream + Max AMSDU length: 3839 bytes + No DSSS/CCK HT40 + Maximum RX AMPDU length 65535 bytes (exponent: 0x003) + Minimum RX AMPDU time spacing: 4 usec (0x05) + HT RX MCS rate indexes supported: 0-15 + HT TX MCS rate indexes are undefined + HT operation: + * primary channel: 11 + * secondary channel offset: no secondary + * STA channel width: 20 MHz + * RIFS: 0 + * HT protection: no + * non-GF present: 1 + * OBSS non-GF present: 0 + * dual beacon: 0 + * dual CTS protection: 0 + * STBC beacon: 0 + * L-SIG TXOP Prot: 0 + * PCO active: 0 + * PCO phase: 0 + WPA: * Version: 1 + * Group cipher: TKIP + * Pairwise ciphers: TKIP CCMP + * Authentication suites: PSK + RSN: * Version: 1 + * Group cipher: TKIP + * Pairwise ciphers: TKIP CCMP + * Authentication suites: PSK + * Capabilities: 1-PTKSA-RC 1-GTKSA-RC (0x0000) + Extended capabilities: HT Information Exchange Supported, BSS Transition + BSS Load: + * station count: 3 + * channel utilisation: 87/255 + * available admission capacity: 31250 [*32us] + WMM: * Parameter version 1 + * BE: CW 15-1023, AIFSN 3 + * BK: CW 15-1023, AIFSN 7 + * VI: CW 7-15, AIFSN 2, TXOP 3008 usec + * VO: CW 3-7, AIFSN 2, TXOP 1504 usec + Country: EU Environment: Indoor/Outdoor + Channels [1 - 13] @ 16 dBm + WPS: * Version: 1.0 + * Wi-Fi Protected Setup State: 2 (Configured) + * Response Type: 3 (AP) + * UUID: 314ea500-1dd2-11b2-8601-8e4aa01a9d4a + * Manufacturer: Ralink Technology, Corp. + * Model: Ralink Wireless Access Point + * Model Number: RT2860 + * Serial Number: 12345678 + * Primary Device Type: 6-0050f204-1 + * Device name: RalinkAPS + * Config methods: + * RF Bands: 0x1 + * Unknown TLV (0x1049, 6 bytes): 00 37 2a 00 01 20 +BSS ac:22:05:e6:ff:24(on wlan0) -- associated + TSF: 212107576616 usec (2d, 10:55:07) + freq: 5180 + beacon interval: 100 TUs + capability: ESS Privacy ShortPreamble SpectrumMgmt ShortSlotTime RadioMeasure (0x1531) + signal: -30.00 dBm + last seen: 130 ms ago + Information elements from Probe Response frame: + SSID: UPCCDB29F5 + Supported rates: 6.0* 9.0 12.0* 18.0 24.0* 36.0 48.0 54.0 + DS Parameter set: channel 36 + Power constraint: 3 dB + RSN: * Version: 1 + * Group cipher: TKIP + * Pairwise ciphers: CCMP + * Authentication suites: PSK + * Capabilities: 1-PTKSA-RC 1-GTKSA-RC (0x0000) + HT capabilities: + Capabilities: 0x6f + RX LDPC + HT20/HT40 + SM Power Save disabled + RX HT20 SGI + RX HT40 SGI + No RX STBC + Max AMSDU length: 3839 bytes + No DSSS/CCK HT40 + Maximum RX AMPDU length 65535 bytes (exponent: 0x003) + Minimum RX AMPDU time spacing: 4 usec (0x05) + HT RX MCS rate indexes supported: 0-23, 32 + HT TX MCS rate indexes are undefined + HT operation: + * primary channel: 36 + * secondary channel offset: above + * STA channel width: any + * RIFS: 0 + * HT protection: no + * non-GF present: 1 + * OBSS non-GF present: 0 + * dual beacon: 0 + * dual CTS protection: 0 + * STBC beacon: 0 + * L-SIG TXOP Prot: 0 + * PCO active: 0 + * PCO phase: 0 + Extended capabilities: 6 + VHT capabilities: + VHT Capabilities (0x33827930): + Max MPDU length: 3895 + Supported Channel Width: neither 160 nor 80+80 + RX LDPC + short GI (80 MHz) + SU Beamformer + SU Beamformee + RX antenna pattern consistency + TX antenna pattern consistency + VHT RX MCS set: + 1 streams: MCS 0-9 + 2 streams: MCS 0-9 + 3 streams: MCS 0-9 + 4 streams: not supported + 5 streams: not supported + 6 streams: not supported + 7 streams: not supported + 8 streams: not supported + VHT RX highest supported: 0 Mbps + VHT TX MCS set: + 1 streams: MCS 0-9 + 2 streams: MCS 0-9 + 3 streams: MCS 0-9 + 4 streams: not supported + 5 streams: not supported + 6 streams: not supported + 7 streams: not supported + 8 streams: not supported + VHT TX highest supported: 0 Mbps + VHT operation: + * channel width: 1 (80 MHz) + * center freq segment 1: 42 + * center freq segment 2: 0 + * VHT basic MCS set: 0xffc0 + BSS Load: + * station count: 3 + * channel utilisation: 35/255 + * available admission capacity: 30000 [*32us] + WPA: * Version: 1 + * Group cipher: TKIP + * Pairwise ciphers: TKIP + * Authentication suites: PSK + WMM: * Parameter version 1 + * u-APSD + * BE: CW 15-1023, AIFSN 3 + * BK: CW 15-1023, AIFSN 7 + * VI: CW 7-15, AIFSN 2, TXOP 3008 usec + * VO: CW 3-7, AIFSN 2, TXOP 1504 usec + WPS: * Version: 1.0 + * Wi-Fi Protected Setup State: 2 (Configured) + * Response Type: 3 (AP) + * UUID: 314ea500-1dd2-11b2-8601-8e4aa01a9d4a + * Manufacturer: Marvell + * Model: WAP + * Model Number: 123 + * Serial Number: 12345 + * Primary Device Type: 6-0050f204-1 + * Device name: 5G wireless AP + * Config methods: + * RF Bands: 0x2 + * Unknown TLV (0x1049, 6 bytes): 00 37 2a 00 01 20 +BSS a8:d3:f7:96:10:69(on wlan0) + TSF: 212107440363 usec (2d, 10:55:07) + freq: 2442 + beacon interval: 100 TUs + capability: ESS Privacy ShortPreamble ShortSlotTime (0x0431) + signal: -81.00 dBm + last seen: 2630 ms ago + Information elements from Probe Response frame: + SSID: o2-WLAN34 + Supported rates: 9.0 18.0 36.0 54.0 1.0* 2.0 5.5 11.0 + DS Parameter set: channel 7 + Country: DE Environment: Indoor/Outdoor + Channels [1 - 13] @ 20 dBm + Power constraint: 0 dB + ERP: + HT capabilities: + Capabilities: 0x2c + HT20 + SM Power Save disabled + RX HT20 SGI + No RX STBC + Max AMSDU length: 3839 bytes + No DSSS/CCK HT40 + Maximum RX AMPDU length 32767 bytes (exponent: 0x002) + Minimum RX AMPDU time spacing: 16 usec (0x07) + HT RX MCS rate indexes supported: 0-15 + HT TX MCS rate indexes are undefined + RSN: * Version: 1 + * Group cipher: CCMP + * Pairwise ciphers: CCMP + * Authentication suites: PSK + * Capabilities: 1-PTKSA-RC 1-GTKSA-RC (0x0000) + Extended supported rates: 6.0 12.0 24.0 48.0 + HT operation: + * primary channel: 7 + * secondary channel offset: no secondary + * STA channel width: 20 MHz + * RIFS: 0 + * HT protection: nonmember + * non-GF present: 1 + * OBSS non-GF present: 0 + * dual beacon: 0 + * dual CTS protection: 0 + * STBC beacon: 0 + * L-SIG TXOP Prot: 0 + * PCO active: 0 + * PCO phase: 0 + Overlapping BSS scan params: + * passive dwell: 20 TUs + * active dwell: 10 TUs + * channel width trigger scan interval: 300 s + * scan passive total per channel: 200 TUs + * scan active total per channel: 20 TUs + * BSS width channel transition delay factor: 5 + * OBSS Scan Activity Threshold: 100.00 % + Extended capabilities: HT Information Exchange Supported + WMM: * Parameter version 1 + * u-APSD + * BE: CW 15-1023, AIFSN 3 + * BK: CW 15-1023, AIFSN 7 + * VI: CW 7-15, AIFSN 2, TXOP 3008 usec + * VO: CW 3-7, AIFSN 2, TXOP 1504 usec + WPS: * Version: 1.0 + * Wi-Fi Protected Setup State: 2 (Configured) + * Response Type: 3 (AP) + * UUID: 4e9bd57c-8ebe-46d8-aa04-cdd3994f7288 + * Manufacturer: Arcadyan + * Model: o2 HomeBox 6441 + * Model Number: IAD 6441 + * Serial Number: D512146595 + * Primary Device Type: 6-0050f204-1 + * Device name: D512146595-A8D3F7 + * Config methods: + * RF Bands: 0x3 + * Unknown TLV (0x1049, 6 bytes): 00 37 2a 00 01 20 +BSS 54:fa:3e:87:1f:93(on wlan0) + TSF: 212108698335 usec (2d, 10:55:08) + freq: 2472 + beacon interval: 100 TUs + capability: ESS Privacy ShortSlotTime APSD (0x0c11) + signal: -72.00 dBm + last seen: 1310 ms ago + Information elements from Probe Response frame: + SSID: moin moin + Supported rates: 1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 + DS Parameter set: channel 13 + ERP: Barker_Preamble_Mode + Extended supported rates: 6.0 12.0 24.0 48.0 + HT capabilities: + Capabilities: 0x1ec + HT20 + SM Power Save disabled + RX HT20 SGI + RX HT40 SGI + TX STBC + RX STBC 1-stream + Max AMSDU length: 3839 bytes + No DSSS/CCK HT40 + Maximum RX AMPDU length 65535 bytes (exponent: 0x003) + Minimum RX AMPDU time spacing: No restriction (0x00) + HT RX MCS rate indexes supported: 0-15 + HT TX MCS rate indexes are undefined + HT operation: + * primary channel: 13 + * secondary channel offset: no secondary + * STA channel width: 20 MHz + * RIFS: 0 + * HT protection: no + * non-GF present: 1 + * OBSS non-GF present: 0 + * dual beacon: 0 + * dual CTS protection: 0 + * STBC beacon: 0 + * L-SIG TXOP Prot: 0 + * PCO active: 0 + * PCO phase: 0 + WPA: * Version: 1 + * Group cipher: TKIP + * Pairwise ciphers: TKIP CCMP + * Authentication suites: PSK + RSN: * Version: 1 + * Group cipher: TKIP + * Pairwise ciphers: TKIP CCMP + * Authentication suites: PSK + * Capabilities: 1-PTKSA-RC 1-GTKSA-RC (0x0000) + WMM: * Parameter version 1 + * u-APSD + * BE: CW 15-1023, AIFSN 3 + * BK: CW 15-1023, AIFSN 7 + * VI: CW 7-15, AIFSN 2, TXOP 3008 usec + * VO: CW 3-7, AIFSN 2, TXOP 1504 usec + BSS Load: + * station count: 1 + * channel utilisation: 26/255 + * available admission capacity: 31250 [*32us] + Extended capabilities: HT Information Exchange Supported + Country: DE Environment: Indoor/Outdoor + Channels [1 - 13] @ 16 dBm + WPS: * Version: 1.0 + * Wi-Fi Protected Setup State: 2 (Configured) + * Response Type: 3 (AP) + * UUID: bc329e00-1dd8-11b2-8601-54fa3e871f93 + * Manufacturer: Celeno Communication, Inc. + * Model: Celeno Wireless AP 2.4G + * Model Number: CL1800 + * Serial Number: 12345678 + * Primary Device Type: 6-0050f204-1 + * Device name: CelenoAP2.4G + * Config methods: Display, PBC, Keypad + * RF Bands: 0x1 + * Unknown TLV (0x1049, 6 bytes): 00 37 2a 00 01 20 +BSS ae:22:15:db:4d:5b(on wlan0) + TSF: 212106562854 usec (2d, 10:55:06) + freq: 2412 + beacon interval: 100 TUs + capability: ESS ShortSlotTime RadioMeasure (0x1401) + signal: -57.00 dBm + last seen: 3510 ms ago + Information elements from Probe Response frame: + SSID: Vodafone Hotspot + Supported rates: 1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 + DS Parameter set: channel 1 + ERP: Barker_Preamble_Mode + Extended supported rates: 6.0 12.0 24.0 48.0 + Country: EU Environment: Indoor/Outdoor + Channels [1 - 13] @ 20 dBm + HT capabilities: + Capabilities: 0x1ac + HT20 + SM Power Save disabled + RX HT20 SGI + TX STBC + RX STBC 1-stream + Max AMSDU length: 3839 bytes + No DSSS/CCK HT40 + Maximum RX AMPDU length 65535 bytes (exponent: 0x003) + Minimum RX AMPDU time spacing: 4 usec (0x05) + HT RX MCS rate indexes supported: 0-15 + HT TX MCS rate indexes are undefined + HT operation: + * primary channel: 1 + * secondary channel offset: no secondary + * STA channel width: 20 MHz + * RIFS: 0 + * HT protection: no + * non-GF present: 1 + * OBSS non-GF present: 0 + * dual beacon: 0 + * dual CTS protection: 0 + * STBC beacon: 0 + * L-SIG TXOP Prot: 0 + * PCO active: 0 + * PCO phase: 0 + Extended capabilities: HT Information Exchange Supported, BSS Transition + BSS Load: + * station count: 1 + * channel utilisation: 103/255 + * available admission capacity: 31250 [*32us] + WMM: * Parameter version 1 + * BE: CW 15-1023, AIFSN 3 + * BK: CW 15-1023, AIFSN 7 + * VI: CW 7-15, AIFSN 2, TXOP 3008 usec + * VO: CW 3-7, AIFSN 2, TXOP 1504 usec + Country: EU Environment: Indoor/Outdoor + Channels [1 - 13] @ 16 dBm +BSS 90:5c:44:d1:34:2f(on wlan0) + TSF: 212107263738 usec (2d, 10:55:07) + freq: 2437 + beacon interval: 100 TUs + capability: ESS Privacy ShortSlotTime RadioMeasure (0x1411) + signal: -53.00 dBm + last seen: 2810 ms ago + SSID: UPC5144FAF + Supported rates: 1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 + DS Parameter set: channel 6 + ERP: Barker_Preamble_Mode + Extended supported rates: 6.0 12.0 24.0 48.0 + Country: EU Environment: Indoor/Outdoor + Channels [1 - 13] @ 20 dBm + HT capabilities: + Capabilities: 0x1ac + HT20 + SM Power Save disabled + RX HT20 SGI + TX STBC + RX STBC 1-stream + Max AMSDU length: 3839 bytes + No DSSS/CCK HT40 + Maximum RX AMPDU length 65535 bytes (exponent: 0x003) + Minimum RX AMPDU time spacing: 4 usec (0x05) + HT RX MCS rate indexes supported: 0-15 + HT TX MCS rate indexes are undefined + HT operation: + * primary channel: 6 + * secondary channel offset: no secondary + * STA channel width: 20 MHz + * RIFS: 0 + * HT protection: non-HT mixed + * non-GF present: 1 + * OBSS non-GF present: 0 + * dual beacon: 0 + * dual CTS protection: 0 + * STBC beacon: 0 + * L-SIG TXOP Prot: 0 + * PCO active: 0 + * PCO phase: 0 + WPA: * Version: 1 + * Group cipher: TKIP + * Pairwise ciphers: TKIP CCMP + * Authentication suites: PSK + RSN: * Version: 1 + * Group cipher: TKIP + * Pairwise ciphers: TKIP CCMP + * Authentication suites: PSK + * Capabilities: 1-PTKSA-RC 1-GTKSA-RC (0x0000) + Extended capabilities: HT Information Exchange Supported, BSS Transition + BSS Load: + * station count: 1 + * channel utilisation: 109/255 + * available admission capacity: 31250 [*32us] + WMM: * Parameter version 1 + * BE: CW 15-1023, AIFSN 3 + * BK: CW 15-1023, AIFSN 7 + * VI: CW 7-15, AIFSN 2, TXOP 3008 usec + * VO: CW 3-7, AIFSN 2, TXOP 1504 usec + Country: EU Environment: Indoor/Outdoor + Channels [1 - 13] @ 16 dBm + WPS: * Version: 1.0 + * Wi-Fi Protected Setup State: 2 (Configured) + * Response Type: 3 (AP) + * UUID: 30b60e80-1dd2-11b2-8601-8e4aa01a9d4a + * Manufacturer: Ralink Technology, Corp. + * Model: Ralink Wireless Access Point + * Model Number: RT2860 + * Serial Number: 12345678 + * Primary Device Type: 6-0050f204-1 + * Device name: RalinkAPS + * Config methods: + * RF Bands: 0x1 + * Unknown TLV (0x1049, 6 bytes): 00 37 2a 00 01 20 +BSS 92:5c:14:d1:34:2f(on wlan0) + TSF: 212107270871 usec (2d, 10:55:07) + freq: 2437 + beacon interval: 100 TUs + capability: ESS ShortSlotTime RadioMeasure (0x1401) + signal: -53.00 dBm + last seen: 2800 ms ago + Information elements from Probe Response frame: + SSID: Vodafone Hotspot + Supported rates: 1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 + DS Parameter set: channel 6 + ERP: Barker_Preamble_Mode + Extended supported rates: 6.0 12.0 24.0 48.0 + Country: EU Environment: Indoor/Outdoor + Channels [1 - 13] @ 20 dBm + HT capabilities: + Capabilities: 0x1ac + HT20 + SM Power Save disabled + RX HT20 SGI + TX STBC + RX STBC 1-stream + Max AMSDU length: 3839 bytes + No DSSS/CCK HT40 + Maximum RX AMPDU length 65535 bytes (exponent: 0x003) + Minimum RX AMPDU time spacing: 4 usec (0x05) + HT RX MCS rate indexes supported: 0-15 + HT TX MCS rate indexes are undefined + HT operation: + * primary channel: 6 + * secondary channel offset: no secondary + * STA channel width: 20 MHz + * RIFS: 0 + * HT protection: non-HT mixed + * non-GF present: 1 + * OBSS non-GF present: 0 + * dual beacon: 0 + * dual CTS protection: 0 + * STBC beacon: 0 + * L-SIG TXOP Prot: 0 + * PCO active: 0 + * PCO phase: 0 + Extended capabilities: HT Information Exchange Supported, BSS Transition + BSS Load: + * station count: 1 + * channel utilisation: 109/255 + * available admission capacity: 31250 [*32us] + WMM: * Parameter version 1 + * BE: CW 15-1023, AIFSN 3 + * BK: CW 15-1023, AIFSN 7 + * VI: CW 7-15, AIFSN 2, TXOP 3008 usec + * VO: CW 3-7, AIFSN 2, TXOP 1504 usec + Country: EU Environment: Indoor/Outdoor + Channels [1 - 13] @ 16 dBm +BSS 36:2c:b4:34:3b:95(on wlan0) + TSF: 212075883822 usec (2d, 10:54:35) + freq: 2412 + beacon interval: 100 TUs + capability: ESS Privacy ShortSlotTime RadioMeasure (0x1411) + signal: -77.00 dBm + last seen: 13150 ms ago + Information elements from Probe Response frame: + SSID: Gast_Medusa_13 + Supported rates: 1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 + DS Parameter set: channel 1 + ERP: Barker_Preamble_Mode + Extended supported rates: 6.0 12.0 24.0 48.0 + Country: EU Environment: Indoor/Outdoor + Channels [1 - 13] @ 20 dBm + HT capabilities: + Capabilities: 0x1ac + HT20 + SM Power Save disabled + RX HT20 SGI + TX STBC + RX STBC 1-stream + Max AMSDU length: 3839 bytes + No DSSS/CCK HT40 + Maximum RX AMPDU length 65535 bytes (exponent: 0x003) + Minimum RX AMPDU time spacing: 4 usec (0x05) + HT RX MCS rate indexes supported: 0-15 + HT TX MCS rate indexes are undefined + HT operation: + * primary channel: 1 + * secondary channel offset: no secondary + * STA channel width: 20 MHz + * RIFS: 0 + * HT protection: no + * non-GF present: 0 + * OBSS non-GF present: 0 + * dual beacon: 0 + * dual CTS protection: 0 + * STBC beacon: 0 + * L-SIG TXOP Prot: 0 + * PCO active: 0 + * PCO phase: 0 + WPA: * Version: 1 + * Group cipher: TKIP + * Pairwise ciphers: TKIP CCMP + * Authentication suites: PSK + RSN: * Version: 1 + * Group cipher: TKIP + * Pairwise ciphers: TKIP CCMP + * Authentication suites: PSK + * Capabilities: 1-PTKSA-RC 1-GTKSA-RC (0x0000) + Extended capabilities: HT Information Exchange Supported, BSS Transition + BSS Load: + * station count: 0 + * channel utilisation: 94/255 + * available admission capacity: 31250 [*32us] + WMM: * Parameter version 1 + * BE: CW 15-1023, AIFSN 3 + * BK: CW 15-1023, AIFSN 7 + * VI: CW 7-15, AIFSN 2, TXOP 3008 usec + * VO: CW 3-7, AIFSN 2, TXOP 1504 usec + Country: EU Environment: Indoor/Outdoor + Channels [1 - 13] @ 16 dBm +BSS fe:49:2d:20:d8:21(on wlan0) + TSF: 212080903764 usec (2d, 10:54:40) + freq: 2412 + beacon interval: 100 TUs + capability: ESS Privacy ShortSlotTime (0x0411) + signal: -67.00 dBm + last seen: 29170 ms ago + Information elements from Probe Response frame: + SSID: \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 + Supported rates: 6.0* 9.0 12.0* 18.0 24.0* 36.0 48.0 54.0 + DS Parameter set: channel 1 + TIM: DTIM Count 1 DTIM Period 2 Bitmap Control 0x0 Bitmap[0] 0x0 + ERP: + RSN: * Version: 1 + * Group cipher: CCMP + * Pairwise ciphers: CCMP + * Authentication suites: PSK + * Capabilities: 16-PTKSA-RC 1-GTKSA-RC (0x000c) + HT capabilities: + Capabilities: 0x1ad + RX LDPC + HT20 + SM Power Save disabled + RX HT20 SGI + TX STBC + RX STBC 1-stream + Max AMSDU length: 3839 bytes + No DSSS/CCK HT40 + Maximum RX AMPDU length 65535 bytes (exponent: 0x003) + Minimum RX AMPDU time spacing: 4 usec (0x05) + HT RX MCS rate indexes supported: 0-15 + HT TX MCS rate indexes are undefined + HT operation: + * primary channel: 1 + * secondary channel offset: no secondary + * STA channel width: 20 MHz + * RIFS: 1 + * HT protection: no + * non-GF present: 0 + * OBSS non-GF present: 0 + * dual beacon: 0 + * dual CTS protection: 0 + * STBC beacon: 0 + * L-SIG TXOP Prot: 0 + * PCO active: 0 + * PCO phase: 0 + Extended capabilities: Extended Channel Switching + WPS: * Version: 1.0 + * Wi-Fi Protected Setup State: 2 (Configured) + * Unknown TLV (0x1049, 6 bytes): 00 37 2a 00 01 20 + * Device name: Marion,Laura,Larissas Fire TV... + * Primary Device Type: 1-0050f204-9 + WMM: * Parameter version 1 + * u-APSD + * BE: CW 15-1023, AIFSN 3 + * BK: CW 15-1023, AIFSN 7 + * VI: CW 7-15, AIFSN 2, TXOP 3008 usec + * VO: CW 3-7, AIFSN 2, TXOP 1504 usec + P2P: * Group capa: 0x25, Device capa: 0xab + * Unknown TLV (0x03, 6 bytes): 49 2d 20 58 21 dd +BSS 90:5c:44:db:21:48(on wlan0) + TSF: 212077364612 usec (2d, 10:54:37) + freq: 2462 + beacon interval: 100 TUs + capability: ESS Privacy ShortSlotTime RadioMeasure (0x1411) + signal: -76.00 dBm + last seen: 27640 ms ago + Information elements from Probe Response frame: + SSID: UPC614F5E5 + Supported rates: 1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 + DS Parameter set: channel 11 + ERP: Barker_Preamble_Mode + Extended supported rates: 6.0 12.0 24.0 48.0 + Country: EU Environment: Indoor/Outdoor + Channels [1 - 13] @ 20 dBm + HT capabilities: + Capabilities: 0x1ac + HT20 + SM Power Save disabled + RX HT20 SGI + TX STBC + RX STBC 1-stream + Max AMSDU length: 3839 bytes + No DSSS/CCK HT40 + Maximum RX AMPDU length 65535 bytes (exponent: 0x003) + Minimum RX AMPDU time spacing: 4 usec (0x05) + HT RX MCS rate indexes supported: 0-15 + HT TX MCS rate indexes are undefined + HT operation: + * primary channel: 11 + * secondary channel offset: no secondary + * STA channel width: 20 MHz + * RIFS: 0 + * HT protection: no + * non-GF present: 1 + * OBSS non-GF present: 0 + * dual beacon: 0 + * dual CTS protection: 0 + * STBC beacon: 0 + * L-SIG TXOP Prot: 0 + * PCO active: 0 + * PCO phase: 0 + WPA: * Version: 1 + * Group cipher: TKIP + * Pairwise ciphers: TKIP CCMP + * Authentication suites: PSK + RSN: * Version: 1 + * Group cipher: TKIP + * Pairwise ciphers: TKIP CCMP + * Authentication suites: PSK + * Capabilities: 1-PTKSA-RC 1-GTKSA-RC (0x0000) + Extended capabilities: HT Information Exchange Supported, BSS Transition + BSS Load: + * station count: 1 + * channel utilisation: 100/255 + * available admission capacity: 31250 [*32us] + WMM: * Parameter version 1 + * BE: CW 15-1023, AIFSN 3 + * BK: CW 15-1023, AIFSN 7 + * VI: CW 7-15, AIFSN 2, TXOP 3008 usec + * VO: CW 3-7, AIFSN 2, TXOP 1504 usec + Country: EU Environment: Indoor/Outdoor + Channels [1 - 13] @ 16 dBm + WPS: * Version: 1.0 + * Wi-Fi Protected Setup State: 2 (Configured) + * Response Type: 3 (AP) + * UUID: 314ea500-1dd2-11b2-8601-8e4aa01a9d4a + * Manufacturer: Ralink Technology, Corp. + * Model: Ralink Wireless Access Point + * Model Number: RT2860 + * Serial Number: 12345678 + * Primary Device Type: 6-0050f204-1 + * Device name: RalinkAPS + * Config methods: + * RF Bands: 0x1 + * Unknown TLV (0x1049, 6 bytes): 00 37 2a 00 01 20 +BSS ae:22:15:e6:ff:41(on wlan0) + TSF: 212108278788 usec (2d, 10:55:08) + freq: 2462 + beacon interval: 100 TUs + capability: ESS RadioMeasure (0x1001) + signal: -40.00 dBm + last seen: 1740 ms ago + Information elements from Probe Response frame: + SSID: Vodafone Hotspot + Supported rates: 1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 + DS Parameter set: channel 11 + ERP: Barker_Preamble_Mode + Extended supported rates: 6.0 12.0 24.0 48.0 + Country: EU Environment: Indoor/Outdoor + Channels [1 - 13] @ 20 dBm + HT capabilities: + Capabilities: 0x1ac + HT20 + SM Power Save disabled + RX HT20 SGI + TX STBC + RX STBC 1-stream + Max AMSDU length: 3839 bytes + No DSSS/CCK HT40 + Maximum RX AMPDU length 65535 bytes (exponent: 0x003) + Minimum RX AMPDU time spacing: 4 usec (0x05) + HT RX MCS rate indexes supported: 0-15 + HT TX MCS rate indexes are undefined + HT operation: + * primary channel: 11 + * secondary channel offset: no secondary + * STA channel width: 20 MHz + * RIFS: 0 + * HT protection: no + * non-GF present: 1 + * OBSS non-GF present: 0 + * dual beacon: 0 + * dual CTS protection: 0 + * STBC beacon: 0 + * L-SIG TXOP Prot: 0 + * PCO active: 0 + * PCO phase: 0 + Extended capabilities: HT Information Exchange Supported, BSS Transition + BSS Load: + * station count: 3 + * channel utilisation: 87/255 + * available admission capacity: 31250 [*32us] + WMM: * Parameter version 1 + * BE: CW 15-1023, AIFSN 3 + * BK: CW 15-1023, AIFSN 7 + * VI: CW 7-15, AIFSN 2, TXOP 3008 usec + * VO: CW 3-7, AIFSN 2, TXOP 1504 usec + Country: EU Environment: Indoor/Outdoor + Channels [1 - 13] @ 16 dBm +BSS 34:31:c4:b8:2e:85(on wlan0) + TSF: 212081672689 usec (2d, 10:54:41) + freq: 2437 + beacon interval: 100 TUs + capability: ESS Privacy ShortPreamble ShortSlotTime RadioMeasure (0x1431) + signal: -83.00 dBm + last seen: 28400 ms ago + Information elements from Probe Response frame: + SSID: Nexus + Supported rates: 1.0* 2.0* 5.5* 11.0* 6.0* 9.0 12.0* 18.0 + DS Parameter set: channel 6 + TIM: DTIM Count 0 DTIM Period 1 Bitmap Control 0x0 Bitmap[0] 0x0 (+ 1 octet) + Country: DE Environment: Indoor/Outdoor + Channels [1 - 13] @ 20 dBm + ERP: + Extended supported rates: 24.0* 36.0 48.0 54.0 + BSS Load: + * station count: 13 + * channel utilisation: 74/255 + * available admission capacity: 0 [*32us] + HT capabilities: + Capabilities: 0x1ad + RX LDPC + HT20 + SM Power Save disabled + RX HT20 SGI + TX STBC + RX STBC 1-stream + Max AMSDU length: 3839 bytes + No DSSS/CCK HT40 + Maximum RX AMPDU length 65535 bytes (exponent: 0x003) + Minimum RX AMPDU time spacing: 8 usec (0x06) + HT TX/RX MCS rate indexes supported: 0-23 + HT operation: + * primary channel: 6 + * secondary channel offset: no secondary + * STA channel width: 20 MHz + * RIFS: 0 + * HT protection: nonmember + * non-GF present: 1 + * OBSS non-GF present: 0 + * dual beacon: 0 + * dual CTS protection: 0 + * STBC beacon: 0 + * L-SIG TXOP Prot: 0 + * PCO active: 0 + * PCO phase: 0 + Overlapping BSS scan params: + * passive dwell: 20 TUs + * active dwell: 10 TUs + * channel width trigger scan interval: 300 s + * scan passive total per channel: 200 TUs + * scan active total per channel: 20 TUs + * BSS width channel transition delay factor: 5 + * OBSS Scan Activity Threshold: 0.25 % + Extended capabilities: HT Information Exchange Supported, Extended Channel Switching, TFS, WNM-Sleep Mode, TIM Broadcast, BSS Transition, 6 + WMM: * Parameter version 1 + * BE: CW 15-1023, AIFSN 3 + * BK: CW 15-1023, AIFSN 7 + * VI: CW 7-15, AIFSN 2, TXOP 3008 usec + * VO: CW 3-7, AIFSN 2, TXOP 1504 usec + WPS: * Version: 1.0 + * Wi-Fi Protected Setup State: 2 (Configured) + * RF Bands: 0x3 + * Unknown TLV (0x1049, 6 bytes): 00 37 2a 00 01 20 + RSN: * Version: 1 + * Group cipher: CCMP + * Pairwise ciphers: CCMP + * Authentication suites: PSK 00-0f-ac:8 + * Capabilities: 1-PTKSA-RC 1-GTKSA-RC MFP-capable (0x0080) +BSS 92:5c:14:db:21:48(on wlan0) + TSF: 212098644532 usec (2d, 10:54:58) + freq: 2462 + beacon interval: 100 TUs + capability: ESS ShortSlotTime RadioMeasure (0x1401) + signal: -71.00 dBm + last seen: 11430 ms ago + Information elements from Probe Response frame: + SSID: Vodafone Hotspot + Supported rates: 1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 + DS Parameter set: channel 11 + ERP: Barker_Preamble_Mode + Extended supported rates: 6.0 12.0 24.0 48.0 + Country: EU Environment: Indoor/Outdoor + Channels [1 - 13] @ 20 dBm + HT capabilities: + Capabilities: 0x1ac + HT20 + SM Power Save disabled + RX HT20 SGI + TX STBC + RX STBC 1-stream + Max AMSDU length: 3839 bytes + No DSSS/CCK HT40 + Maximum RX AMPDU length 65535 bytes (exponent: 0x003) + Minimum RX AMPDU time spacing: 4 usec (0x05) + HT RX MCS rate indexes supported: 0-15 + HT TX MCS rate indexes are undefined + HT operation: + * primary channel: 11 + * secondary channel offset: no secondary + * STA channel width: 20 MHz + * RIFS: 0 + * HT protection: no + * non-GF present: 1 + * OBSS non-GF present: 0 + * dual beacon: 0 + * dual CTS protection: 0 + * STBC beacon: 0 + * L-SIG TXOP Prot: 0 + * PCO active: 0 + * PCO phase: 0 + Extended capabilities: HT Information Exchange Supported, BSS Transition + BSS Load: + * station count: 1 + * channel utilisation: 111/255 + * available admission capacity: 31250 [*32us] + WMM: * Parameter version 1 + * BE: CW 15-1023, AIFSN 3 + * BK: CW 15-1023, AIFSN 7 + * VI: CW 7-15, AIFSN 2, TXOP 3008 usec + * VO: CW 3-7, AIFSN 2, TXOP 1504 usec + Country: EU Environment: Indoor/Outdoor + Channels [1 - 13] @ 16 dBm +BSS 9c:80:df:31:03:a4(on wlan0) + TSF: 212082583134 usec (2d, 10:54:42) + freq: 2467 + beacon interval: 100 TUs + capability: ESS Privacy ShortSlotTime (0x0411) + signal: -87.00 dBm + last seen: 27490 ms ago + Information elements from Probe Response frame: + SSID: o2-WLAN84 + Supported rates: 1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 + DS Parameter set: channel 12 + Extended supported rates: 6.0 12.0 24.0 48.0 + Country: DE Environment: Indoor/Outdoor + Channels [1 - 13] @ 20 dBm + WPS: * Version: 1.0 + * Wi-Fi Protected Setup State: 2 (Configured) + TIM: DTIM Count 0 DTIM Period 1 Bitmap Control 0x0 Bitmap[0] 0x0 + ERP: Barker_Preamble_Mode + HT capabilities: + Capabilities: 0x106e + HT20/HT40 + SM Power Save disabled + RX HT20 SGI + RX HT40 SGI + No RX STBC + Max AMSDU length: 3839 bytes + DSSS/CCK HT40 + Maximum RX AMPDU length 65535 bytes (exponent: 0x003) + Minimum RX AMPDU time spacing: 4 usec (0x05) + HT RX MCS rate indexes supported: 0-15, 32 + HT TX MCS rate indexes are undefined + HT operation: + * primary channel: 12 + * secondary channel offset: no secondary + * STA channel width: 20 MHz + * RIFS: 0 + * HT protection: 20 MHz + * non-GF present: 1 + * OBSS non-GF present: 0 + * dual beacon: 0 + * dual CTS protection: 0 + * STBC beacon: 0 + * L-SIG TXOP Prot: 0 + * PCO active: 0 + * PCO phase: 0 + Extended capabilities: HT Information Exchange Supported + Overlapping BSS scan params: + * passive dwell: 20 TUs + * active dwell: 10 TUs + * channel width trigger scan interval: 300 s + * scan passive total per channel: 200 TUs + * scan active total per channel: 20 TUs + * BSS width channel transition delay factor: 5 + * OBSS Scan Activity Threshold: 0.25 % + RSN: * Version: 1 + * Group cipher: CCMP + * Pairwise ciphers: CCMP + * Authentication suites: PSK + * Capabilities: PreAuth 1-PTKSA-RC 1-GTKSA-RC (0x0001) + WMM: * Parameter version 1 + * BE: CW 15-1023, AIFSN 3 + * BK: CW 15-1023, AIFSN 7 + * VI: CW 7-15, AIFSN 2, TXOP 3008 usec + * VO: CW 3-7, AIFSN 2, TXOP 1504 usec + BSS Load: + * station count: 768 + * channel utilisation: 33/255 + * available admission capacity: 4730 [*32us] +BSS 36:2c:94:34:3b:95(on wlan0) + TSF: 212096926483 usec (2d, 10:54:56) + freq: 2412 + beacon interval: 100 TUs + capability: ESS ShortSlotTime RadioMeasure (0x1401) + signal: -84.00 dBm + last seen: 13150 ms ago + SSID: Vodafone Hotspot + Supported rates: 1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 + DS Parameter set: channel 1 + ERP: Barker_Preamble_Mode + Extended supported rates: 6.0 12.0 24.0 48.0 + Country: EU Environment: Indoor/Outdoor + Channels [1 - 13] @ 20 dBm + HT capabilities: + Capabilities: 0x1ac + HT20 + SM Power Save disabled + RX HT20 SGI + TX STBC + RX STBC 1-stream + Max AMSDU length: 3839 bytes + No DSSS/CCK HT40 + Maximum RX AMPDU length 65535 bytes (exponent: 0x003) + Minimum RX AMPDU time spacing: 4 usec (0x05) + HT RX MCS rate indexes supported: 0-15 + HT TX MCS rate indexes are undefined + HT operation: + * primary channel: 1 + * secondary channel offset: no secondary + * STA channel width: 20 MHz + * RIFS: 0 + * HT protection: no + * non-GF present: 0 + * OBSS non-GF present: 0 + * dual beacon: 0 + * dual CTS protection: 0 + * STBC beacon: 0 + * L-SIG TXOP Prot: 0 + * PCO active: 0 + * PCO phase: 0 + Extended capabilities: HT Information Exchange Supported, BSS Transition + BSS Load: + * station count: 0 + * channel utilisation: 90/255 + * available admission capacity: 31250 [*32us] + WMM: * Parameter version 1 + * BE: CW 15-1023, AIFSN 3 + * BK: CW 15-1023, AIFSN 7 + * VI: CW 7-15, AIFSN 2, TXOP 3008 usec + * VO: CW 3-7, AIFSN 2, TXOP 1504 usec + Country: EU Environment: Indoor/Outdoor + Channels [1 - 13] @ 16 dBm +BSS 38:43:7d:1c:95:e6(on wlan0) + TSF: 212097695148 usec (2d, 10:54:57) + freq: 2437 + beacon interval: 100 TUs + capability: ESS Privacy ShortSlotTime RadioMeasure (0x1411) + signal: -83.00 dBm + last seen: 12380 ms ago + Information elements from Probe Response frame: + SSID: UPCB45EF15 + Supported rates: 1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 + DS Parameter set: channel 6 + Extended supported rates: 6.0 12.0 24.0 48.0 + Country: EU Environment: Indoor/Outdoor + Channels [1 - 13] @ 20 dBm + TIM: DTIM Count 0 DTIM Period 1 Bitmap Control 0x0 Bitmap[0] 0x0 + WPA: * Version: 1 + * Group cipher: TKIP + * Pairwise ciphers: TKIP CCMP + * Authentication suites: PSK + RSN: * Version: 1 + * Group cipher: TKIP + * Pairwise ciphers: TKIP CCMP + * Authentication suites: PSK + * Capabilities: 1-PTKSA-RC 1-GTKSA-RC (0x0000) + WPS: * Version: 1.0 + * Wi-Fi Protected Setup State: 2 (Configured) + * UUID: 30b60e80-1dd2-11b2-8601-8e4aa01a9d4a + * RF Bands: 0x1 + * Unknown TLV (0x1049, 6 bytes): 00 37 2a 00 01 20 + ERP: Barker_Preamble_Mode + HT capabilities: + Capabilities: 0x1ac + HT20 + SM Power Save disabled + RX HT20 SGI + TX STBC + RX STBC 1-stream + Max AMSDU length: 3839 bytes + No DSSS/CCK HT40 + Maximum RX AMPDU length 65535 bytes (exponent: 0x003) + Minimum RX AMPDU time spacing: 4 usec (0x05) + HT RX MCS rate indexes supported: 0-15 + HT TX MCS rate indexes are undefined + HT operation: + * primary channel: 6 + * secondary channel offset: no secondary + * STA channel width: 20 MHz + * RIFS: 0 + * HT protection: no + * non-GF present: 1 + * OBSS non-GF present: 0 + * dual beacon: 0 + * dual CTS protection: 0 + * STBC beacon: 0 + * L-SIG TXOP Prot: 0 + * PCO active: 0 + * PCO phase: 0 + Extended capabilities: HT Information Exchange Supported, BSS Transition + WMM: * Parameter version 1 + * BE: CW 15-1023, AIFSN 3 + * BK: CW 15-1023, AIFSN 7 + * VI: CW 7-15, AIFSN 2, TXOP 3008 usec + * VO: CW 3-7, AIFSN 2, TXOP 1504 usec + BSS Load: + * station count: 1 + * channel utilisation: 86/255 + * available admission capacity: 31250 [*32us] +BSS 90:5c:44:db:21:33(on wlan0) + TSF: 212107555845 usec (2d, 10:55:07) + freq: 5180 + beacon interval: 100 TUs + capability: ESS Privacy ShortPreamble SpectrumMgmt ShortSlotTime RadioMeasure (0x1531) + signal: -88.00 dBm + last seen: 2510 ms ago + Information elements from Probe Response frame: + SSID: UPC614F5E5 + Supported rates: 6.0* 9.0 12.0* 18.0 24.0* 36.0 48.0 54.0 + DS Parameter set: channel 36 + Power constraint: 3 dB + RSN: * Version: 1 + * Group cipher: TKIP + * Pairwise ciphers: CCMP + * Authentication suites: PSK + * Capabilities: 1-PTKSA-RC 1-GTKSA-RC (0x0000) + HT capabilities: + Capabilities: 0x6f + RX LDPC + HT20/HT40 + SM Power Save disabled + RX HT20 SGI + RX HT40 SGI + No RX STBC + Max AMSDU length: 3839 bytes + No DSSS/CCK HT40 + Maximum RX AMPDU length 65535 bytes (exponent: 0x003) + Minimum RX AMPDU time spacing: 4 usec (0x05) + HT RX MCS rate indexes supported: 0-23, 32 + HT TX MCS rate indexes are undefined + HT operation: + * primary channel: 36 + * secondary channel offset: above + * STA channel width: any + * RIFS: 0 + * HT protection: no + * non-GF present: 1 + * OBSS non-GF present: 0 + * dual beacon: 0 + * dual CTS protection: 0 + * STBC beacon: 0 + * L-SIG TXOP Prot: 0 + * PCO active: 0 + * PCO phase: 0 + Extended capabilities: 6 + VHT capabilities: + VHT Capabilities (0x33827930): + Max MPDU length: 3895 + Supported Channel Width: neither 160 nor 80+80 + RX LDPC + short GI (80 MHz) + SU Beamformer + SU Beamformee + RX antenna pattern consistency + TX antenna pattern consistency + VHT RX MCS set: + 1 streams: MCS 0-9 + 2 streams: MCS 0-9 + 3 streams: MCS 0-9 + 4 streams: not supported + 5 streams: not supported + 6 streams: not supported + 7 streams: not supported + 8 streams: not supported + VHT RX highest supported: 0 Mbps + VHT TX MCS set: + 1 streams: MCS 0-9 + 2 streams: MCS 0-9 + 3 streams: MCS 0-9 + 4 streams: not supported + 5 streams: not supported + 6 streams: not supported + 7 streams: not supported + 8 streams: not supported + VHT TX highest supported: 0 Mbps + VHT operation: + * channel width: 1 (80 MHz) + * center freq segment 1: 42 + * center freq segment 2: 0 + * VHT basic MCS set: 0xffc0 + BSS Load: + * station count: 2 + * channel utilisation: 54/255 + * available admission capacity: 30000 [*32us] + WPA: * Version: 1 + * Group cipher: TKIP + * Pairwise ciphers: TKIP + * Authentication suites: PSK + WMM: * Parameter version 1 + * u-APSD + * BE: CW 15-1023, AIFSN 3 + * BK: CW 15-1023, AIFSN 7 + * VI: CW 7-15, AIFSN 2, TXOP 3008 usec + * VO: CW 3-7, AIFSN 2, TXOP 1504 usec + WPS: * Version: 1.0 + * Wi-Fi Protected Setup State: 2 (Configured) + * Response Type: 3 (AP) + * UUID: 314ea500-1dd2-11b2-8601-8e4aa01a9d4a + * Manufacturer: Marvell + * Model: WAP + * Model Number: 123 + * Serial Number: 12345 + * Primary Device Type: 6-0050f204-1 + * Device name: 5G wireless AP + * Config methods: + * RF Bands: 0x2 + * Unknown TLV (0x1049, 6 bytes): 00 37 2a 00 01 20 +BSS a8:d3:f7:96:10:6d(on wlan0) + TSF: 212107799783 usec (2d, 10:55:07) + freq: 5200 + beacon interval: 100 TUs + capability: ESS Privacy SpectrumMgmt ShortSlotTime (0x0511) + signal: -88.00 dBm + last seen: 2260 ms ago + Information elements from Probe Response frame: + SSID: o2-WLAN34 + Supported rates: 6.0* 9.0 12.0* 18.0 24.0 36.0 48.0 54.0 + DS Parameter set: channel 40 + Country: DE Environment: Indoor/Outdoor + Channels [36 - 36] @ 23 dBm + Channels [40 - 40] @ 23 dBm + Channels [44 - 44] @ 23 dBm + Channels [48 - 48] @ 23 dBm + Power constraint: 0 dB + HT capabilities: + Capabilities: 0x86f + RX LDPC + HT20/HT40 + SM Power Save disabled + RX HT20 SGI + RX HT40 SGI + No RX STBC + Max AMSDU length: 7935 bytes + No DSSS/CCK HT40 + Maximum RX AMPDU length 65535 bytes (exponent: 0x003) + Minimum RX AMPDU time spacing: 4 usec (0x05) + HT TX/RX MCS rate indexes supported: 0-31, 33-76 + HT operation: + * primary channel: 40 + * secondary channel offset: below + * STA channel width: any + * RIFS: 0 + * HT protection: nonmember + * non-GF present: 1 + * OBSS non-GF present: 1 + * dual beacon: 0 + * dual CTS protection: 0 + * STBC beacon: 0 + * L-SIG TXOP Prot: 0 + * PCO active: 0 + * PCO phase: 0 + WMM: * Parameter version 1 + * u-APSD + * BE: CW 15-1023, AIFSN 3 + * BK: CW 15-1023, AIFSN 7 + * VI: CW 7-15, AIFSN 2, TXOP 3008 usec + * VO: CW 3-7, AIFSN 2, TXOP 1504 usec + RSN: * Version: 1 + * Group cipher: CCMP + * Pairwise ciphers: CCMP + * Authentication suites: PSK + * Capabilities: 1-PTKSA-RC 1-GTKSA-RC (0x0000) + Extended capabilities: HT Information Exchange Supported, SSID List, 6 + WPS: * Version: 1.0 + * Wi-Fi Protected Setup State: 2 (Configured) + * Response Type: 3 (AP) + * UUID: 4e9bd57c-8ebe-46d8-aa04-cdd3994f7288 + * Manufacturer: Quantenna + * Model: Topaz + * Model Number: QV840.432 + * Serial Number: A8D3F796106D + * Primary Device Type: 6-0050f204-1 + * Device name: Reference Design + * Config methods: + * Unknown TLV (0x1049, 6 bytes): 00 37 2a 00 01 20 + VHT capabilities: + VHT Capabilities (0x3fcb7832): + Max MPDU length: 11454 + Supported Channel Width: neither 160 nor 80+80 + RX LDPC + short GI (80 MHz) + SU Beamformer + SU Beamformee + MU Beamformer + +HTC-VHT + RX antenna pattern consistency + TX antenna pattern consistency + VHT RX MCS set: + 1 streams: MCS 0-9 + 2 streams: MCS 0-9 + 3 streams: MCS 0-9 + 4 streams: MCS 0-9 + 5 streams: not supported + 6 streams: not supported + 7 streams: not supported + 8 streams: not supported + VHT RX highest supported: 0 Mbps + VHT TX MCS set: + 1 streams: MCS 0-9 + 2 streams: MCS 0-9 + 3 streams: MCS 0-9 + 4 streams: MCS 0-9 + 5 streams: not supported + 6 streams: not supported + 7 streams: not supported + 8 streams: not supported + VHT TX highest supported: 0 Mbps + VHT operation: + * channel width: 1 (80 MHz) + * center freq segment 1: 42 + * center freq segment 2: 0 + * VHT basic MCS set: 0xfffc +BSS 90:5c:44:d1:34:20(on wlan0) + TSF: 212108016406 usec (2d, 10:55:08) + freq: 5220 + beacon interval: 100 TUs + capability: ESS Privacy ShortPreamble SpectrumMgmt ShortSlotTime RadioMeasure (0x1531) + signal: -46.00 dBm + last seen: 2060 ms ago + Information elements from Probe Response frame: + SSID: UPC5144FAF + Supported rates: 6.0* 9.0 12.0* 18.0 24.0* 36.0 48.0 54.0 + DS Parameter set: channel 44 + Power constraint: 3 dB + RSN: * Version: 1 + * Group cipher: TKIP + * Pairwise ciphers: CCMP + * Authentication suites: PSK + * Capabilities: 1-PTKSA-RC 1-GTKSA-RC (0x0000) + HT capabilities: + Capabilities: 0x6f + RX LDPC + HT20/HT40 + SM Power Save disabled + RX HT20 SGI + RX HT40 SGI + No RX STBC + Max AMSDU length: 3839 bytes + No DSSS/CCK HT40 + Maximum RX AMPDU length 65535 bytes (exponent: 0x003) + Minimum RX AMPDU time spacing: 4 usec (0x05) + HT RX MCS rate indexes supported: 0-23, 32 + HT TX MCS rate indexes are undefined + HT operation: + * primary channel: 44 + * secondary channel offset: above + * STA channel width: any + * RIFS: 0 + * HT protection: no + * non-GF present: 1 + * OBSS non-GF present: 0 + * dual beacon: 0 + * dual CTS protection: 0 + * STBC beacon: 0 + * L-SIG TXOP Prot: 0 + * PCO active: 0 + * PCO phase: 0 + Extended capabilities: 6 + VHT capabilities: + VHT Capabilities (0x33827930): + Max MPDU length: 3895 + Supported Channel Width: neither 160 nor 80+80 + RX LDPC + short GI (80 MHz) + SU Beamformer + SU Beamformee + RX antenna pattern consistency + TX antenna pattern consistency + VHT RX MCS set: + 1 streams: MCS 0-9 + 2 streams: MCS 0-9 + 3 streams: MCS 0-9 + 4 streams: not supported + 5 streams: not supported + 6 streams: not supported + 7 streams: not supported + 8 streams: not supported + VHT RX highest supported: 0 Mbps + VHT TX MCS set: + 1 streams: MCS 0-9 + 2 streams: MCS 0-9 + 3 streams: MCS 0-9 + 4 streams: not supported + 5 streams: not supported + 6 streams: not supported + 7 streams: not supported + 8 streams: not supported + VHT TX highest supported: 0 Mbps + VHT operation: + * channel width: 1 (80 MHz) + * center freq segment 1: 42 + * center freq segment 2: 0 + * VHT basic MCS set: 0xffc0 + BSS Load: + * station count: 1 + * channel utilisation: 33/255 + * available admission capacity: 30000 [*32us] + WPA: * Version: 1 + * Group cipher: TKIP + * Pairwise ciphers: TKIP + * Authentication suites: PSK + WMM: * Parameter version 1 + * u-APSD + * BE: CW 15-1023, AIFSN 3 + * BK: CW 15-1023, AIFSN 7 + * VI: CW 7-15, AIFSN 2, TXOP 3008 usec + * VO: CW 3-7, AIFSN 2, TXOP 1504 usec + WPS: * Version: 1.0 + * Wi-Fi Protected Setup State: 2 (Configured) + * Response Type: 3 (AP) + * UUID: 30b60e80-1dd2-11b2-8601-8e4aa01a9d4a + * Manufacturer: Marvell + * Model: WAP + * Model Number: 123 + * Serial Number: 12345 + * Primary Device Type: 6-0050f204-1 + * Device name: 5G wireless AP + * Config methods: + * RF Bands: 0x2 + * Unknown TLV (0x1049, 6 bytes): 00 37 2a 00 01 20 +BSS ac:22:05:db:4d:22(on wlan0) + TSF: 212108018921 usec (2d, 10:55:08) + freq: 5220 + beacon interval: 100 TUs + capability: ESS Privacy ShortPreamble SpectrumMgmt ShortSlotTime RadioMeasure (0x1531) + signal: -68.00 dBm + last seen: 2020 ms ago + Information elements from Probe Response frame: + SSID: Hoeheitsgebiet + Supported rates: 6.0* 9.0 12.0* 18.0 24.0* 36.0 48.0 54.0 + DS Parameter set: channel 44 + Power constraint: 3 dB + RSN: * Version: 1 + * Group cipher: TKIP + * Pairwise ciphers: CCMP + * Authentication suites: PSK + * Capabilities: 1-PTKSA-RC 1-GTKSA-RC (0x0000) + HT capabilities: + Capabilities: 0x6f + RX LDPC + HT20/HT40 + SM Power Save disabled + RX HT20 SGI + RX HT40 SGI + No RX STBC + Max AMSDU length: 3839 bytes + No DSSS/CCK HT40 + Maximum RX AMPDU length 65535 bytes (exponent: 0x003) + Minimum RX AMPDU time spacing: 4 usec (0x05) + HT RX MCS rate indexes supported: 0-23, 32 + HT TX MCS rate indexes are undefined + HT operation: + * primary channel: 44 + * secondary channel offset: above + * STA channel width: any + * RIFS: 0 + * HT protection: no + * non-GF present: 1 + * OBSS non-GF present: 0 + * dual beacon: 0 + * dual CTS protection: 0 + * STBC beacon: 0 + * L-SIG TXOP Prot: 0 + * PCO active: 0 + * PCO phase: 0 + Extended capabilities: 6 + VHT capabilities: + VHT Capabilities (0x33827930): + Max MPDU length: 3895 + Supported Channel Width: neither 160 nor 80+80 + RX LDPC + short GI (80 MHz) + SU Beamformer + SU Beamformee + RX antenna pattern consistency + TX antenna pattern consistency + VHT RX MCS set: + 1 streams: MCS 0-9 + 2 streams: MCS 0-9 + 3 streams: MCS 0-9 + 4 streams: not supported + 5 streams: not supported + 6 streams: not supported + 7 streams: not supported + 8 streams: not supported + VHT RX highest supported: 0 Mbps + VHT TX MCS set: + 1 streams: MCS 0-9 + 2 streams: MCS 0-9 + 3 streams: MCS 0-9 + 4 streams: not supported + 5 streams: not supported + 6 streams: not supported + 7 streams: not supported + 8 streams: not supported + VHT TX highest supported: 0 Mbps + VHT operation: + * channel width: 1 (80 MHz) + * center freq segment 1: 42 + * center freq segment 2: 0 + * VHT basic MCS set: 0xffc0 + BSS Load: + * station count: 4 + * channel utilisation: 43/255 + * available admission capacity: 30000 [*32us] + WPA: * Version: 1 + * Group cipher: TKIP + * Pairwise ciphers: TKIP + * Authentication suites: PSK + WMM: * Parameter version 1 + * u-APSD + * BE: CW 15-1023, AIFSN 3 + * BK: CW 15-1023, AIFSN 7 + * VI: CW 7-15, AIFSN 2, TXOP 3008 usec + * VO: CW 3-7, AIFSN 2, TXOP 1504 usec + WPS: * Version: 1.0 + * Wi-Fi Protected Setup State: 2 (Configured) + * Response Type: 3 (AP) + * UUID: 327fd200-1dd2-11b2-8601-8e4aa01a9d4a + * Manufacturer: Marvell + * Model: WAP + * Model Number: 123 + * Serial Number: 12345 + * Primary Device Type: 6-0050f204-1 + * Device name: 5G wireless AP + * Config methods: + * RF Bands: 0x2 + * Unknown TLV (0x1049, 6 bytes): 00 37 2a 00 01 20 +BSS 54:67:51:2c:3d:0a(on wlan0) + TSF: 212108254184 usec (2d, 10:55:08) + freq: 2462 + beacon interval: 100 TUs + capability: ESS Privacy ShortSlotTime RadioMeasure (0x1411) + signal: -80.00 dBm + last seen: 1820 ms ago + Information elements from Probe Response frame: + SSID: UPC956E146 + Supported rates: 1.0* 2.0* 5.5* 11.0* 9.0 18.0 36.0 54.0 + DS Parameter set: channel 11 + ERP: Barker_Preamble_Mode + Extended supported rates: 6.0 12.0 24.0 48.0 + Country: EU Environment: Indoor/Outdoor + Channels [1 - 13] @ 20 dBm + HT capabilities: + Capabilities: 0x1ac + HT20 + SM Power Save disabled + RX HT20 SGI + TX STBC + RX STBC 1-stream + Max AMSDU length: 3839 bytes + No DSSS/CCK HT40 + Maximum RX AMPDU length 65535 bytes (exponent: 0x003) + Minimum RX AMPDU time spacing: 4 usec (0x05) + HT RX MCS rate indexes supported: 0-15 + HT TX MCS rate indexes are undefined + HT operation: + * primary channel: 11 + * secondary channel offset: no secondary + * STA channel width: 20 MHz + * RIFS: 0 + * HT protection: no + * non-GF present: 0 + * OBSS non-GF present: 0 + * dual beacon: 0 + * dual CTS protection: 0 + * STBC beacon: 0 + * L-SIG TXOP Prot: 0 + * PCO active: 0 + * PCO phase: 0 + WPA: * Version: 1 + * Group cipher: TKIP + * Pairwise ciphers: TKIP CCMP + * Authentication suites: PSK + RSN: * Version: 1 + * Group cipher: TKIP + * Pairwise ciphers: TKIP CCMP + * Authentication suites: PSK + * Capabilities: 1-PTKSA-RC 1-GTKSA-RC (0x0000) + Extended capabilities: HT Information Exchange Supported, BSS Transition + BSS Load: + * station count: 0 + * channel utilisation: 93/255 + * available admission capacity: 31250 [*32us] + WMM: * Parameter version 1 + * BE: CW 15-1023, AIFSN 3 + * BK: CW 15-1023, AIFSN 7 + * VI: CW 7-15, AIFSN 2, TXOP 3008 usec + * VO: CW 3-7, AIFSN 2, TXOP 1504 usec + Country: EU Environment: Indoor/Outdoor + Channels [1 - 13] @ 16 dBm + WPS: * Version: 1.0 + * Wi-Fi Protected Setup State: 2 (Configured) + * Response Type: 3 (AP) + * UUID: 314ea500-1dd2-11b2-8601-8e4aa01a9d4a + * Manufacturer: Ralink Technology, Corp. + * Model: Ralink Wireless Access Point + * Model Number: RT2860 + * Serial Number: 12345678 + * Primary Device Type: 6-0050f204-1 + * Device name: RalinkAPS + * Config methods: + * RF Bands: 0x1 + * Unknown TLV (0x1049, 6 bytes): 00 37 2a 00 01 20 +BSS 74:31:70:75:f1:e2(on wlan0) + TSF: 212098649788 usec (2d, 10:54:58) + freq: 2462 + beacon interval: 100 TUs + capability: ESS Privacy ShortSlotTime (0x0411) + signal: -80.00 dBm + last seen: 11420 ms ago + Information elements from Probe Response frame: + SSID: WLAN-75F122 + Supported rates: 1.0* 2.0* 5.5* 11.0* 18.0 24.0 36.0 54.0 + DS Parameter set: channel 11 + ERP: + ERP D4.0: + RSN: * Version: 1 + * Group cipher: CCMP + * Pairwise ciphers: CCMP + * Authentication suites: PSK + * Capabilities: 1-PTKSA-RC 1-GTKSA-RC (0x0000) + Extended supported rates: 6.0 9.0 12.0 48.0 + HT capabilities: + Capabilities: 0x186c + HT20 + SM Power Save disabled + RX HT20 SGI + RX HT40 SGI + No RX STBC + Max AMSDU length: 7935 bytes + DSSS/CCK HT40 + Maximum RX AMPDU length 65535 bytes (exponent: 0x003) + Minimum RX AMPDU time spacing: 16 usec (0x07) + HT RX MCS rate indexes supported: 0-15 + HT TX MCS rate indexes are undefined + HT operation: + * primary channel: 11 + * secondary channel offset: no secondary + * STA channel width: 20 MHz + * RIFS: 1 + * HT protection: no + * non-GF present: 1 + * OBSS non-GF present: 0 + * dual beacon: 0 + * dual CTS protection: 0 + * STBC beacon: 0 + * L-SIG TXOP Prot: 0 + * PCO active: 0 + * PCO phase: 0 + Overlapping BSS scan params: + * passive dwell: 20 TUs + * active dwell: 10 TUs + * channel width trigger scan interval: 300 s + * scan passive total per channel: 200 TUs + * scan active total per channel: 20 TUs + * BSS width channel transition delay factor: 5 + * OBSS Scan Activity Threshold: 0.25 % + Extended capabilities: HT Information Exchange Supported + WMM: * Parameter version 1 + * BE: CW 15-1023, AIFSN 3 + * BK: CW 15-1023, AIFSN 7 + * VI: CW 7-15, AIFSN 2, TXOP 3008 usec + * VO: CW 3-7, AIFSN 2, TXOP 1504 usec + WPS: * Version: 1.0 + * Wi-Fi Protected Setup State: 2 (Configured) + * Selected Registrar: 0x0 + * Response Type: 3 (AP) + * UUID: 00000000-0000-0003-0000-74317075f1e2 + * Manufacturer: Corporation + * Model: VGV8539JW + * Model Number: 1.47.000 + * Serial Number: J144024542 + * Primary Device Type: 6-0050f204-1 + * Device name: Wireless Router(WFA) + * Config methods: Label, PBC + * RF Bands: 0x3 +BSS 1c:b0:44:75:42:a8(on wlan0) + TSF: 212108018214 usec (2d, 10:55:08) + freq: 5220 + beacon interval: 100 TUs + capability: ESS Privacy SpectrumMgmt ShortSlotTime (0x0511) + signal: -89.00 dBm + last seen: 2060 ms ago + SSID: o2-WLAN38 + Supported rates: 6.0* 9.0 12.0* 18.0 24.0 36.0 48.0 54.0 + DS Parameter set: channel 44 + BSS Load: + * station count: 5 + * channel utilisation: 55/255 + * available admission capacity: 65535 [*32us] + Country: DE Environment: Indoor/Outdoor + Channels [36 - 36] @ 23 dBm + Channels [40 - 40] @ 23 dBm + Channels [44 - 44] @ 23 dBm + Channels [48 - 48] @ 23 dBm + Power constraint: 0 dB + HT capabilities: + Capabilities: 0x86f + RX LDPC + HT20/HT40 + SM Power Save disabled + RX HT20 SGI + RX HT40 SGI + No RX STBC + Max AMSDU length: 7935 bytes + No DSSS/CCK HT40 + Maximum RX AMPDU length 65535 bytes (exponent: 0x003) + Minimum RX AMPDU time spacing: 4 usec (0x05) + HT TX/RX MCS rate indexes supported: 0-31, 33-76 + HT operation: + * primary channel: 44 + * secondary channel offset: above + * STA channel width: any + * RIFS: 0 + * HT protection: nonmember + * non-GF present: 1 + * OBSS non-GF present: 1 + * dual beacon: 0 + * dual CTS protection: 0 + * STBC beacon: 0 + * L-SIG TXOP Prot: 0 + * PCO active: 0 + * PCO phase: 0 + WMM: * Parameter version 1 + * u-APSD + * BE: CW 15-1023, AIFSN 3 + * BK: CW 15-1023, AIFSN 7 + * VI: CW 7-15, AIFSN 2, TXOP 3008 usec + * VO: CW 3-7, AIFSN 2, TXOP 1504 usec + RSN: * Version: 1 + * Group cipher: CCMP + * Pairwise ciphers: CCMP + * Authentication suites: PSK + * Capabilities: 1-PTKSA-RC 1-GTKSA-RC MFP-capable (0x0080) + * 0 PMKIDs + * Group mgmt cipher suite: AES-128-CMAC + Extended capabilities: HT Information Exchange Supported, BSS Transition, SSID List, 6 + WPS: * Version: 1.0 + * Wi-Fi Protected Setup State: 2 (Configured) + * Response Type: 3 (AP) + * UUID: b0493afc-202d-11b2-8a5b-1cb0447542a5 + * Manufacturer: Askey + * Model: o2 HomeBox + * Model Number: 6741 + * Serial Number: 1CB0447542A8 + * Primary Device Type: 6-0050f204-1 + * Device name: o2 HomeBox 6741 + * Config methods: Display + * Unknown TLV (0x1049, 6 bytes): 00 37 2a 00 01 20 + VHT capabilities: + VHT Capabilities (0x3fcb7832): + Max MPDU length: 11454 + Supported Channel Width: neither 160 nor 80+80 + RX LDPC + short GI (80 MHz) + SU Beamformer + SU Beamformee + MU Beamformer + +HTC-VHT + RX antenna pattern consistency + TX antenna pattern consistency + VHT RX MCS set: + 1 streams: MCS 0-9 + 2 streams: MCS 0-9 + 3 streams: MCS 0-9 + 4 streams: MCS 0-9 + 5 streams: not supported + 6 streams: not supported + 7 streams: not supported + 8 streams: not supported + VHT RX highest supported: 0 Mbps + VHT TX MCS set: + 1 streams: MCS 0-9 + 2 streams: MCS 0-9 + 3 streams: MCS 0-9 + 4 streams: MCS 0-9 + 5 streams: not supported + 6 streams: not supported + 7 streams: not supported + 8 streams: not supported + VHT TX highest supported: 0 Mbps + VHT operation: + * channel width: 1 (80 MHz) + * center freq segment 1: 42 + * center freq segment 2: 0 + * VHT basic MCS set: 0xfffc \ No newline at end of file diff --git a/tests/fixtures/ubuntu-20.04/date.out b/tests/fixtures/ubuntu-20.04/date.out new file mode 100644 index 000000000..9bebdb1da --- /dev/null +++ b/tests/fixtures/ubuntu-20.04/date.out @@ -0,0 +1 @@ +Tue Jan 5 01:02:04 AM UTC 2021 \ No newline at end of file From 1d0ad2f045733c5c690738d49951fdb9bcd3d66d Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Mon, 4 Jan 2021 18:01:16 -0800 Subject: [PATCH 02/25] doc fixes --- docs/parsers/airport.md | 2 +- docs/parsers/airport_s.md | 6 +++--- docs/parsers/arp.md | 6 +++--- docs/parsers/blkid.md | 6 +++--- docs/parsers/cksum.md | 6 +++--- docs/parsers/crontab.md | 2 +- docs/parsers/crontab_u.md | 2 +- docs/parsers/csv.md | 6 +++--- docs/parsers/date.md | 2 +- docs/parsers/df.md | 6 +++--- docs/parsers/dig.md | 6 +++--- docs/parsers/dmidecode.md | 6 +++--- docs/parsers/du.md | 6 +++--- docs/parsers/env.md | 6 +++--- docs/parsers/file.md | 6 +++--- docs/parsers/free.md | 6 +++--- docs/parsers/fstab.md | 6 +++--- docs/parsers/group.md | 6 +++--- docs/parsers/gshadow.md | 6 +++--- docs/parsers/hash.md | 6 +++--- docs/parsers/hashsum.md | 6 +++--- docs/parsers/history.md | 6 +++--- docs/parsers/hosts.md | 6 +++--- docs/parsers/id.md | 4 ++-- docs/parsers/ifconfig.md | 6 +++--- docs/parsers/ini.md | 2 +- docs/parsers/iptables.md | 6 +++--- docs/parsers/jobs.md | 6 +++--- docs/parsers/last.md | 6 +++--- docs/parsers/ls.md | 6 +++--- docs/parsers/lsblk.md | 6 +++--- docs/parsers/lsmod.md | 6 +++--- docs/parsers/lsof.md | 6 +++--- docs/parsers/mount.md | 6 +++--- docs/parsers/netstat.md | 6 +++--- docs/parsers/ntpq.md | 6 +++--- docs/parsers/passwd.md | 6 +++--- docs/parsers/ping.md | 2 +- docs/parsers/pip_list.md | 6 +++--- docs/parsers/pip_show.md | 6 +++--- docs/parsers/ps.md | 6 +++--- docs/parsers/route.md | 6 +++--- docs/parsers/shadow.md | 6 +++--- docs/parsers/ss.md | 6 +++--- docs/parsers/stat.md | 6 +++--- docs/parsers/sysctl.md | 2 +- docs/parsers/systemctl.md | 6 +++--- docs/parsers/systemctl_lj.md | 6 +++--- docs/parsers/systemctl_ls.md | 6 +++--- docs/parsers/systemctl_luf.md | 6 +++--- docs/parsers/timedatectl.md | 2 +- docs/parsers/tracepath.md | 2 +- docs/parsers/traceroute.md | 2 +- docs/parsers/uname.md | 2 +- docs/parsers/uptime.md | 2 +- docs/parsers/w.md | 6 +++--- docs/parsers/wc.md | 6 +++--- docs/parsers/who.md | 6 +++--- docs/parsers/xml.md | 2 +- docs/parsers/yaml.md | 6 +++--- jc/parsers/airport.py | 2 +- jc/parsers/airport_s.py | 6 +++--- jc/parsers/arp.py | 6 +++--- jc/parsers/blkid.py | 6 +++--- jc/parsers/cksum.py | 6 +++--- jc/parsers/crontab.py | 2 +- jc/parsers/crontab_u.py | 2 +- jc/parsers/csv.py | 6 +++--- jc/parsers/date.py | 2 +- jc/parsers/df.py | 6 +++--- jc/parsers/dig.py | 6 +++--- jc/parsers/dmidecode.py | 6 +++--- jc/parsers/du.py | 6 +++--- jc/parsers/env.py | 6 +++--- jc/parsers/file.py | 6 +++--- jc/parsers/foo.py | 6 +++--- jc/parsers/free.py | 6 +++--- jc/parsers/fstab.py | 6 +++--- jc/parsers/group.py | 6 +++--- jc/parsers/gshadow.py | 6 +++--- jc/parsers/hash.py | 6 +++--- jc/parsers/hashsum.py | 6 +++--- jc/parsers/history.py | 6 +++--- jc/parsers/hosts.py | 6 +++--- jc/parsers/id.py | 4 ++-- jc/parsers/ifconfig.py | 6 +++--- jc/parsers/ini.py | 2 +- jc/parsers/iptables.py | 6 +++--- jc/parsers/jobs.py | 6 +++--- jc/parsers/last.py | 6 +++--- jc/parsers/ls.py | 6 +++--- jc/parsers/lsblk.py | 6 +++--- jc/parsers/lsmod.py | 6 +++--- jc/parsers/lsof.py | 6 +++--- jc/parsers/mount.py | 6 +++--- jc/parsers/netstat.py | 6 +++--- jc/parsers/netstat_freebsd_osx.py | 2 +- jc/parsers/netstat_linux.py | 2 +- jc/parsers/ntpq.py | 6 +++--- jc/parsers/passwd.py | 6 +++--- jc/parsers/ping.py | 4 ++-- jc/parsers/pip_list.py | 6 +++--- jc/parsers/pip_show.py | 6 +++--- jc/parsers/ps.py | 6 +++--- jc/parsers/route.py | 6 +++--- jc/parsers/shadow.py | 6 +++--- jc/parsers/ss.py | 6 +++--- jc/parsers/stat.py | 6 +++--- jc/parsers/sysctl.py | 2 +- jc/parsers/systemctl.py | 6 +++--- jc/parsers/systemctl_lj.py | 6 +++--- jc/parsers/systemctl_ls.py | 6 +++--- jc/parsers/systemctl_luf.py | 6 +++--- jc/parsers/timedatectl.py | 2 +- jc/parsers/tracepath.py | 2 +- jc/parsers/traceroute.py | 2 +- jc/parsers/uname.py | 2 +- jc/parsers/uptime.py | 2 +- jc/parsers/w.py | 6 +++--- jc/parsers/wc.py | 6 +++--- jc/parsers/who.py | 6 +++--- jc/parsers/xml.py | 2 +- jc/parsers/yaml.py | 6 +++--- 123 files changed, 312 insertions(+), 312 deletions(-) diff --git a/docs/parsers/airport.md b/docs/parsers/airport.md index 0f6e63003..765be2600 100644 --- a/docs/parsers/airport.md +++ b/docs/parsers/airport.md @@ -77,7 +77,7 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (Dictionary) raw structured data to process Returns: diff --git a/docs/parsers/airport_s.md b/docs/parsers/airport_s.md index bf436e1a9..5c6dc64f2 100644 --- a/docs/parsers/airport_s.md +++ b/docs/parsers/airport_s.md @@ -109,11 +109,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { "ssid": string, @@ -144,5 +144,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/arp.md b/docs/parsers/arp.md index 956696119..f6a4330e4 100644 --- a/docs/parsers/arp.md +++ b/docs/parsers/arp.md @@ -119,11 +119,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -154,5 +154,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/blkid.md b/docs/parsers/blkid.md index 243d40c87..f44369886 100644 --- a/docs/parsers/blkid.md +++ b/docs/parsers/blkid.md @@ -101,11 +101,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -157,5 +157,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/cksum.md b/docs/parsers/cksum.md index 42c525efb..dc1aee57d 100644 --- a/docs/parsers/cksum.md +++ b/docs/parsers/cksum.md @@ -61,11 +61,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -91,5 +91,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/crontab.md b/docs/parsers/crontab.md index be58d4451..0b9507d15 100644 --- a/docs/parsers/crontab.md +++ b/docs/parsers/crontab.md @@ -156,7 +156,7 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (Dictionary) raw structured data to process Returns: diff --git a/docs/parsers/crontab_u.md b/docs/parsers/crontab_u.md index c29c7837d..ef2523f7a 100644 --- a/docs/parsers/crontab_u.md +++ b/docs/parsers/crontab_u.md @@ -153,7 +153,7 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (Dictionary) raw structured data to process Returns: diff --git a/docs/parsers/csv.md b/docs/parsers/csv.md index 6ea2099fc..3e77c0790 100644 --- a/docs/parsers/csv.md +++ b/docs/parsers/csv.md @@ -80,11 +80,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Each dictionary represents a row in the csv file: + List of Dictionaries. Each Dictionary represents a row in the csv file: [ { @@ -109,5 +109,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/date.md b/docs/parsers/date.md index 61cc6897d..a07cc8f39 100644 --- a/docs/parsers/date.md +++ b/docs/parsers/date.md @@ -63,7 +63,7 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (Dictionary) raw structured data to process Returns: diff --git a/docs/parsers/df.md b/docs/parsers/df.md index 826ea81f2..f81f842dc 100644 --- a/docs/parsers/df.md +++ b/docs/parsers/df.md @@ -95,11 +95,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -134,5 +134,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/dig.md b/docs/parsers/dig.md index c8d57bcb0..74789309b 100644 --- a/docs/parsers/dig.md +++ b/docs/parsers/dig.md @@ -347,11 +347,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -421,5 +421,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/dmidecode.md b/docs/parsers/dmidecode.md index 7528b26e0..09746022d 100644 --- a/docs/parsers/dmidecode.md +++ b/docs/parsers/dmidecode.md @@ -125,11 +125,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -162,5 +162,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/du.md b/docs/parsers/du.md index 9d802eb8d..06131b417 100644 --- a/docs/parsers/du.md +++ b/docs/parsers/du.md @@ -95,11 +95,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -124,5 +124,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/env.md b/docs/parsers/env.md index eb70a4bd8..5e0db7745 100644 --- a/docs/parsers/env.md +++ b/docs/parsers/env.md @@ -77,11 +77,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (Dictionary) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -107,5 +107,5 @@ Parameters: Returns: Dictionary of raw structured data or - list of dictionaries of processed structured data + List of Dictionaries of processed structured data diff --git a/docs/parsers/file.md b/docs/parsers/file.md index 8f37f6546..7f5733e89 100644 --- a/docs/parsers/file.md +++ b/docs/parsers/file.md @@ -70,11 +70,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -99,5 +99,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/free.md b/docs/parsers/free.md index e9bc3cdbd..dc99de43e 100644 --- a/docs/parsers/free.md +++ b/docs/parsers/free.md @@ -75,11 +75,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -109,5 +109,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/fstab.md b/docs/parsers/fstab.md index e86d81d03..4a9e39718 100644 --- a/docs/parsers/fstab.md +++ b/docs/parsers/fstab.md @@ -89,11 +89,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -122,5 +122,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/group.md b/docs/parsers/group.md index 768d08985..b5b959311 100644 --- a/docs/parsers/group.md +++ b/docs/parsers/group.md @@ -113,11 +113,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -146,5 +146,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/gshadow.md b/docs/parsers/gshadow.md index 6b80d493b..414c27e9c 100644 --- a/docs/parsers/gshadow.md +++ b/docs/parsers/gshadow.md @@ -79,11 +79,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -114,5 +114,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/hash.md b/docs/parsers/hash.md index 0179a34f8..ca9546aa4 100644 --- a/docs/parsers/hash.md +++ b/docs/parsers/hash.md @@ -45,11 +45,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -74,5 +74,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/hashsum.md b/docs/parsers/hashsum.md index 4c8c24945..958db927a 100644 --- a/docs/parsers/hashsum.md +++ b/docs/parsers/hashsum.md @@ -76,11 +76,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -105,5 +105,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/history.md b/docs/parsers/history.md index 98ad35fd0..744eee91b 100644 --- a/docs/parsers/history.md +++ b/docs/parsers/history.md @@ -65,11 +65,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (Dictionary) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -95,5 +95,5 @@ Parameters: Returns: Dictionary of raw structured data or - list of dictionaries of processed structured data + List of Dictionaries of processed structured data diff --git a/docs/parsers/hosts.md b/docs/parsers/hosts.md index 459d695da..fa56cfc55 100644 --- a/docs/parsers/hosts.md +++ b/docs/parsers/hosts.md @@ -80,11 +80,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -111,5 +111,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/id.md b/docs/parsers/id.md index c392353d1..8afe3b10b 100644 --- a/docs/parsers/id.md +++ b/docs/parsers/id.md @@ -93,7 +93,7 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (Dictionary) raw structured data to process Returns: @@ -142,5 +142,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + Dictionary. Raw or processed structured data. diff --git a/docs/parsers/ifconfig.md b/docs/parsers/ifconfig.md index 58a01c46f..1a2036fca 100644 --- a/docs/parsers/ifconfig.md +++ b/docs/parsers/ifconfig.md @@ -174,11 +174,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -229,5 +229,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/ini.md b/docs/parsers/ini.md index fbd5cbb75..0d38e819b 100644 --- a/docs/parsers/ini.md +++ b/docs/parsers/ini.md @@ -69,7 +69,7 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (Dictionary) raw structured data to process Returns: diff --git a/docs/parsers/iptables.md b/docs/parsers/iptables.md index 0206ce50a..e4b9467e3 100644 --- a/docs/parsers/iptables.md +++ b/docs/parsers/iptables.md @@ -157,11 +157,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -200,5 +200,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/jobs.md b/docs/parsers/jobs.md index 19dbc81fb..de3cb74e8 100644 --- a/docs/parsers/jobs.md +++ b/docs/parsers/jobs.md @@ -99,11 +99,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -131,5 +131,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/last.md b/docs/parsers/last.md index 16ad5070c..f6b05bf37 100644 --- a/docs/parsers/last.md +++ b/docs/parsers/last.md @@ -94,11 +94,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -127,5 +127,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/ls.md b/docs/parsers/ls.md index 6c7b480c4..ba68082f6 100644 --- a/docs/parsers/ls.md +++ b/docs/parsers/ls.md @@ -166,11 +166,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -201,5 +201,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/lsblk.md b/docs/parsers/lsblk.md index 8f96273a3..016e6dc3a 100644 --- a/docs/parsers/lsblk.md +++ b/docs/parsers/lsblk.md @@ -238,11 +238,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -305,5 +305,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/lsmod.md b/docs/parsers/lsmod.md index ebec2dc6a..9b0e27dfa 100644 --- a/docs/parsers/lsmod.md +++ b/docs/parsers/lsmod.md @@ -129,11 +129,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -162,5 +162,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/lsof.md b/docs/parsers/lsof.md index fc3e7c6e9..543abcec4 100644 --- a/docs/parsers/lsof.md +++ b/docs/parsers/lsof.md @@ -119,11 +119,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -156,5 +156,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/mount.md b/docs/parsers/mount.md index fbf01a1d3..57cd34001 100644 --- a/docs/parsers/mount.md +++ b/docs/parsers/mount.md @@ -79,11 +79,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -112,5 +112,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/netstat.md b/docs/parsers/netstat.md index ef297b9a5..bb5c0763a 100644 --- a/docs/parsers/netstat.md +++ b/docs/parsers/netstat.md @@ -270,11 +270,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -391,5 +391,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/ntpq.md b/docs/parsers/ntpq.md index 785442615..313d8b6e5 100644 --- a/docs/parsers/ntpq.md +++ b/docs/parsers/ntpq.md @@ -205,11 +205,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -244,5 +244,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/passwd.md b/docs/parsers/passwd.md index f10b6dd6b..42ee12bf2 100644 --- a/docs/parsers/passwd.md +++ b/docs/parsers/passwd.md @@ -97,11 +97,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -131,5 +131,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/ping.md b/docs/parsers/ping.md index 464c239c1..b2f83a8c1 100644 --- a/docs/parsers/ping.md +++ b/docs/parsers/ping.md @@ -132,7 +132,7 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (Dictionary) raw structured data to process Returns: diff --git a/docs/parsers/pip_list.md b/docs/parsers/pip_list.md index d57f3b657..3e4a24c64 100644 --- a/docs/parsers/pip_list.md +++ b/docs/parsers/pip_list.md @@ -54,11 +54,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -84,5 +84,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/pip_show.md b/docs/parsers/pip_show.md index 1efde8871..04ea0cec5 100644 --- a/docs/parsers/pip_show.md +++ b/docs/parsers/pip_show.md @@ -65,11 +65,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -103,5 +103,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/ps.md b/docs/parsers/ps.md index 2a5d16902..2d8548237 100644 --- a/docs/parsers/ps.md +++ b/docs/parsers/ps.md @@ -199,11 +199,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -243,5 +243,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/route.md b/docs/parsers/route.md index 957ab3bf6..d1d2e5daa 100644 --- a/docs/parsers/route.md +++ b/docs/parsers/route.md @@ -106,11 +106,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -147,5 +147,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/shadow.md b/docs/parsers/shadow.md index bda7bca85..60196aa1a 100644 --- a/docs/parsers/shadow.md +++ b/docs/parsers/shadow.md @@ -103,11 +103,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -138,5 +138,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/ss.md b/docs/parsers/ss.md index 7a9c2035a..4f081e1eb 100644 --- a/docs/parsers/ss.md +++ b/docs/parsers/ss.md @@ -273,11 +273,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -317,5 +317,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/stat.md b/docs/parsers/stat.md index 5f6ae1053..86b08e05f 100644 --- a/docs/parsers/stat.md +++ b/docs/parsers/stat.md @@ -127,11 +127,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -177,5 +177,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/sysctl.md b/docs/parsers/sysctl.md index 60fcd47b5..e167c0c86 100644 --- a/docs/parsers/sysctl.md +++ b/docs/parsers/sysctl.md @@ -63,7 +63,7 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (Dictionary) raw structured data to process Returns: diff --git a/docs/parsers/systemctl.md b/docs/parsers/systemctl.md index bb50a8f73..af747f2eb 100644 --- a/docs/parsers/systemctl.md +++ b/docs/parsers/systemctl.md @@ -63,11 +63,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -95,5 +95,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/systemctl_lj.md b/docs/parsers/systemctl_lj.md index a83d9f003..4975256a8 100644 --- a/docs/parsers/systemctl_lj.md +++ b/docs/parsers/systemctl_lj.md @@ -82,11 +82,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -113,5 +113,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/systemctl_ls.md b/docs/parsers/systemctl_ls.md index ab6118140..7c61eea25 100644 --- a/docs/parsers/systemctl_ls.md +++ b/docs/parsers/systemctl_ls.md @@ -57,11 +57,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -87,5 +87,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/systemctl_luf.md b/docs/parsers/systemctl_luf.md index af1986632..a7253569d 100644 --- a/docs/parsers/systemctl_luf.md +++ b/docs/parsers/systemctl_luf.md @@ -54,11 +54,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -83,5 +83,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/timedatectl.md b/docs/parsers/timedatectl.md index c3ac81aab..4cd48d31c 100644 --- a/docs/parsers/timedatectl.md +++ b/docs/parsers/timedatectl.md @@ -61,7 +61,7 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (Dictionary) raw structured data to process Returns: diff --git a/docs/parsers/tracepath.md b/docs/parsers/tracepath.md index 2d5f29378..68ea3a1c2 100644 --- a/docs/parsers/tracepath.md +++ b/docs/parsers/tracepath.md @@ -130,7 +130,7 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (Dictionary) raw structured data to process Returns: diff --git a/docs/parsers/traceroute.md b/docs/parsers/traceroute.md index 4969a4558..0b67eda09 100644 --- a/docs/parsers/traceroute.md +++ b/docs/parsers/traceroute.md @@ -119,7 +119,7 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (Dictionary) raw structured data to process Returns: diff --git a/docs/parsers/uname.md b/docs/parsers/uname.md index 9b03e263d..7060cc432 100644 --- a/docs/parsers/uname.md +++ b/docs/parsers/uname.md @@ -51,7 +51,7 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (Dictionary) raw structured data to process Returns: diff --git a/docs/parsers/uptime.md b/docs/parsers/uptime.md index 48235230d..a927c45b8 100644 --- a/docs/parsers/uptime.md +++ b/docs/parsers/uptime.md @@ -57,7 +57,7 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (Dictionary) raw structured data to process Returns: diff --git a/docs/parsers/w.md b/docs/parsers/w.md index c64e99d2a..7082229aa 100644 --- a/docs/parsers/w.md +++ b/docs/parsers/w.md @@ -105,11 +105,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -140,5 +140,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/wc.md b/docs/parsers/wc.md index c56ab9d67..754e00524 100644 --- a/docs/parsers/wc.md +++ b/docs/parsers/wc.md @@ -60,11 +60,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -91,5 +91,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/who.md b/docs/parsers/who.md index 012a8d183..245a62a46 100644 --- a/docs/parsers/who.md +++ b/docs/parsers/who.md @@ -125,11 +125,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -161,5 +161,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. diff --git a/docs/parsers/xml.md b/docs/parsers/xml.md index ed981725f..ab081418d 100644 --- a/docs/parsers/xml.md +++ b/docs/parsers/xml.md @@ -77,7 +77,7 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (Dictionary) raw structured data to process Returns: diff --git a/docs/parsers/yaml.md b/docs/parsers/yaml.md index ab28102eb..ddc808edd 100644 --- a/docs/parsers/yaml.md +++ b/docs/parsers/yaml.md @@ -89,11 +89,11 @@ Final processing to conform to the schema. Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Each dictionary represents a YAML document: + List of Dictionaries. Each dictionary represents a YAML document: [ { @@ -118,5 +118,5 @@ Parameters: Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries representing the YAML documents. diff --git a/jc/parsers/airport.py b/jc/parsers/airport.py index 2b725b556..555234f91 100644 --- a/jc/parsers/airport.py +++ b/jc/parsers/airport.py @@ -83,7 +83,7 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (Dictionary) raw structured data to process Returns: diff --git a/jc/parsers/airport_s.py b/jc/parsers/airport_s.py index 87158ed04..ca05c99e1 100644 --- a/jc/parsers/airport_s.py +++ b/jc/parsers/airport_s.py @@ -116,11 +116,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { "ssid": string, @@ -173,7 +173,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/arp.py b/jc/parsers/arp.py index 32beaedd8..8c48d85d6 100644 --- a/jc/parsers/arp.py +++ b/jc/parsers/arp.py @@ -125,11 +125,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -173,7 +173,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/blkid.py b/jc/parsers/blkid.py index c3cdcda1d..b0a89bd4c 100644 --- a/jc/parsers/blkid.py +++ b/jc/parsers/blkid.py @@ -108,11 +108,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -178,7 +178,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/cksum.py b/jc/parsers/cksum.py index 04d9303f9..1f5550345 100644 --- a/jc/parsers/cksum.py +++ b/jc/parsers/cksum.py @@ -67,11 +67,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -105,7 +105,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/crontab.py b/jc/parsers/crontab.py index 8db346f2a..78238d199 100644 --- a/jc/parsers/crontab.py +++ b/jc/parsers/crontab.py @@ -163,7 +163,7 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (Dictionary) raw structured data to process Returns: diff --git a/jc/parsers/crontab_u.py b/jc/parsers/crontab_u.py index 1d280aeff..0b13b59c0 100644 --- a/jc/parsers/crontab_u.py +++ b/jc/parsers/crontab_u.py @@ -159,7 +159,7 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (Dictionary) raw structured data to process Returns: diff --git a/jc/parsers/csv.py b/jc/parsers/csv.py index 8a1781a74..515f0f463 100644 --- a/jc/parsers/csv.py +++ b/jc/parsers/csv.py @@ -86,11 +86,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Each dictionary represents a row in the csv file: + List of Dictionaries. Each Dictionary represents a row in the csv file: [ { @@ -116,7 +116,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/date.py b/jc/parsers/date.py index 024e06f49..f2cf49ca6 100644 --- a/jc/parsers/date.py +++ b/jc/parsers/date.py @@ -68,7 +68,7 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (Dictionary) raw structured data to process Returns: diff --git a/jc/parsers/df.py b/jc/parsers/df.py index 141c4f233..92a038a7d 100644 --- a/jc/parsers/df.py +++ b/jc/parsers/df.py @@ -101,11 +101,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -186,7 +186,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: diff --git a/jc/parsers/dig.py b/jc/parsers/dig.py index 3e3cc21bf..c14f6b042 100644 --- a/jc/parsers/dig.py +++ b/jc/parsers/dig.py @@ -352,11 +352,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -566,7 +566,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: diff --git a/jc/parsers/dmidecode.py b/jc/parsers/dmidecode.py index a08149ccb..f275280d9 100644 --- a/jc/parsers/dmidecode.py +++ b/jc/parsers/dmidecode.py @@ -131,11 +131,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -180,7 +180,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/du.py b/jc/parsers/du.py index c73e17db2..dbf36bcd4 100644 --- a/jc/parsers/du.py +++ b/jc/parsers/du.py @@ -102,11 +102,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -140,7 +140,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/env.py b/jc/parsers/env.py index 3bac5f2af..299b1b873 100644 --- a/jc/parsers/env.py +++ b/jc/parsers/env.py @@ -82,11 +82,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (Dictionary) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -120,7 +120,7 @@ def parse(data, raw=False, quiet=False): Returns: Dictionary of raw structured data or - list of dictionaries of processed structured data + List of Dictionaries of processed structured data """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/file.py b/jc/parsers/file.py index 2d4a0b8c9..743e57e8e 100644 --- a/jc/parsers/file.py +++ b/jc/parsers/file.py @@ -76,11 +76,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -105,7 +105,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/foo.py b/jc/parsers/foo.py index 64e323061..fb0516389 100644 --- a/jc/parsers/foo.py +++ b/jc/parsers/foo.py @@ -51,11 +51,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -82,7 +82,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/free.py b/jc/parsers/free.py index dd5e51560..fa8a54f2b 100644 --- a/jc/parsers/free.py +++ b/jc/parsers/free.py @@ -81,11 +81,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -125,7 +125,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/fstab.py b/jc/parsers/fstab.py index bd4cd208c..3249c4611 100644 --- a/jc/parsers/fstab.py +++ b/jc/parsers/fstab.py @@ -93,11 +93,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -135,7 +135,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/group.py b/jc/parsers/group.py index 8235374ec..6d74a2438 100644 --- a/jc/parsers/group.py +++ b/jc/parsers/group.py @@ -118,11 +118,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -163,7 +163,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/gshadow.py b/jc/parsers/gshadow.py index 218597369..111cc859f 100644 --- a/jc/parsers/gshadow.py +++ b/jc/parsers/gshadow.py @@ -84,11 +84,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -125,7 +125,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/hash.py b/jc/parsers/hash.py index 9ef08d015..8f97c4487 100644 --- a/jc/parsers/hash.py +++ b/jc/parsers/hash.py @@ -50,11 +50,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -89,7 +89,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/hashsum.py b/jc/parsers/hashsum.py index 9f7b86124..bc0f03665 100644 --- a/jc/parsers/hashsum.py +++ b/jc/parsers/hashsum.py @@ -82,11 +82,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -112,7 +112,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/history.py b/jc/parsers/history.py index 72a8dcdc8..5e832c7f7 100644 --- a/jc/parsers/history.py +++ b/jc/parsers/history.py @@ -70,11 +70,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (Dictionary) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -108,7 +108,7 @@ def parse(data, raw=False, quiet=False): Returns: Dictionary of raw structured data or - list of dictionaries of processed structured data + List of Dictionaries of processed structured data """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/hosts.py b/jc/parsers/hosts.py index 5b54b4e68..8a8cbdda4 100644 --- a/jc/parsers/hosts.py +++ b/jc/parsers/hosts.py @@ -84,11 +84,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -116,7 +116,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/id.py b/jc/parsers/id.py index fba695714..d43b11149 100644 --- a/jc/parsers/id.py +++ b/jc/parsers/id.py @@ -99,7 +99,7 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (Dictionary) raw structured data to process Returns: @@ -169,7 +169,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + Dictionary. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/ifconfig.py b/jc/parsers/ifconfig.py index 3afbd0374..6bff4aea2 100644 --- a/jc/parsers/ifconfig.py +++ b/jc/parsers/ifconfig.py @@ -390,11 +390,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -475,7 +475,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/ini.py b/jc/parsers/ini.py index 35bd38200..4303dd6d4 100644 --- a/jc/parsers/ini.py +++ b/jc/parsers/ini.py @@ -75,7 +75,7 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (Dictionary) raw structured data to process Returns: diff --git a/jc/parsers/iptables.py b/jc/parsers/iptables.py index 4f3da1cb7..78c2faa80 100644 --- a/jc/parsers/iptables.py +++ b/jc/parsers/iptables.py @@ -162,11 +162,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -243,7 +243,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/jobs.py b/jc/parsers/jobs.py index 32c465b0d..33e2acdd0 100644 --- a/jc/parsers/jobs.py +++ b/jc/parsers/jobs.py @@ -105,11 +105,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -146,7 +146,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/last.py b/jc/parsers/last.py index fea684c5e..710e372bd 100644 --- a/jc/parsers/last.py +++ b/jc/parsers/last.py @@ -101,11 +101,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -152,7 +152,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/ls.py b/jc/parsers/ls.py index 91a40b7c4..8d2e22b9c 100644 --- a/jc/parsers/ls.py +++ b/jc/parsers/ls.py @@ -172,11 +172,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -217,7 +217,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/lsblk.py b/jc/parsers/lsblk.py index 62cc82737..0ef58a4f0 100644 --- a/jc/parsers/lsblk.py +++ b/jc/parsers/lsblk.py @@ -244,11 +244,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -331,7 +331,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/lsmod.py b/jc/parsers/lsmod.py index 338a77988..386f87be2 100644 --- a/jc/parsers/lsmod.py +++ b/jc/parsers/lsmod.py @@ -135,11 +135,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -178,7 +178,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/lsof.py b/jc/parsers/lsof.py index 38181d2fb..70eebfd37 100644 --- a/jc/parsers/lsof.py +++ b/jc/parsers/lsof.py @@ -125,11 +125,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -171,7 +171,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/mount.py b/jc/parsers/mount.py index bc39067a3..1a7ca79ee 100644 --- a/jc/parsers/mount.py +++ b/jc/parsers/mount.py @@ -84,11 +84,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -162,7 +162,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/netstat.py b/jc/parsers/netstat.py index 5fd587259..a1a117b16 100644 --- a/jc/parsers/netstat.py +++ b/jc/parsers/netstat.py @@ -274,11 +274,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -433,7 +433,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ import jc.utils if not quiet: diff --git a/jc/parsers/netstat_freebsd_osx.py b/jc/parsers/netstat_freebsd_osx.py index 8e1b3e0ef..e593ad36a 100644 --- a/jc/parsers/netstat_freebsd_osx.py +++ b/jc/parsers/netstat_freebsd_osx.py @@ -146,7 +146,7 @@ def parse(cleandata): Returns: - List of dictionaries. Raw structured data. + List of Dictionaries. Raw structured data. """ raw_output = [] network = False diff --git a/jc/parsers/netstat_linux.py b/jc/parsers/netstat_linux.py index 9a764c165..0c7dcc575 100644 --- a/jc/parsers/netstat_linux.py +++ b/jc/parsers/netstat_linux.py @@ -188,7 +188,7 @@ def parse(cleandata): Returns: - List of dictionaries. Raw structured data. + List of Dictionaries. Raw structured data. """ raw_output = [] network = False diff --git a/jc/parsers/ntpq.py b/jc/parsers/ntpq.py index dbcc8dc1c..c614f32a2 100644 --- a/jc/parsers/ntpq.py +++ b/jc/parsers/ntpq.py @@ -211,11 +211,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -272,7 +272,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/passwd.py b/jc/parsers/passwd.py index 8aed1b9c2..b38d77b98 100644 --- a/jc/parsers/passwd.py +++ b/jc/parsers/passwd.py @@ -102,11 +102,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -145,7 +145,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/ping.py b/jc/parsers/ping.py index 3faf5dab2..4b2be3419 100644 --- a/jc/parsers/ping.py +++ b/jc/parsers/ping.py @@ -5,7 +5,7 @@ Usage (cli): Note: Use the ping `-c` (count) option, otherwise data will not be piped to `jc`. - + $ ping -c 3 1.2.3.4 | jc --ping or @@ -138,7 +138,7 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (Dictionary) raw structured data to process Returns: diff --git a/jc/parsers/pip_list.py b/jc/parsers/pip_list.py index 470992b34..29fdbb756 100644 --- a/jc/parsers/pip_list.py +++ b/jc/parsers/pip_list.py @@ -60,11 +60,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -90,7 +90,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/pip_show.py b/jc/parsers/pip_show.py index f279314de..f277025c7 100644 --- a/jc/parsers/pip_show.py +++ b/jc/parsers/pip_show.py @@ -70,11 +70,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -108,7 +108,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/ps.py b/jc/parsers/ps.py index 45230670d..4e8efc4d6 100644 --- a/jc/parsers/ps.py +++ b/jc/parsers/ps.py @@ -205,11 +205,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -285,7 +285,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/route.py b/jc/parsers/route.py index 18f2835bd..3f496ecc8 100644 --- a/jc/parsers/route.py +++ b/jc/parsers/route.py @@ -112,11 +112,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -185,7 +185,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/shadow.py b/jc/parsers/shadow.py index 02fe620ae..cd066038e 100644 --- a/jc/parsers/shadow.py +++ b/jc/parsers/shadow.py @@ -108,11 +108,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -152,7 +152,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/ss.py b/jc/parsers/ss.py index 78d6180f2..26b42bbd3 100644 --- a/jc/parsers/ss.py +++ b/jc/parsers/ss.py @@ -279,11 +279,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -344,7 +344,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/stat.py b/jc/parsers/stat.py index 98801519a..d7fcaf13b 100644 --- a/jc/parsers/stat.py +++ b/jc/parsers/stat.py @@ -133,11 +133,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -200,7 +200,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/sysctl.py b/jc/parsers/sysctl.py index 42bdb31c7..c42283afa 100644 --- a/jc/parsers/sysctl.py +++ b/jc/parsers/sysctl.py @@ -69,7 +69,7 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (Dictionary) raw structured data to process Returns: diff --git a/jc/parsers/systemctl.py b/jc/parsers/systemctl.py index 6c645cf59..fc4ecca42 100644 --- a/jc/parsers/systemctl.py +++ b/jc/parsers/systemctl.py @@ -68,11 +68,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -100,7 +100,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/systemctl_lj.py b/jc/parsers/systemctl_lj.py index cad74177f..2e71604a6 100644 --- a/jc/parsers/systemctl_lj.py +++ b/jc/parsers/systemctl_lj.py @@ -87,11 +87,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -126,7 +126,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/systemctl_ls.py b/jc/parsers/systemctl_ls.py index ee9d069c1..9e089f768 100644 --- a/jc/parsers/systemctl_ls.py +++ b/jc/parsers/systemctl_ls.py @@ -62,11 +62,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -92,7 +92,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/systemctl_luf.py b/jc/parsers/systemctl_luf.py index 11d309cb0..255b6244d 100644 --- a/jc/parsers/systemctl_luf.py +++ b/jc/parsers/systemctl_luf.py @@ -59,11 +59,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -88,7 +88,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/timedatectl.py b/jc/parsers/timedatectl.py index 338548f88..fdb22d6c8 100644 --- a/jc/parsers/timedatectl.py +++ b/jc/parsers/timedatectl.py @@ -67,7 +67,7 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (Dictionary) raw structured data to process Returns: diff --git a/jc/parsers/tracepath.py b/jc/parsers/tracepath.py index a343800ce..8083c67c9 100644 --- a/jc/parsers/tracepath.py +++ b/jc/parsers/tracepath.py @@ -136,7 +136,7 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (Dictionary) raw structured data to process Returns: diff --git a/jc/parsers/traceroute.py b/jc/parsers/traceroute.py index 7dae7e2d9..a174153bb 100644 --- a/jc/parsers/traceroute.py +++ b/jc/parsers/traceroute.py @@ -306,7 +306,7 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (Dictionary) raw structured data to process Returns: diff --git a/jc/parsers/uname.py b/jc/parsers/uname.py index ce79a2374..b300ea377 100644 --- a/jc/parsers/uname.py +++ b/jc/parsers/uname.py @@ -60,7 +60,7 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (Dictionary) raw structured data to process Returns: diff --git a/jc/parsers/uptime.py b/jc/parsers/uptime.py index c49fd8e82..31eed2cf5 100644 --- a/jc/parsers/uptime.py +++ b/jc/parsers/uptime.py @@ -62,7 +62,7 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (Dictionary) raw structured data to process Returns: diff --git a/jc/parsers/w.py b/jc/parsers/w.py index fcf6210fd..7f554fd83 100644 --- a/jc/parsers/w.py +++ b/jc/parsers/w.py @@ -111,11 +111,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -152,7 +152,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/wc.py b/jc/parsers/wc.py index a5d4e39aa..afa395bb2 100644 --- a/jc/parsers/wc.py +++ b/jc/parsers/wc.py @@ -65,11 +65,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -104,7 +104,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/who.py b/jc/parsers/who.py index 7a6448edd..a91da148b 100644 --- a/jc/parsers/who.py +++ b/jc/parsers/who.py @@ -132,11 +132,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Structured data with the following schema: + List of Dictionaries. Structured data with the following schema: [ { @@ -177,7 +177,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries. Raw or processed structured data. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) diff --git a/jc/parsers/xml.py b/jc/parsers/xml.py index a130d89b8..b69a03ebf 100644 --- a/jc/parsers/xml.py +++ b/jc/parsers/xml.py @@ -83,7 +83,7 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (Dictionary) raw structured data to process Returns: diff --git a/jc/parsers/yaml.py b/jc/parsers/yaml.py index 948e2ee38..9ccbd1a88 100644 --- a/jc/parsers/yaml.py +++ b/jc/parsers/yaml.py @@ -95,11 +95,11 @@ def process(proc_data): Parameters: - proc_data: (dictionary) raw structured data to process + proc_data: (List of Dictionaries) raw structured data to process Returns: - List of dictionaries. Each dictionary represents a YAML document: + List of Dictionaries. Each dictionary represents a YAML document: [ { @@ -125,7 +125,7 @@ def parse(data, raw=False, quiet=False): Returns: - List of dictionaries. Raw or processed structured data. + List of Dictionaries representing the YAML documents. """ if not quiet: jc.utils.compatibility(__name__, info.compatible) From b37ee8555a2a108625a834a7990bc3320e79b08d Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Mon, 4 Jan 2021 18:02:07 -0800 Subject: [PATCH 03/25] changelog update --- CHANGELOG | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index 024cc591a..84d438ab3 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,11 @@ jc changelog +20210104 v1.14.1 +- Add wi scan parser +- Update date parser for support Ubuntu 20.04 +- Update man page +- Minor documentation updates + 20201231 v1.14.0 - Add hashsum parser tested on linux, macos - Add hash parser tested on linux, macos From 22b461eb4b1ca86ea9e8c1fde8a2c312d1526b5f Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Tue, 5 Jan 2021 09:42:05 -0800 Subject: [PATCH 04/25] Add period field for en_US.UTF-8 locale --- CHANGELOG | 1 + EXAMPLES.md | 1 + docs/parsers/date.md | 2 ++ jc/parsers/date.py | 40 +++++++++++++++++++-------- tests/fixtures/generic/date.json | 2 +- tests/fixtures/ubuntu-20.04/date.json | 1 + tests/test_date.py | 12 ++++++++ 7 files changed, 47 insertions(+), 12 deletions(-) create mode 100644 tests/fixtures/ubuntu-20.04/date.json diff --git a/CHANGELOG b/CHANGELOG index 84d438ab3..d70674d03 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -3,6 +3,7 @@ jc changelog 20210104 v1.14.1 - Add wi scan parser - Update date parser for support Ubuntu 20.04 +- Update last parser for last -F support - Update man page - Minor documentation updates diff --git a/EXAMPLES.md b/EXAMPLES.md index 346607963..63b14e994 100644 --- a/EXAMPLES.md +++ b/EXAMPLES.md @@ -412,6 +412,7 @@ date | jc --date -p # or: jc -p date "hour": 16, "minute": 48, "second": 11, + "period": null, "month": "Jul", "weekday": "Fri", "weekday_num": 6, diff --git a/docs/parsers/date.md b/docs/parsers/date.md index a07cc8f39..5aa75c7cb 100644 --- a/docs/parsers/date.md +++ b/docs/parsers/date.md @@ -29,6 +29,7 @@ Examples: "hour": 16, "minute": 48, "second": 11, + "period": null, "month": "Jul", "weekday": "Fri", "weekday_num": 6, @@ -76,6 +77,7 @@ Returns: "hour": integer, "minute": integer, "second": integer, + "period": string, "month": string, "weekday": string, "weekday_num": integer, diff --git a/jc/parsers/date.py b/jc/parsers/date.py index f2cf49ca6..8928ea62b 100644 --- a/jc/parsers/date.py +++ b/jc/parsers/date.py @@ -27,6 +27,7 @@ "hour": 16, "minute": 48, "second": 11, + "period": null, "month": "Jul", "weekday": "Fri", "weekday_num": 6, @@ -49,7 +50,7 @@ class info(): - version = '1.0' + version = '1.1' description = 'date command parser' author = 'Kelly Brazil' author_email = 'kellyjonbrazil@gmail.com' @@ -81,6 +82,7 @@ def process(proc_data): "hour": integer, "minute": integer, "second": integer, + "period": string, "month": string, "weekday": string, "weekday_num": integer, @@ -120,6 +122,7 @@ def process(proc_data): "hour": int(proc_data['hour']), "minute": int(proc_data['minute']), "second": int(proc_data['second']), + "period": proc_data['period'] if 'period' in proc_data else None, "month": proc_data['month'], "weekday": proc_data['weekday'], "weekday_num": weekday_map[proc_data['weekday']], @@ -152,16 +155,31 @@ def parse(data, raw=False, quiet=False): data = data.replace(':', ' ') split_data = data.split() - raw_output = { - "year": split_data[7], - "month": split_data[1], - "day": split_data[2], - "weekday": split_data[0], - "hour": split_data[3], - "minute": split_data[4], - "second": split_data[5], - "timezone": split_data[6] - } + # date v8.32 uses a different format depending on locale, so need to support LANG=en_US.UTF-8 + if len(split_data) == 9 and ('AM' in split_data or 'am' in split_data or 'PM' in split_data or 'pm' in split_data): + raw_output = { + "year": split_data[8], + "month": split_data[1], + "day": split_data[2], + "weekday": split_data[0], + "hour": split_data[3], + "minute": split_data[4], + "second": split_data[5], + "period": split_data[6], + "timezone": split_data[7] + } + else: + # standard LANG=C date output + raw_output = { + "year": split_data[7], + "month": split_data[1], + "day": split_data[2], + "weekday": split_data[0], + "hour": split_data[3], + "minute": split_data[4], + "second": split_data[5], + "timezone": split_data[6] + } if raw: return raw_output diff --git a/tests/fixtures/generic/date.json b/tests/fixtures/generic/date.json index 5e5057caa..b507d257b 100644 --- a/tests/fixtures/generic/date.json +++ b/tests/fixtures/generic/date.json @@ -1 +1 @@ -{"year": 2020, "month_num": 8, "day": 3, "hour": 9, "minute": 12, "second": 51, "month": "Aug", "weekday": "Mon", "weekday_num": 2, "timezone": "PDT"} +{"year": 2020, "month_num": 8, "day": 3, "hour": 9, "minute": 12, "second": 51, "period": null, "month": "Aug", "weekday": "Mon", "weekday_num": 2, "timezone": "PDT"} diff --git a/tests/fixtures/ubuntu-20.04/date.json b/tests/fixtures/ubuntu-20.04/date.json new file mode 100644 index 000000000..478455b27 --- /dev/null +++ b/tests/fixtures/ubuntu-20.04/date.json @@ -0,0 +1 @@ +{"year": 2021, "month_num": 1, "day": 5, "hour": 1, "minute": 2, "second": 4, "period": "AM", "month": "Jan", "weekday": "Tue", "weekday_num": 3, "timezone": "UTC"} diff --git a/tests/test_date.py b/tests/test_date.py index 3274a1fd2..c13fcc9e1 100644 --- a/tests/test_date.py +++ b/tests/test_date.py @@ -13,10 +13,16 @@ def setUp(self): with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/date.out'), 'r', encoding='utf-8') as f: self.generic_date = f.read() + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/ubuntu-20.04/date.out'), 'r', encoding='utf-8') as f: + self.ubuntu_20_04_date = f.read() + # output with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/generic/date.json'), 'r', encoding='utf-8') as f: self.generic_date_json = json.loads(f.read()) + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/ubuntu-20.04/date.json'), 'r', encoding='utf-8') as f: + self.ubuntu_20_04_date_json = json.loads(f.read()) + def test_date_nodata(self): """ Test 'date' with no data @@ -29,6 +35,12 @@ def test_date(self): """ self.assertEqual(jc.parsers.date.parse(self.generic_date, quiet=True), self.generic_date_json) + def test_date_ubuntu_20_04(self): + """ + Test 'date' on Ubuntu 20.4 + """ + self.assertEqual(jc.parsers.date.parse(self.ubuntu_20_04_date, quiet=True), self.ubuntu_20_04_date_json) + if __name__ == '__main__': unittest.main() From d8b5d6c66ced19dc16f2b4975d2293a903732ffe Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Tue, 5 Jan 2021 09:45:37 -0800 Subject: [PATCH 05/25] version bump to 1.14.1 --- jc/cli.py | 2 +- setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/jc/cli.py b/jc/cli.py index 1a268c249..d05a5c6dc 100644 --- a/jc/cli.py +++ b/jc/cli.py @@ -21,7 +21,7 @@ class info(): - version = '1.14.0' + version = '1.14.1' description = 'JSON CLI output utility' author = 'Kelly Brazil' author_email = 'kellyjonbrazil@gmail.com' diff --git a/setup.py b/setup.py index ff09f2d17..cdde27e4d 100755 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setuptools.setup( name='jc', - version='1.14.0', + version='1.14.1', author='Kelly Brazil', author_email='kellyjonbrazil@gmail.com', description='Converts the output of popular command-line tools and file-types to JSON.', From 7ac621e4c916373a03f379425033cb2d81a03578 Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Tue, 5 Jan 2021 12:29:29 -0800 Subject: [PATCH 06/25] add -F support --- docs/parsers/last.md | 6 ++++++ jc/parsers/last.py | 30 ++++++++++++++++++++------ tests/fixtures/ubuntu-20.04/last-F.out | 6 ++++++ 3 files changed, 36 insertions(+), 6 deletions(-) create mode 100644 tests/fixtures/ubuntu-20.04/last-F.out diff --git a/docs/parsers/last.md b/docs/parsers/last.md index f6b05bf37..ef614dadf 100644 --- a/docs/parsers/last.md +++ b/docs/parsers/last.md @@ -2,6 +2,12 @@ # jc.parsers.last jc - JSON CLI output utility `last` and `lastb` command output parser +Supports: +- `last` +- `last -F` +- `lastb` +- `lastb -F` + Usage (cli): $ last | jc --last diff --git a/jc/parsers/last.py b/jc/parsers/last.py index 710e372bd..5f1fc2025 100644 --- a/jc/parsers/last.py +++ b/jc/parsers/last.py @@ -1,5 +1,11 @@ """jc - JSON CLI output utility `last` and `lastb` command output parser +Supports: +- `last` +- `last -F` +- `lastb` +- `lastb -F` + Usage (cli): $ last | jc --last @@ -81,7 +87,7 @@ class info(): - version = '1.3' + version = '1.4' description = 'last and lastb command parser' author = 'Kelly Brazil' author_email = 'kellyjonbrazil@gmail.com' @@ -187,13 +193,25 @@ def parse(data, raw=False, quiet=False): output_line['user'] = linedata[0] output_line['tty'] = linedata[1] output_line['hostname'] = linedata[2] - output_line['login'] = ' '.join(linedata[3:7]) - if len(linedata) > 8: - output_line['logout'] = linedata[8] + # last -F support + if re.match(r'\d\d:\d\d:\d\d \d\d\d\d', ' '.join(linedata[6:8])): + output_line['login'] = ' '.join(linedata[3:8]) + + if len(linedata) > 9: + output_line['logout'] = ' '.join(linedata[9:14]) + + if len(linedata) > 14: + output_line['duration'] = linedata[14].replace('(', '').replace(')', '') + + else: + output_line['login'] = ' '.join(linedata[3:7]) + + if len(linedata) > 8: + output_line['logout'] = linedata[8] - if len(linedata) > 9: - output_line['duration'] = linedata[9].replace('(', '').replace(')', '') + if len(linedata) > 9: + output_line['duration'] = linedata[9].replace('(', '').replace(')', '') raw_output.append(output_line) diff --git a/tests/fixtures/ubuntu-20.04/last-F.out b/tests/fixtures/ubuntu-20.04/last-F.out new file mode 100644 index 000000000..44ae6020c --- /dev/null +++ b/tests/fixtures/ubuntu-20.04/last-F.out @@ -0,0 +1,6 @@ +kbrazil pts/0 192.168.71.1 Tue Jan 5 20:03:51 2021 still logged in +kbrazil pts/0 192.168.71.1 Tue Jan 5 00:17:29 2021 - Tue Jan 5 20:03:47 2021 (19:46) +kbrazil tty1 Tue Jan 5 00:08:46 2021 gone - no logout +reboot system boot 5.8.0-34-generic Tue Jan 5 00:08:28 2021 still running + +wtmp begins Tue Jan 5 00:08:28 2021 From e2c77cb935a5bd95dbe930d424e5a02e88e1fa76 Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Tue, 5 Jan 2021 13:00:38 -0800 Subject: [PATCH 07/25] add test for last -F output --- jc/parsers/last.py | 3 ++- tests/fixtures/ubuntu-20.04/last-F.json | 1 + tests/test_last.py | 12 ++++++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 tests/fixtures/ubuntu-20.04/last-F.json diff --git a/jc/parsers/last.py b/jc/parsers/last.py index 5f1fc2025..692022126 100644 --- a/jc/parsers/last.py +++ b/jc/parsers/last.py @@ -203,7 +203,8 @@ def parse(data, raw=False, quiet=False): if len(linedata) > 14: output_line['duration'] = linedata[14].replace('(', '').replace(')', '') - + + # normal last support else: output_line['login'] = ' '.join(linedata[3:7]) diff --git a/tests/fixtures/ubuntu-20.04/last-F.json b/tests/fixtures/ubuntu-20.04/last-F.json new file mode 100644 index 000000000..c866e9689 --- /dev/null +++ b/tests/fixtures/ubuntu-20.04/last-F.json @@ -0,0 +1 @@ +[{"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Tue Jan 5 20:03:51 2021", "logout": "still logged in"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Tue Jan 5 00:17:29 2021", "logout": "Tue Jan 5 20:03:47 2021", "duration": "19:46"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jan 5 00:08:46 2021", "logout": "gone - no logout"}, {"user": "reboot", "tty": "system boot", "hostname": "5.8.0-34-generic", "login": "Tue Jan 5 00:08:28 2021", "logout": "running"}] diff --git a/tests/test_last.py b/tests/test_last.py index 048d9b066..4aca472d3 100644 --- a/tests/test_last.py +++ b/tests/test_last.py @@ -37,6 +37,9 @@ def setUp(self): with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/freebsd12/last.out'), 'r', encoding='utf-8') as f: self.freebsd12_last = f.read() + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/ubuntu-20.04/last-F.out'), 'r', encoding='utf-8') as f: + self.ubuntu_20_4_last_F = f.read() + # output with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/last.json'), 'r', encoding='utf-8') as f: self.centos_7_7_last_json = json.loads(f.read()) @@ -65,6 +68,9 @@ def setUp(self): with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/freebsd12/last.json'), 'r', encoding='utf-8') as f: self.freebsd12_last_json = json.loads(f.read()) + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/ubuntu-20.04/last-F.json'), 'r', encoding='utf-8') as f: + self.ubuntu_20_4_last_F_json = json.loads(f.read()) + def test_last_nodata(self): """ Test plain 'last' with no data @@ -113,6 +119,12 @@ def test_last_w_ubuntu_18_4(self): """ self.assertEqual(jc.parsers.last.parse(self.ubuntu_18_4_last_w, quiet=True), self.ubuntu_18_4_last_w_json) + def test_last_F_ubuntu_20_4(self): + """ + Test 'last -F' on Ubuntu 20.4 + """ + self.assertEqual(jc.parsers.last.parse(self.ubuntu_20_4_last_F, quiet=True), self.ubuntu_20_4_last_F_json) + def test_last_fedora32(self): """ Test plain 'last' on Fedora32 From 2b7405c5e21db2488fc48b58f6c65cff947ca95d Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Tue, 5 Jan 2021 13:58:38 -0800 Subject: [PATCH 08/25] doc updates --- CHANGELOG | 3 +-- README.md | 2 +- docs/parsers/last.md | 6 +----- jc/parsers/last.py | 6 +----- man/jc.1 | 22 +++++++++++++++++++--- 5 files changed, 23 insertions(+), 16 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index d70674d03..865e89e06 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,7 +1,6 @@ jc changelog -20210104 v1.14.1 -- Add wi scan parser +20210105 v1.14.1 - Update date parser for support Ubuntu 20.04 - Update last parser for last -F support - Update man page diff --git a/README.md b/README.md index 288d85a5f..a8a65cc33 100644 --- a/README.md +++ b/README.md @@ -138,7 +138,7 @@ The JSON output can be compact (default) or pretty formatted with the `-p` optio - `--group` enables the `/etc/group` file parser - `--gshadow` enables the `/etc/gshadow` file parser - `--hash` enables the `hash` command parser -- `--hashsum` enables the `hashsum` command parser (`md5sum`, `shasum`, etc.) +- `--hashsum` enables the `hashsum` command parser (`md5`, `md5sum`, `shasum`, `sha1sum`, `sha224sum`, `sha256sum`, `sha384sum`, `sha512sum`) - `--history` enables the `history` command parser - `--hosts` enables the `/etc/hosts` file parser - `--id` enables the `id` command parser diff --git a/docs/parsers/last.md b/docs/parsers/last.md index ef614dadf..ef5a61e6c 100644 --- a/docs/parsers/last.md +++ b/docs/parsers/last.md @@ -2,11 +2,7 @@ # jc.parsers.last jc - JSON CLI output utility `last` and `lastb` command output parser -Supports: -- `last` -- `last -F` -- `lastb` -- `lastb -F` +Supports -w and -F options. Usage (cli): diff --git a/jc/parsers/last.py b/jc/parsers/last.py index 692022126..bb40404bb 100644 --- a/jc/parsers/last.py +++ b/jc/parsers/last.py @@ -1,10 +1,6 @@ """jc - JSON CLI output utility `last` and `lastb` command output parser -Supports: -- `last` -- `last -F` -- `lastb` -- `lastb -F` +Supports -w and -F options. Usage (cli): diff --git a/man/jc.1 b/man/jc.1 index 5091605cc..8d92646d5 100644 --- a/man/jc.1 +++ b/man/jc.1 @@ -1,4 +1,4 @@ -.TH jc 1 2020-07-31 1.13.2 "JSON CLI output utility" +.TH jc 1 2021-01-05 1.14.1 "JSON CLI output utility" .SH NAME jc \- JSONifies the output of many CLI tools and file-types .SH SYNOPSIS @@ -32,6 +32,10 @@ arp command parser blkid command parser .TP .B +\fB--cksum\fP +cksum and sum command parser +.TP +.B \fB--crontab\fP crontab command and file parser .TP @@ -65,7 +69,7 @@ du command parser .TP .B \fB--env\fP -env command parser +env and printenv command parser .TP .B \fB--file\fP @@ -112,6 +116,14 @@ INI file parser iptables command parser .TP .B +\fB--hash\fP +hash BASH builtin command parser +.TP +.B +\fB--hashsum\fP +md5, md5sum, shasum, sha1sum, sha224sum, sha256sum, sha384sum, and sha512sum command parser +.TP +.B \fB--jobs\fP jobs command parser .TP @@ -125,7 +137,7 @@ last and lastb command parser .TP .B \fB--ls\fP -ls command parser +ls and vdir command parser .TP .B \fB--lsblk\fP @@ -232,6 +244,10 @@ uptime command parser w command parser .TP .B +\fB--wc\fP +wc command parser +.TP +.B \fB--who\fP who command parser .TP From 7351c72e45242b9eb08c51dea7b6fccf12366dfd Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Tue, 5 Jan 2021 15:16:40 -0800 Subject: [PATCH 09/25] add fixes and tests for entries that contain 'crash' --- jc/parsers/last.py | 10 +- tests/fixtures/centos-7.7/last-crash.json | 1 + tests/fixtures/centos-7.7/last-crash.out | 184 ++++++++++++++++++++++ tests/fixtures/centos-7.7/last-wF.json | 1 + tests/fixtures/centos-7.7/last-wF.out | 184 ++++++++++++++++++++++ tests/test_last.py | 23 +++ 6 files changed, 402 insertions(+), 1 deletion(-) create mode 100644 tests/fixtures/centos-7.7/last-crash.json create mode 100644 tests/fixtures/centos-7.7/last-crash.out create mode 100644 tests/fixtures/centos-7.7/last-wF.json create mode 100644 tests/fixtures/centos-7.7/last-wF.out diff --git a/jc/parsers/last.py b/jc/parsers/last.py index bb40404bb..668c1682b 100644 --- a/jc/parsers/last.py +++ b/jc/parsers/last.py @@ -194,9 +194,17 @@ def parse(data, raw=False, quiet=False): if re.match(r'\d\d:\d\d:\d\d \d\d\d\d', ' '.join(linedata[6:8])): output_line['login'] = ' '.join(linedata[3:8]) - if len(linedata) > 9: + if len(linedata) > 9 and linedata[9] != 'crash': output_line['logout'] = ' '.join(linedata[9:14]) + if len(linedata) > 9 and linedata[9] == 'crash': + output_line['logout'] = linedata[9] + # add more items to the list to line up duration + linedata.insert(10, '-') + linedata.insert(10, '-') + linedata.insert(10, '-') + linedata.insert(10, '-') + if len(linedata) > 14: output_line['duration'] = linedata[14].replace('(', '').replace(')', '') diff --git a/tests/fixtures/centos-7.7/last-crash.json b/tests/fixtures/centos-7.7/last-crash.json new file mode 100644 index 000000000..46877f97d --- /dev/null +++ b/tests/fixtures/centos-7.7/last-crash.json @@ -0,0 +1 @@ +[{"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Tue Jan 5 14:29", "logout": "still logged in"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jan 5 14:28", "logout": "still logged in"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Jan 5 14:28", "logout": "14:35", "duration": "00:07"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Mon Jan 4 12:29", "logout": "crash", "duration": "1+01:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Mon Jan 4 12:11", "logout": "14:35", "duration": "1+02:24"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Wed Dec 30 11:12", "logout": "crash", "duration": "5+00:58"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Wed Dec 30 10:59", "logout": "14:35", "duration": "6+03:35"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Tue Dec 29 10:14", "logout": "crash", "duration": "1+00:45"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Dec 29 10:11", "logout": "crash", "duration": "1+00:48"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Dec 29 10:11", "logout": "14:35", "duration": "7+04:24"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Wed Aug 12 15:21", "logout": "crash", "duration": "138+19:49"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Wed Aug 12 15:08", "logout": "crash", "duration": "138+20:03"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Wed Aug 12 15:07", "logout": "14:35", "duration": "146+00:28"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Tue Aug 4 09:39", "logout": "crash", "duration": "8+05:27"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Aug 4 09:39", "logout": "crash", "duration": "8+05:28"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Aug 4 09:30", "logout": "14:35", "duration": "154+06:05"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Sat Aug 1 08:58", "logout": "crash", "duration": "3+00:32"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri Jul 31 13:55", "logout": "crash", "duration": "3+19:34"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Jul 31 13:55", "logout": "14:35", "duration": "158+01:40"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Thu Jul 30 08:34", "logout": "crash", "duration": "1+05:21"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Thu Jul 30 08:31", "logout": "crash", "duration": "1+05:24"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Thu Jul 30 08:31", "logout": "14:35", "duration": "159+07:04"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Tue Jul 28 19:23", "logout": "crash", "duration": "1+13:07"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jul 28 19:23", "logout": "crash", "duration": "1+13:07"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Jul 28 19:22", "logout": "14:35", "duration": "160+20:13"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Tue Jul 28 16:27", "logout": "crash", "duration": "02:54"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jul 28 16:27", "logout": "crash", "duration": "02:55"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Jul 28 13:22", "logout": "14:35", "duration": "161+02:13"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Tue Jul 28 00:13", "logout": "crash", "duration": "13:08"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Mon Jul 27 20:23", "logout": "00:13", "duration": "03:49"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Mon Jul 27 20:23", "logout": "crash", "duration": "16:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Mon Jul 27 20:04", "logout": "14:35", "duration": "161+19:31"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Tue Jul 21 09:15", "logout": "crash", "duration": "6+10:49"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jul 21 09:15", "logout": "crash", "duration": "6+10:49"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Jul 21 09:14", "logout": "14:35", "duration": "168+06:21"}, {"user": "kbrazil", "tty": "pts/1", "hostname": "kbrazil-mac.attl", "login": "Fri Jul 17 19:12", "logout": "19:13", "duration": "00:00"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri Jul 17 15:49", "logout": "crash", "duration": "3+17:25"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri Jul 17 15:48", "logout": "crash", "duration": "3+17:26"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Jul 17 15:48", "logout": "14:35", "duration": "171+23:47"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Fri Jul 17 01:52", "logout": "crash", "duration": "13:56"}, {"user": "kbrazil", "tty": "pts/1", "hostname": "192.168.71.1", "login": "Thu Jul 16 14:48", "logout": "crash", "duration": "1+00:59"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Thu Jul 16 14:10", "logout": "16:26", "duration": "02:15"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Thu Jul 16 14:09", "logout": "crash", "duration": "1+01:38"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Thu Jul 16 08:35", "logout": "14:35", "duration": "173+07:00"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Jul 8 13:44", "logout": "crash", "duration": "7+18:50"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Wed Jul 8 13:12", "logout": "crash", "duration": "7+19:22"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Wed Jul 8 11:27", "logout": "14:35", "duration": "181+04:08"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Jun 26 11:53", "logout": "crash", "duration": "11+23:33"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Jun 26 11:52", "logout": "14:35", "duration": "193+03:43"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Jun 23 15:23", "logout": "15:27", "duration": "00:03"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Jun 23 15:23", "logout": "15:27", "duration": "00:04"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri Jun 19 10:47", "logout": "crash", "duration": "4+04:36"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri Jun 19 10:46", "logout": "crash", "duration": "4+04:36"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Jun 19 10:29", "logout": "15:27", "duration": "4+04:58"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Mon Jun 8 10:30", "logout": "crash", "duration": "10+23:58"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Mon Jun 8 10:30", "logout": "crash", "duration": "10+23:58"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Mon Jun 8 10:30", "logout": "15:27", "duration": "15+04:57"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Jun 2 12:05", "logout": "15:27", "duration": "21+03:21"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Tue Jun 2 08:38", "logout": "crash", "duration": "03:26"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jun 2 08:38", "logout": "crash", "duration": "03:27"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Jun 2 06:13", "logout": "15:27", "duration": "21+09:13"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sun May 24 16:10", "logout": "17:18", "duration": "01:08"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Sun May 24 15:34", "logout": "crash", "duration": "8+14:39"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Sun May 24 15:34", "logout": "15:27", "duration": "29+23:53"}, {"user": "kbrazil", "tty": "pts/1", "hostname": "192.168.71.1", "login": "Fri May 22 13:39", "logout": "crash", "duration": "2+01:54"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri May 22 13:11", "logout": "crash", "duration": "2+02:22"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri May 22 13:10", "logout": "crash", "duration": "2+02:23"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri May 22 12:49", "logout": "15:27", "duration": "32+02:37"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri May 22 08:44", "logout": "crash", "duration": "04:05"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri May 22 08:44", "logout": "crash", "duration": "04:05"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri May 22 08:43", "logout": "15:27", "duration": "32+06:43"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Thu May 14 16:39", "logout": "crash", "duration": "7+16:04"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Thu May 14 16:39", "logout": "15:27", "duration": "39+22:48"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Wed May 13 10:23", "logout": "crash", "duration": "1+06:15"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Wed May 13 10:22", "logout": "crash", "duration": "1+06:16"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Wed May 13 09:51", "logout": "15:27", "duration": "41+05:35"}, {"user": "kbrazil", "tty": "pts/1", "hostname": "192.168.71.1", "login": "Wed Apr 15 13:00", "logout": "crash", "duration": "27+20:51"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Wed Apr 15 12:38", "logout": "13:01", "duration": "00:22"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Wed Apr 15 12:28", "logout": "20:44", "duration": "08:15"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Wed Apr 15 04:02", "logout": "15:27", "duration": "69+11:25"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Apr 14 16:02", "logout": "crash", "duration": "11:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Apr 14 16:02", "logout": "15:27", "duration": "69+23:25"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Apr 14 08:44", "logout": "10:00", "duration": "01:16"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Apr 14 06:57", "logout": "08:44", "duration": "01:47"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Apr 14 06:56", "logout": "15:27", "duration": "70+08:31"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Apr 7 17:33", "logout": "crash", "duration": "6+13:22"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Mon Apr 6 21:22", "logout": "22:42", "duration": "01:19"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Mon Apr 6 19:43", "logout": "19:45", "duration": "00:01"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sat Apr 4 17:31", "logout": "crash", "duration": "9+13:24"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Sat Apr 4 17:17", "logout": "15:27", "duration": "79+22:10"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sun Mar 29 12:42", "logout": "crash", "duration": "6+04:34"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Mar 24 11:21", "logout": "12:42", "duration": "5+01:20"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Mar 24 11:18", "logout": "11:21", "duration": "00:03"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Mar 24 10:57", "logout": "15:27", "duration": "91+04:30"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Mar 17 06:56", "logout": "crash", "duration": "7+04:00"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Mar 17 05:12", "logout": "15:27", "duration": "98+10:15"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Mar 12 10:12", "logout": "crash", "duration": "4+18:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Thu Mar 12 09:22", "logout": "15:27", "duration": "103+06:05"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Mar 11 13:29", "logout": "crash", "duration": "19:52"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Wed Mar 11 12:19", "logout": "15:27", "duration": "104+03:07"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Mar 10 17:53", "logout": "crash", "duration": "18:26"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Mar 10 17:52", "logout": "15:27", "duration": "104+21:34"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Mar 10 13:09", "logout": "crash", "duration": "04:43"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Mar 10 13:08", "logout": "15:27", "duration": "105+02:18"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sat Mar 7 18:13", "logout": "crash", "duration": "2+17:55"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Sat Mar 7 18:13", "logout": "15:27", "duration": "107+20:14"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Mar 5 14:48", "logout": "crash", "duration": "2+03:24"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Thu Mar 5 03:02", "logout": "15:27", "duration": "110+11:25"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Mar 2 19:53", "logout": "crash", "duration": "2+07:08"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Mon Mar 2 19:53", "logout": "15:27", "duration": "112+18:34"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sat Feb 29 18:43", "logout": "crash", "duration": "2+01:09"}, {"user": "kbrazil", "tty": "pts/1", "hostname": "192.168.71.1", "login": "Sat Feb 29 18:08", "logout": "18:28", "duration": "00:20"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sat Feb 29 15:16", "logout": "18:42", "duration": "03:26"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sat Feb 29 12:14", "logout": "crash", "duration": "2+07:38"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Sat Feb 29 12:13", "logout": "15:27", "duration": "115+02:13"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Feb 28 13:49", "logout": "crash", "duration": "22:23"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Feb 28 12:56", "logout": "15:27", "duration": "116+01:31"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 27 16:01", "logout": "crash", "duration": "20:54"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Thu Feb 27 15:51", "logout": "15:27", "duration": "116+22:35"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 27 10:50", "logout": "crash", "duration": "05:01"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Wed Feb 26 20:05", "logout": "15:27", "duration": "117+18:22"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 20 14:42", "logout": "crash", "duration": "6+05:23"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Thu Feb 20 14:41", "logout": "15:27", "duration": "123+23:45"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Feb 17 17:48", "logout": "crash", "duration": "2+20:52"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Mon Feb 17 17:48", "logout": "15:27", "duration": "126+20:38"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 13 16:44", "logout": "crash", "duration": "4+01:03"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Thu Feb 13 16:44", "logout": "15:27", "duration": "130+21:42"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Feb 5 14:23", "logout": "crash", "duration": "8+02:20"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Wed Feb 5 11:43", "logout": "15:27", "duration": "139+02:44"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Feb 4 14:28", "logout": "crash", "duration": "21:15"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Feb 4 01:28", "logout": "15:27", "duration": "140+12:59"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Jan 13 17:28", "logout": "crash", "duration": "21+07:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Mon Jan 13 16:16", "logout": "15:27", "duration": "161+22:11"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Dec 16 11:15", "logout": "crash", "duration": "28+05:01"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Mon Dec 16 11:14", "logout": "15:27", "duration": "190+03:12"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Dec 4 21:41", "logout": "crash", "duration": "11+13:33"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Wed Dec 4 21:40", "logout": "15:27", "duration": "201+16:46"}, {"user": "kbrazil", "tty": "pts/1", "hostname": null, "login": "Sat Nov 16 14:40", "logout": "14:40", "duration": "00:00"}, {"user": "kbrazil", "tty": "pts/1", "hostname": null, "login": "Sat Nov 16 14:39", "logout": "14:39", "duration": "00:00"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "localhost", "login": "Tue Nov 12 07:19", "logout": "crash", "duration": "22+14:21"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Nov 12 07:18", "logout": "crash", "duration": "22+14:22"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "localhost", "login": "Sun Nov 10 08:21", "logout": "15:22", "duration": "1+07:01"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sat Nov 9 10:34", "logout": "07:16", "duration": "2+20:42"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Sat Nov 9 10:34", "logout": "15:27", "duration": "227+03:53"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri Nov 8 07:49", "logout": "crash", "duration": "1+02:45"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri Nov 8 06:29", "logout": "crash", "duration": "1+04:04"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Nov 8 06:24", "logout": "crash", "duration": "1+04:09"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Nov 8 06:14", "logout": "15:27", "duration": "228+08:13"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Sun Nov 3 12:20", "logout": "crash", "duration": "4+17:54"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sun Nov 3 11:04", "logout": "11:05", "duration": "00:01"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sat Nov 2 19:26", "logout": "crash", "duration": "5+11:47"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Nov 1 15:14", "logout": "11:03", "duration": "1+20:49"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Nov 1 15:13", "logout": "15:27", "duration": "235+00:14"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Nov 1 11:16", "logout": "11:36", "duration": "00:20"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Nov 1 06:00", "logout": "11:36", "duration": "05:36"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Oct 29 18:17", "logout": "crash", "duration": "2+11:43"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Oct 29 18:16", "logout": "11:36", "duration": "2+17:19"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sat Oct 26 09:53", "logout": "15:13", "duration": "05:19"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Oct 25 18:22", "logout": "crash", "duration": "3+23:54"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Oct 25 18:21", "logout": "11:36", "duration": "6+17:14"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Oct 25 17:14", "logout": "18:21", "duration": "01:06"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Oct 25 17:13", "logout": "11:36", "duration": "6+18:22"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Oct 25 15:43", "logout": "17:13", "duration": "01:29"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Oct 25 13:29", "logout": "17:13", "duration": "03:44"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Oct 21 13:19", "logout": "19:22", "duration": "2+06:03"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Mon Oct 21 13:17", "logout": "19:22", "duration": "2+06:05"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Oct 16 03:23", "logout": "crash", "duration": "5+09:54"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Oct 15 16:49", "logout": "03:23", "duration": "10:34"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Oct 15 10:39", "logout": "16:48", "duration": "06:09"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.", "login": "Tue Oct 15 10:39", "logout": "19:22", "duration": "8+08:43"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 16:05", "logout": "16:05", "duration": "00:00"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.", "login": "Thu Aug 15 16:05", "logout": "16:05", "duration": "00:00"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.", "login": "Thu Aug 15 16:00", "logout": "16:05", "duration": "00:05"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 14:25", "logout": "crash", "duration": "01:35"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.", "login": "Thu Aug 15 14:24", "logout": "16:05", "duration": "01:41"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 11:58", "logout": "crash", "duration": "02:25"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.el7.x", "login": "Thu Aug 15 11:58", "logout": "16:05", "duration": "04:07"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 11:57", "logout": "11:57", "duration": "00:00"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.el7.x", "login": "Thu Aug 15 11:57", "logout": "16:05", "duration": "04:08"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Thu Aug 15 10:58", "logout": "11:56", "duration": "00:58"}, {"user": "root", "tty": "tty1", "hostname": null, "login": "Thu Aug 15 10:57", "logout": "11:56", "duration": "00:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.el7.x", "login": "Thu Aug 15 10:57", "logout": "11:56", "duration": "00:59"}] diff --git a/tests/fixtures/centos-7.7/last-crash.out b/tests/fixtures/centos-7.7/last-crash.out new file mode 100644 index 000000000..4e88ab969 --- /dev/null +++ b/tests/fixtures/centos-7.7/last-crash.out @@ -0,0 +1,184 @@ +kbrazil pts/0 kbrazil-mac.attl Tue Jan 5 14:29 still logged in +kbrazil tty1 Tue Jan 5 14:28 still logged in +reboot system boot 3.10.0-1062.1.2. Tue Jan 5 14:28 - 14:35 (00:07) +kbrazil tty1 Mon Jan 4 12:29 - crash (1+01:59) +reboot system boot 3.10.0-1062.1.2. Mon Jan 4 12:11 - 14:35 (1+02:24) +kbrazil pts/0 kbrazil-mac.attl Wed Dec 30 11:12 - crash (5+00:58) +reboot system boot 3.10.0-1062.1.2. Wed Dec 30 10:59 - 14:35 (6+03:35) +kbrazil pts/0 kbrazil-mac.attl Tue Dec 29 10:14 - crash (1+00:45) +kbrazil tty1 Tue Dec 29 10:11 - crash (1+00:48) +reboot system boot 3.10.0-1062.1.2. Tue Dec 29 10:11 - 14:35 (7+04:24) +kbrazil pts/0 kbrazil-mac.attl Wed Aug 12 15:21 - crash (138+19:49) +kbrazil tty1 Wed Aug 12 15:08 - crash (138+20:03) +reboot system boot 3.10.0-1062.1.2. Wed Aug 12 15:07 - 14:35 (146+00:28) +kbrazil pts/0 kbrazil-mac.attl Tue Aug 4 09:39 - crash (8+05:27) +kbrazil tty1 Tue Aug 4 09:39 - crash (8+05:28) +reboot system boot 3.10.0-1062.1.2. Tue Aug 4 09:30 - 14:35 (154+06:05) +kbrazil pts/0 kbrazil-mac.attl Sat Aug 1 08:58 - crash (3+00:32) +kbrazil tty1 Fri Jul 31 13:55 - crash (3+19:34) +reboot system boot 3.10.0-1062.1.2. Fri Jul 31 13:55 - 14:35 (158+01:40) +kbrazil pts/0 kbrazil-mac.attl Thu Jul 30 08:34 - crash (1+05:21) +kbrazil tty1 Thu Jul 30 08:31 - crash (1+05:24) +reboot system boot 3.10.0-1062.1.2. Thu Jul 30 08:31 - 14:35 (159+07:04) +kbrazil pts/0 kbrazil-mac.attl Tue Jul 28 19:23 - crash (1+13:07) +kbrazil tty1 Tue Jul 28 19:23 - crash (1+13:07) +reboot system boot 3.10.0-1062.1.2. Tue Jul 28 19:22 - 14:35 (160+20:13) +kbrazil pts/0 kbrazil-mac.attl Tue Jul 28 16:27 - crash (02:54) +kbrazil tty1 Tue Jul 28 16:27 - crash (02:55) +reboot system boot 3.10.0-1062.1.2. Tue Jul 28 13:22 - 14:35 (161+02:13) +kbrazil pts/0 kbrazil-mac.attl Tue Jul 28 00:13 - crash (13:08) +kbrazil pts/0 kbrazil-mac.attl Mon Jul 27 20:23 - 00:13 (03:49) +kbrazil tty1 Mon Jul 27 20:23 - crash (16:59) +reboot system boot 3.10.0-1062.1.2. Mon Jul 27 20:04 - 14:35 (161+19:31) +kbrazil pts/0 kbrazil-mac.attl Tue Jul 21 09:15 - crash (6+10:49) +kbrazil tty1 Tue Jul 21 09:15 - crash (6+10:49) +reboot system boot 3.10.0-1062.1.2. Tue Jul 21 09:14 - 14:35 (168+06:21) +kbrazil pts/1 kbrazil-mac.attl Fri Jul 17 19:12 - 19:13 (00:00) +kbrazil pts/0 192.168.71.1 Fri Jul 17 15:49 - crash (3+17:25) +kbrazil tty1 Fri Jul 17 15:48 - crash (3+17:26) +reboot system boot 3.10.0-1062.1.2. Fri Jul 17 15:48 - 14:35 (171+23:47) +kbrazil pts/0 kbrazil-mac.attl Fri Jul 17 01:52 - crash (13:56) +kbrazil pts/1 192.168.71.1 Thu Jul 16 14:48 - crash (1+00:59) +kbrazil pts/0 192.168.71.1 Thu Jul 16 14:10 - 16:26 (02:15) +kbrazil tty1 Thu Jul 16 14:09 - crash (1+01:38) +reboot system boot 3.10.0-1062.1.2. Thu Jul 16 08:35 - 14:35 (173+07:00) +kbrazil ttyS0 Wed Jul 8 13:44 - crash (7+18:50) +kbrazil tty1 Wed Jul 8 13:12 - crash (7+19:22) +reboot system boot 3.10.0-1062.1.2. Wed Jul 8 11:27 - 14:35 (181+04:08) +kbrazil ttyS0 Fri Jun 26 11:53 - crash (11+23:33) +reboot system boot 3.10.0-1062.1.2. Fri Jun 26 11:52 - 14:35 (193+03:43) +kbrazil ttyS0 Tue Jun 23 15:23 - 15:27 (00:03) +reboot system boot 3.10.0-1062.1.2. Tue Jun 23 15:23 - 15:27 (00:04) +kbrazil pts/0 192.168.71.1 Fri Jun 19 10:47 - crash (4+04:36) +kbrazil tty1 Fri Jun 19 10:46 - crash (4+04:36) +reboot system boot 3.10.0-1062.1.2. Fri Jun 19 10:29 - 15:27 (4+04:58) +kbrazil pts/0 192.168.71.1 Mon Jun 8 10:30 - crash (10+23:58) +kbrazil tty1 Mon Jun 8 10:30 - crash (10+23:58) +reboot system boot 3.10.0-1062.1.2. Mon Jun 8 10:30 - 15:27 (15+04:57) +reboot system boot 3.10.0-1062.1.2. Tue Jun 2 12:05 - 15:27 (21+03:21) +kbrazil pts/0 192.168.71.1 Tue Jun 2 08:38 - crash (03:26) +kbrazil tty1 Tue Jun 2 08:38 - crash (03:27) +reboot system boot 3.10.0-1062.1.2. Tue Jun 2 06:13 - 15:27 (21+09:13) +kbrazil pts/0 192.168.71.1 Sun May 24 16:10 - 17:18 (01:08) +kbrazil tty1 Sun May 24 15:34 - crash (8+14:39) +reboot system boot 3.10.0-1062.1.2. Sun May 24 15:34 - 15:27 (29+23:53) +kbrazil pts/1 192.168.71.1 Fri May 22 13:39 - crash (2+01:54) +kbrazil pts/0 192.168.71.1 Fri May 22 13:11 - crash (2+02:22) +kbrazil tty1 Fri May 22 13:10 - crash (2+02:23) +reboot system boot 3.10.0-1062.1.2. Fri May 22 12:49 - 15:27 (32+02:37) +kbrazil pts/0 192.168.71.1 Fri May 22 08:44 - crash (04:05) +kbrazil tty1 Fri May 22 08:44 - crash (04:05) +reboot system boot 3.10.0-1062.1.2. Fri May 22 08:43 - 15:27 (32+06:43) +kbrazil tty1 Thu May 14 16:39 - crash (7+16:04) +reboot system boot 3.10.0-1062.1.2. Thu May 14 16:39 - 15:27 (39+22:48) +kbrazil pts/0 192.168.71.1 Wed May 13 10:23 - crash (1+06:15) +kbrazil tty1 Wed May 13 10:22 - crash (1+06:16) +reboot system boot 3.10.0-1062.1.2. Wed May 13 09:51 - 15:27 (41+05:35) +kbrazil pts/1 192.168.71.1 Wed Apr 15 13:00 - crash (27+20:51) +kbrazil pts/0 192.168.71.1 Wed Apr 15 12:38 - 13:01 (00:22) +kbrazil tty1 Wed Apr 15 12:28 - 20:44 (08:15) +reboot system boot 3.10.0-1062.1.2. Wed Apr 15 04:02 - 15:27 (69+11:25) +kbrazil ttyS0 Tue Apr 14 16:02 - crash (11:59) +reboot system boot 3.10.0-1062.1.2. Tue Apr 14 16:02 - 15:27 (69+23:25) +kbrazil ttyS0 Tue Apr 14 08:44 - 10:00 (01:16) +kbrazil ttyS0 Tue Apr 14 06:57 - 08:44 (01:47) +reboot system boot 3.10.0-1062.1.2. Tue Apr 14 06:56 - 15:27 (70+08:31) +kbrazil tty1 Tue Apr 7 17:33 - crash (6+13:22) +kbrazil tty1 Mon Apr 6 21:22 - 22:42 (01:19) +kbrazil tty1 Mon Apr 6 19:43 - 19:45 (00:01) +kbrazil ttyS0 Sat Apr 4 17:31 - crash (9+13:24) +reboot system boot 3.10.0-1062.1.2. Sat Apr 4 17:17 - 15:27 (79+22:10) +kbrazil ttyS0 Sun Mar 29 12:42 - crash (6+04:34) +kbrazil ttyS0 Tue Mar 24 11:21 - 12:42 (5+01:20) +kbrazil ttyS0 Tue Mar 24 11:18 - 11:21 (00:03) +reboot system boot 3.10.0-1062.1.2. Tue Mar 24 10:57 - 15:27 (91+04:30) +kbrazil ttyS0 Tue Mar 17 06:56 - crash (7+04:00) +reboot system boot 3.10.0-1062.1.2. Tue Mar 17 05:12 - 15:27 (98+10:15) +kbrazil ttyS0 Thu Mar 12 10:12 - crash (4+18:59) +reboot system boot 3.10.0-1062.1.2. Thu Mar 12 09:22 - 15:27 (103+06:05) +kbrazil ttyS0 Wed Mar 11 13:29 - crash (19:52) +reboot system boot 3.10.0-1062.1.2. Wed Mar 11 12:19 - 15:27 (104+03:07) +kbrazil ttyS0 Tue Mar 10 17:53 - crash (18:26) +reboot system boot 3.10.0-1062.1.2. Tue Mar 10 17:52 - 15:27 (104+21:34) +kbrazil ttyS0 Tue Mar 10 13:09 - crash (04:43) +reboot system boot 3.10.0-1062.1.2. Tue Mar 10 13:08 - 15:27 (105+02:18) +kbrazil ttyS0 Sat Mar 7 18:13 - crash (2+17:55) +reboot system boot 3.10.0-1062.1.2. Sat Mar 7 18:13 - 15:27 (107+20:14) +kbrazil ttyS0 Thu Mar 5 14:48 - crash (2+03:24) +reboot system boot 3.10.0-1062.1.2. Thu Mar 5 03:02 - 15:27 (110+11:25) +kbrazil ttyS0 Mon Mar 2 19:53 - crash (2+07:08) +reboot system boot 3.10.0-1062.1.2. Mon Mar 2 19:53 - 15:27 (112+18:34) +kbrazil pts/0 192.168.71.1 Sat Feb 29 18:43 - crash (2+01:09) +kbrazil pts/1 192.168.71.1 Sat Feb 29 18:08 - 18:28 (00:20) +kbrazil pts/0 192.168.71.1 Sat Feb 29 15:16 - 18:42 (03:26) +kbrazil ttyS0 Sat Feb 29 12:14 - crash (2+07:38) +reboot system boot 3.10.0-1062.1.2. Sat Feb 29 12:13 - 15:27 (115+02:13) +kbrazil ttyS0 Fri Feb 28 13:49 - crash (22:23) +reboot system boot 3.10.0-1062.1.2. Fri Feb 28 12:56 - 15:27 (116+01:31) +kbrazil ttyS0 Thu Feb 27 16:01 - crash (20:54) +reboot system boot 3.10.0-1062.1.2. Thu Feb 27 15:51 - 15:27 (116+22:35) +kbrazil ttyS0 Thu Feb 27 10:50 - crash (05:01) +reboot system boot 3.10.0-1062.1.2. Wed Feb 26 20:05 - 15:27 (117+18:22) +kbrazil ttyS0 Thu Feb 20 14:42 - crash (6+05:23) +reboot system boot 3.10.0-1062.1.2. Thu Feb 20 14:41 - 15:27 (123+23:45) +kbrazil ttyS0 Mon Feb 17 17:48 - crash (2+20:52) +reboot system boot 3.10.0-1062.1.2. Mon Feb 17 17:48 - 15:27 (126+20:38) +kbrazil ttyS0 Thu Feb 13 16:44 - crash (4+01:03) +reboot system boot 3.10.0-1062.1.2. Thu Feb 13 16:44 - 15:27 (130+21:42) +kbrazil ttyS0 Wed Feb 5 14:23 - crash (8+02:20) +reboot system boot 3.10.0-1062.1.2. Wed Feb 5 11:43 - 15:27 (139+02:44) +kbrazil ttyS0 Tue Feb 4 14:28 - crash (21:15) +reboot system boot 3.10.0-1062.1.2. Tue Feb 4 01:28 - 15:27 (140+12:59) +kbrazil ttyS0 Mon Jan 13 17:28 - crash (21+07:59) +reboot system boot 3.10.0-1062.1.2. Mon Jan 13 16:16 - 15:27 (161+22:11) +kbrazil ttyS0 Mon Dec 16 11:15 - crash (28+05:01) +reboot system boot 3.10.0-1062.1.2. Mon Dec 16 11:14 - 15:27 (190+03:12) +kbrazil ttyS0 Wed Dec 4 21:41 - crash (11+13:33) +reboot system boot 3.10.0-1062.1.2. Wed Dec 4 21:40 - 15:27 (201+16:46) +kbrazil pts/1 Sat Nov 16 14:40 - 14:40 (00:00) +kbrazil pts/1 Sat Nov 16 14:39 - 14:39 (00:00) +kbrazil pts/0 localhost Tue Nov 12 07:19 - crash (22+14:21) +kbrazil ttyS0 Tue Nov 12 07:18 - crash (22+14:22) +kbrazil pts/0 localhost Sun Nov 10 08:21 - 15:22 (1+07:01) +kbrazil ttyS0 Sat Nov 9 10:34 - 07:16 (2+20:42) +reboot system boot 3.10.0-1062.1.2. Sat Nov 9 10:34 - 15:27 (227+03:53) +kbrazil tty1 Fri Nov 8 07:49 - crash (1+02:45) +kbrazil pts/0 192.168.71.1 Fri Nov 8 06:29 - crash (1+04:04) +kbrazil ttyS0 Fri Nov 8 06:24 - crash (1+04:09) +reboot system boot 3.10.0-1062.1.2. Fri Nov 8 06:14 - 15:27 (228+08:13) +kbrazil tty1 Sun Nov 3 12:20 - crash (4+17:54) +kbrazil ttyS0 Sun Nov 3 11:04 - 11:05 (00:01) +kbrazil pts/0 192.168.71.1 Sat Nov 2 19:26 - crash (5+11:47) +kbrazil ttyS0 Fri Nov 1 15:14 - 11:03 (1+20:49) +reboot system boot 3.10.0-1062.1.2. Fri Nov 1 15:13 - 15:27 (235+00:14) +kbrazil ttyS0 Fri Nov 1 11:16 - 11:36 (00:20) +reboot system boot 3.10.0-1062.1.2. Fri Nov 1 06:00 - 11:36 (05:36) +kbrazil ttyS0 Tue Oct 29 18:17 - crash (2+11:43) +reboot system boot 3.10.0-1062.1.2. Tue Oct 29 18:16 - 11:36 (2+17:19) +kbrazil pts/0 192.168.71.1 Sat Oct 26 09:53 - 15:13 (05:19) +kbrazil ttyS0 Fri Oct 25 18:22 - crash (3+23:54) +reboot system boot 3.10.0-1062.1.2. Fri Oct 25 18:21 - 11:36 (6+17:14) +kbrazil ttyS0 Fri Oct 25 17:14 - 18:21 (01:06) +reboot system boot 3.10.0-1062.1.2. Fri Oct 25 17:13 - 11:36 (6+18:22) +kbrazil ttyS0 Fri Oct 25 15:43 - 17:13 (01:29) +reboot system boot 3.10.0-1062.1.2. Fri Oct 25 13:29 - 17:13 (03:44) +kbrazil ttyS0 Mon Oct 21 13:19 - 19:22 (2+06:03) +reboot system boot 3.10.0-1062.1.2. Mon Oct 21 13:17 - 19:22 (2+06:05) +kbrazil ttyS0 Wed Oct 16 03:23 - crash (5+09:54) +kbrazil ttyS0 Tue Oct 15 16:49 - 03:23 (10:34) +kbrazil ttyS0 Tue Oct 15 10:39 - 16:48 (06:09) +reboot system boot 3.10.0-957.27.2. Tue Oct 15 10:39 - 19:22 (8+08:43) +kbrazil ttyS0 Thu Aug 15 16:05 - 16:05 (00:00) +reboot system boot 3.10.0-957.27.2. Thu Aug 15 16:05 - 16:05 (00:00) +reboot system boot 3.10.0-957.27.2. Thu Aug 15 16:00 - 16:05 (00:05) +kbrazil ttyS0 Thu Aug 15 14:25 - crash (01:35) +reboot system boot 3.10.0-957.27.2. Thu Aug 15 14:24 - 16:05 (01:41) +kbrazil ttyS0 Thu Aug 15 11:58 - crash (02:25) +reboot system boot 3.10.0-957.el7.x Thu Aug 15 11:58 - 16:05 (04:07) +kbrazil ttyS0 Thu Aug 15 11:57 - 11:57 (00:00) +reboot system boot 3.10.0-957.el7.x Thu Aug 15 11:57 - 16:05 (04:08) +kbrazil pts/0 192.168.71.1 Thu Aug 15 10:58 - 11:56 (00:58) +root tty1 Thu Aug 15 10:57 - 11:56 (00:59) +reboot system boot 3.10.0-957.el7.x Thu Aug 15 10:57 - 11:56 (00:59) + +wtmp begins Thu Aug 15 10:57:06 2019 diff --git a/tests/fixtures/centos-7.7/last-wF.json b/tests/fixtures/centos-7.7/last-wF.json new file mode 100644 index 000000000..35ae51325 --- /dev/null +++ b/tests/fixtures/centos-7.7/last-wF.json @@ -0,0 +1 @@ +[{"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Tue Jan 5 14:29:24 2021", "logout": "still logged in"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jan 5 14:28:41 2021", "logout": "still logged in"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Jan 5 14:28:28 2021", "logout": "Tue Jan 5 14:29:36 2021", "duration": "00:01"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Mon Jan 4 12:29:04 2021", "logout": "crash", "duration": "1+01:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Mon Jan 4 12:11:44 2021", "logout": "Tue Jan 5 14:29:36 2021", "duration": "1+02:17"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Wed Dec 30 11:12:50 2020", "logout": "crash", "duration": "5+00:58"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Wed Dec 30 10:59:51 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "6+03:29"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Tue Dec 29 10:14:19 2020", "logout": "crash", "duration": "1+00:45"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Dec 29 10:11:44 2020", "logout": "crash", "duration": "1+00:48"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Dec 29 10:11:28 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "7+04:18"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Wed Aug 12 15:21:36 2020", "logout": "crash", "duration": "138+19:49"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Wed Aug 12 15:08:20 2020", "logout": "crash", "duration": "138+20:03"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Wed Aug 12 15:07:27 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "146+00:22"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Tue Aug 4 09:39:30 2020", "logout": "crash", "duration": "8+05:27"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Aug 4 09:39:01 2020", "logout": "crash", "duration": "8+05:28"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Aug 4 09:30:24 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "154+05:59"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Sat Aug 1 08:58:14 2020", "logout": "crash", "duration": "3+00:32"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri Jul 31 13:55:56 2020", "logout": "crash", "duration": "3+19:34"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Jul 31 13:55:35 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "158+01:34"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Thu Jul 30 08:34:03 2020", "logout": "crash", "duration": "1+05:21"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Thu Jul 30 08:31:17 2020", "logout": "crash", "duration": "1+05:24"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Thu Jul 30 08:31:03 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "159+06:58"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Tue Jul 28 19:23:39 2020", "logout": "crash", "duration": "1+13:07"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jul 28 19:23:23 2020", "logout": "crash", "duration": "1+13:07"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Jul 28 19:22:40 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "160+20:06"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Tue Jul 28 16:27:59 2020", "logout": "crash", "duration": "02:54"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jul 28 16:27:26 2020", "logout": "crash", "duration": "02:55"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Jul 28 13:22:23 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "161+02:07"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Tue Jul 28 00:13:44 2020", "logout": "crash", "duration": "13:08"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Mon Jul 27 20:23:44 2020", "logout": "Tue Jul 28 00:13:35 2020", "duration": "03:49"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Mon Jul 27 20:23:17 2020", "logout": "crash", "duration": "16:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Mon Jul 27 20:04:44 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "161+19:24"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Tue Jul 21 09:15:29 2020", "logout": "crash", "duration": "6+10:49"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jul 21 09:15:07 2020", "logout": "crash", "duration": "6+10:49"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Jul 21 09:14:38 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "168+06:14"}, {"user": "kbrazil", "tty": "pts/1", "hostname": "kbrazil-mac.attlocal.net", "login": "Fri Jul 17 19:12:43 2020", "logout": "Fri Jul 17 19:13:04 2020", "duration": "00:00"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri Jul 17 15:49:03 2020", "logout": "crash", "duration": "3+17:25"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri Jul 17 15:48:35 2020", "logout": "crash", "duration": "3+17:26"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Jul 17 15:48:11 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "171+23:41"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Fri Jul 17 01:52:05 2020", "logout": "crash", "duration": "13:56"}, {"user": "kbrazil", "tty": "pts/1", "hostname": "192.168.71.1", "login": "Thu Jul 16 14:48:42 2020", "logout": "crash", "duration": "1+00:59"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Thu Jul 16 14:10:31 2020", "logout": "Thu Jul 16 16:26:07 2020", "duration": "02:15"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Thu Jul 16 14:09:55 2020", "logout": "crash", "duration": "1+01:38"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Thu Jul 16 08:35:02 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "173+06:54"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Jul 8 13:44:04 2020", "logout": "crash", "duration": "7+18:50"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Wed Jul 8 13:12:29 2020", "logout": "crash", "duration": "7+19:22"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Wed Jul 8 11:27:06 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "181+04:02"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Jun 26 11:53:28 2020", "logout": "crash", "duration": "11+23:33"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Jun 26 11:52:15 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "193+03:37"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Jun 23 15:23:50 2020", "logout": "Tue Jun 23 15:27:26 2020", "duration": "00:03"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Jun 23 15:23:25 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "00:04"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri Jun 19 10:47:07 2020", "logout": "crash", "duration": "4+04:36"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri Jun 19 10:46:46 2020", "logout": "crash", "duration": "4+04:36"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Jun 19 10:29:25 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "4+04:58"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Mon Jun 8 10:30:52 2020", "logout": "crash", "duration": "10+23:58"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Mon Jun 8 10:30:29 2020", "logout": "crash", "duration": "10+23:58"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Mon Jun 8 10:30:06 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "15+04:57"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Jun 2 12:05:38 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "21+03:21"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Tue Jun 2 08:38:47 2020", "logout": "crash", "duration": "03:26"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jun 2 08:38:36 2020", "logout": "crash", "duration": "03:27"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Jun 2 06:13:40 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "21+09:13"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sun May 24 16:10:42 2020", "logout": "Sun May 24 17:18:58 2020", "duration": "01:08"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Sun May 24 15:34:27 2020", "logout": "crash", "duration": "8+14:39"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Sun May 24 15:34:01 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "29+23:53"}, {"user": "kbrazil", "tty": "pts/1", "hostname": "192.168.71.1", "login": "Fri May 22 13:39:48 2020", "logout": "crash", "duration": "2+01:54"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri May 22 13:11:05 2020", "logout": "crash", "duration": "2+02:22"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri May 22 13:10:36 2020", "logout": "crash", "duration": "2+02:23"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri May 22 12:49:57 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "32+02:37"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri May 22 08:44:51 2020", "logout": "crash", "duration": "04:05"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri May 22 08:44:09 2020", "logout": "crash", "duration": "04:05"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri May 22 08:43:50 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "32+06:43"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Thu May 14 16:39:13 2020", "logout": "crash", "duration": "7+16:04"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Thu May 14 16:39:00 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "39+22:48"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Wed May 13 10:23:33 2020", "logout": "crash", "duration": "1+06:15"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Wed May 13 10:22:38 2020", "logout": "crash", "duration": "1+06:16"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Wed May 13 09:51:51 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "41+05:35"}, {"user": "kbrazil", "tty": "pts/1", "hostname": "192.168.71.1", "login": "Wed Apr 15 13:00:16 2020", "logout": "crash", "duration": "27+20:51"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Wed Apr 15 12:38:34 2020", "logout": "Wed Apr 15 13:01:29 2020", "duration": "00:22"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Wed Apr 15 12:28:46 2020", "logout": "Wed Apr 15 20:44:22 2020", "duration": "08:15"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Wed Apr 15 04:02:22 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "69+11:25"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Apr 14 16:02:37 2020", "logout": "crash", "duration": "11:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Apr 14 16:02:17 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "69+23:25"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Apr 14 08:44:45 2020", "logout": "Tue Apr 14 10:00:46 2020", "duration": "01:16"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Apr 14 06:57:27 2020", "logout": "Tue Apr 14 08:44:39 2020", "duration": "01:47"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Apr 14 06:56:01 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "70+08:31"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Apr 7 17:33:04 2020", "logout": "crash", "duration": "6+13:22"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Mon Apr 6 21:22:49 2020", "logout": "Mon Apr 6 22:42:06 2020", "duration": "01:19"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Mon Apr 6 19:43:25 2020", "logout": "Mon Apr 6 19:45:24 2020", "duration": "00:01"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sat Apr 4 17:31:48 2020", "logout": "crash", "duration": "9+13:24"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Sat Apr 4 17:17:00 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "79+22:10"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sun Mar 29 12:42:56 2020", "logout": "crash", "duration": "6+04:34"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Mar 24 11:21:56 2020", "logout": "Sun Mar 29 12:42:50 2020", "duration": "5+01:20"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Mar 24 11:18:00 2020", "logout": "Tue Mar 24 11:21:51 2020", "duration": "00:03"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Mar 24 10:57:02 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "91+04:30"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Mar 17 06:56:55 2020", "logout": "crash", "duration": "7+04:00"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Mar 17 05:12:10 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "98+10:15"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Mar 12 10:12:42 2020", "logout": "crash", "duration": "4+18:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Thu Mar 12 09:22:03 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "103+06:05"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Mar 11 13:29:24 2020", "logout": "crash", "duration": "19:52"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Wed Mar 11 12:19:59 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "104+03:07"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Mar 10 17:53:11 2020", "logout": "crash", "duration": "18:26"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Mar 10 17:52:57 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "104+21:34"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Mar 10 13:09:01 2020", "logout": "crash", "duration": "04:43"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Mar 10 13:08:45 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "105+02:18"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sat Mar 7 18:13:19 2020", "logout": "crash", "duration": "2+17:55"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Sat Mar 7 18:13:04 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "107+20:14"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Mar 5 14:48:23 2020", "logout": "crash", "duration": "2+03:24"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Thu Mar 5 03:02:06 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "110+11:25"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Mar 2 19:53:22 2020", "logout": "crash", "duration": "2+07:08"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Mon Mar 2 19:53:07 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "112+18:34"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sat Feb 29 18:43:55 2020", "logout": "crash", "duration": "2+01:09"}, {"user": "kbrazil", "tty": "pts/1", "hostname": "192.168.71.1", "login": "Sat Feb 29 18:08:17 2020", "logout": "Sat Feb 29 18:28:47 2020", "duration": "00:20"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sat Feb 29 15:16:16 2020", "logout": "Sat Feb 29 18:42:49 2020", "duration": "03:26"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sat Feb 29 12:14:10 2020", "logout": "crash", "duration": "2+07:38"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Sat Feb 29 12:13:44 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "115+02:13"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Feb 28 13:49:56 2020", "logout": "crash", "duration": "22:23"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Feb 28 12:56:05 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "116+01:31"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 27 16:01:25 2020", "logout": "crash", "duration": "20:54"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Thu Feb 27 15:51:42 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "116+22:35"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 27 10:50:36 2020", "logout": "crash", "duration": "05:01"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Wed Feb 26 20:05:10 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "117+18:22"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 20 14:42:01 2020", "logout": "crash", "duration": "6+05:23"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Thu Feb 20 14:41:39 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "123+23:45"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Feb 17 17:48:58 2020", "logout": "crash", "duration": "2+20:52"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Mon Feb 17 17:48:37 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "126+20:38"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 13 16:44:51 2020", "logout": "crash", "duration": "4+01:03"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Thu Feb 13 16:44:31 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "130+21:42"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Feb 5 14:23:46 2020", "logout": "crash", "duration": "8+02:20"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Wed Feb 5 11:43:15 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "139+02:44"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Feb 4 14:28:14 2020", "logout": "crash", "duration": "21:15"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Feb 4 01:28:02 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "140+12:59"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Jan 13 17:28:13 2020", "logout": "crash", "duration": "21+07:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Mon Jan 13 16:16:04 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "161+22:11"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Dec 16 11:15:00 2019", "logout": "crash", "duration": "28+05:01"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Mon Dec 16 11:14:30 2019", "logout": "Tue Jun 23 15:27:28 2020", "duration": "190+03:12"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Dec 4 21:41:25 2019", "logout": "crash", "duration": "11+13:33"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Wed Dec 4 21:40:48 2019", "logout": "Tue Jun 23 15:27:28 2020", "duration": "201+16:46"}, {"user": "kbrazil", "tty": "pts/1", "hostname": null, "login": "Sat Nov 16 14:40:36 2019", "logout": "Sat Nov 16 14:40:41 2019", "duration": "00:00"}, {"user": "kbrazil", "tty": "pts/1", "hostname": null, "login": "Sat Nov 16 14:39:29 2019", "logout": "Sat Nov 16 14:39:42 2019", "duration": "00:00"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "localhost", "login": "Tue Nov 12 07:19:39 2019", "logout": "crash", "duration": "22+14:21"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Nov 12 07:18:40 2019", "logout": "crash", "duration": "22+14:22"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "localhost", "login": "Sun Nov 10 08:21:36 2019", "logout": "Mon Nov 11 15:22:36 2019", "duration": "1+07:01"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sat Nov 9 10:34:48 2019", "logout": "Tue Nov 12 07:16:59 2019", "duration": "2+20:42"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Sat Nov 9 10:34:26 2019", "logout": "Tue Jun 23 15:27:28 2020", "duration": "227+03:53"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri Nov 8 07:49:24 2019", "logout": "crash", "duration": "1+02:45"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri Nov 8 06:29:41 2019", "logout": "crash", "duration": "1+04:04"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Nov 8 06:24:27 2019", "logout": "crash", "duration": "1+04:09"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Nov 8 06:14:17 2019", "logout": "Tue Jun 23 15:27:28 2020", "duration": "228+08:13"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Sun Nov 3 12:20:05 2019", "logout": "crash", "duration": "4+17:54"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sun Nov 3 11:04:48 2019", "logout": "Sun Nov 3 11:05:50 2019", "duration": "00:01"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sat Nov 2 19:26:52 2019", "logout": "crash", "duration": "5+11:47"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Nov 1 15:14:12 2019", "logout": "Sun Nov 3 11:03:55 2019", "duration": "1+20:49"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Nov 1 15:13:19 2019", "logout": "Tue Jun 23 15:27:28 2020", "duration": "235+00:14"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Nov 1 11:16:36 2019", "logout": "Fri Nov 1 11:36:43 2019", "duration": "00:20"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Nov 1 06:00:15 2019", "logout": "Fri Nov 1 11:36:44 2019", "duration": "05:36"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Oct 29 18:17:00 2019", "logout": "crash", "duration": "2+11:43"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Oct 29 18:16:45 2019", "logout": "Fri Nov 1 11:36:44 2019", "duration": "2+17:19"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sat Oct 26 09:53:36 2019", "logout": "Sat Oct 26 15:13:20 2019", "duration": "05:19"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Oct 25 18:22:10 2019", "logout": "crash", "duration": "3+23:54"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Oct 25 18:21:45 2019", "logout": "Fri Nov 1 11:36:44 2019", "duration": "6+17:14"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Oct 25 17:14:54 2019", "logout": "Fri Oct 25 18:21:32 2019", "duration": "01:06"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Oct 25 17:13:49 2019", "logout": "Fri Nov 1 11:36:44 2019", "duration": "6+18:22"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Oct 25 15:43:55 2019", "logout": "Fri Oct 25 17:13:43 2019", "duration": "01:29"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Oct 25 13:29:01 2019", "logout": "Fri Oct 25 17:13:45 2019", "duration": "03:44"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Oct 21 13:19:30 2019", "logout": "Wed Oct 23 19:22:56 2019", "duration": "2+06:03"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Mon Oct 21 13:17:47 2019", "logout": "Wed Oct 23 19:22:58 2019", "duration": "2+06:05"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Oct 16 03:23:21 2019", "logout": "crash", "duration": "5+09:54"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Oct 15 16:49:02 2019", "logout": "Wed Oct 16 03:23:15 2019", "duration": "10:34"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Oct 15 10:39:44 2019", "logout": "Tue Oct 15 16:48:54 2019", "duration": "06:09"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.el7.x86_64", "login": "Tue Oct 15 10:39:10 2019", "logout": "Wed Oct 23 19:22:58 2019", "duration": "8+08:43"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 16:05:30 2019", "logout": "Thu Aug 15 16:05:50 2019", "duration": "00:00"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.el7.x86_64", "login": "Thu Aug 15 16:05:10 2019", "logout": "Thu Aug 15 16:05:52 2019", "duration": "00:00"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.el7.x86_64", "login": "Thu Aug 15 16:00:45 2019", "logout": "Thu Aug 15 16:05:52 2019", "duration": "00:05"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 14:25:00 2019", "logout": "crash", "duration": "01:35"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.el7.x86_64", "login": "Thu Aug 15 14:24:43 2019", "logout": "Thu Aug 15 16:05:52 2019", "duration": "01:41"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 11:58:46 2019", "logout": "crash", "duration": "02:25"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.el7.x86_64", "login": "Thu Aug 15 11:58:06 2019", "logout": "Thu Aug 15 16:05:52 2019", "duration": "04:07"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 11:57:28 2019", "logout": "Thu Aug 15 11:57:40 2019", "duration": "00:00"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.el7.x86_64", "login": "Thu Aug 15 11:57:07 2019", "logout": "Thu Aug 15 16:05:52 2019", "duration": "04:08"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Thu Aug 15 10:58:29 2019", "logout": "Thu Aug 15 11:56:42 2019", "duration": "00:58"}, {"user": "root", "tty": "tty1", "hostname": null, "login": "Thu Aug 15 10:57:26 2019", "logout": "Thu Aug 15 11:56:42 2019", "duration": "00:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.el7.x86_64", "login": "Thu Aug 15 10:57:06 2019", "logout": "Thu Aug 15 11:56:44 2019", "duration": "00:59"}] diff --git a/tests/fixtures/centos-7.7/last-wF.out b/tests/fixtures/centos-7.7/last-wF.out new file mode 100644 index 000000000..ac28f78cf --- /dev/null +++ b/tests/fixtures/centos-7.7/last-wF.out @@ -0,0 +1,184 @@ +kbrazil pts/0 kbrazil-mac.attlocal.net Tue Jan 5 14:29:24 2021 still logged in +kbrazil tty1 Tue Jan 5 14:28:41 2021 still logged in +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Tue Jan 5 14:28:28 2021 - Tue Jan 5 14:29:36 2021 (00:01) +kbrazil tty1 Mon Jan 4 12:29:04 2021 - crash (1+01:59) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Mon Jan 4 12:11:44 2021 - Tue Jan 5 14:29:36 2021 (1+02:17) +kbrazil pts/0 kbrazil-mac.attlocal.net Wed Dec 30 11:12:50 2020 - crash (5+00:58) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Wed Dec 30 10:59:51 2020 - Tue Jan 5 14:29:36 2021 (6+03:29) +kbrazil pts/0 kbrazil-mac.attlocal.net Tue Dec 29 10:14:19 2020 - crash (1+00:45) +kbrazil tty1 Tue Dec 29 10:11:44 2020 - crash (1+00:48) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Tue Dec 29 10:11:28 2020 - Tue Jan 5 14:29:36 2021 (7+04:18) +kbrazil pts/0 kbrazil-mac.attlocal.net Wed Aug 12 15:21:36 2020 - crash (138+19:49) +kbrazil tty1 Wed Aug 12 15:08:20 2020 - crash (138+20:03) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Wed Aug 12 15:07:27 2020 - Tue Jan 5 14:29:36 2021 (146+00:22) +kbrazil pts/0 kbrazil-mac.attlocal.net Tue Aug 4 09:39:30 2020 - crash (8+05:27) +kbrazil tty1 Tue Aug 4 09:39:01 2020 - crash (8+05:28) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Tue Aug 4 09:30:24 2020 - Tue Jan 5 14:29:36 2021 (154+05:59) +kbrazil pts/0 kbrazil-mac.attlocal.net Sat Aug 1 08:58:14 2020 - crash (3+00:32) +kbrazil tty1 Fri Jul 31 13:55:56 2020 - crash (3+19:34) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Fri Jul 31 13:55:35 2020 - Tue Jan 5 14:29:36 2021 (158+01:34) +kbrazil pts/0 kbrazil-mac.attlocal.net Thu Jul 30 08:34:03 2020 - crash (1+05:21) +kbrazil tty1 Thu Jul 30 08:31:17 2020 - crash (1+05:24) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Thu Jul 30 08:31:03 2020 - Tue Jan 5 14:29:36 2021 (159+06:58) +kbrazil pts/0 kbrazil-mac.attlocal.net Tue Jul 28 19:23:39 2020 - crash (1+13:07) +kbrazil tty1 Tue Jul 28 19:23:23 2020 - crash (1+13:07) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Tue Jul 28 19:22:40 2020 - Tue Jan 5 14:29:36 2021 (160+20:06) +kbrazil pts/0 kbrazil-mac.attlocal.net Tue Jul 28 16:27:59 2020 - crash (02:54) +kbrazil tty1 Tue Jul 28 16:27:26 2020 - crash (02:55) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Tue Jul 28 13:22:23 2020 - Tue Jan 5 14:29:36 2021 (161+02:07) +kbrazil pts/0 kbrazil-mac.attlocal.net Tue Jul 28 00:13:44 2020 - crash (13:08) +kbrazil pts/0 kbrazil-mac.attlocal.net Mon Jul 27 20:23:44 2020 - Tue Jul 28 00:13:35 2020 (03:49) +kbrazil tty1 Mon Jul 27 20:23:17 2020 - crash (16:59) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Mon Jul 27 20:04:44 2020 - Tue Jan 5 14:29:36 2021 (161+19:24) +kbrazil pts/0 kbrazil-mac.attlocal.net Tue Jul 21 09:15:29 2020 - crash (6+10:49) +kbrazil tty1 Tue Jul 21 09:15:07 2020 - crash (6+10:49) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Tue Jul 21 09:14:38 2020 - Tue Jan 5 14:29:36 2021 (168+06:14) +kbrazil pts/1 kbrazil-mac.attlocal.net Fri Jul 17 19:12:43 2020 - Fri Jul 17 19:13:04 2020 (00:00) +kbrazil pts/0 192.168.71.1 Fri Jul 17 15:49:03 2020 - crash (3+17:25) +kbrazil tty1 Fri Jul 17 15:48:35 2020 - crash (3+17:26) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Fri Jul 17 15:48:11 2020 - Tue Jan 5 14:29:36 2021 (171+23:41) +kbrazil pts/0 kbrazil-mac.attlocal.net Fri Jul 17 01:52:05 2020 - crash (13:56) +kbrazil pts/1 192.168.71.1 Thu Jul 16 14:48:42 2020 - crash (1+00:59) +kbrazil pts/0 192.168.71.1 Thu Jul 16 14:10:31 2020 - Thu Jul 16 16:26:07 2020 (02:15) +kbrazil tty1 Thu Jul 16 14:09:55 2020 - crash (1+01:38) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Thu Jul 16 08:35:02 2020 - Tue Jan 5 14:29:36 2021 (173+06:54) +kbrazil ttyS0 Wed Jul 8 13:44:04 2020 - crash (7+18:50) +kbrazil tty1 Wed Jul 8 13:12:29 2020 - crash (7+19:22) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Wed Jul 8 11:27:06 2020 - Tue Jan 5 14:29:36 2021 (181+04:02) +kbrazil ttyS0 Fri Jun 26 11:53:28 2020 - crash (11+23:33) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Fri Jun 26 11:52:15 2020 - Tue Jan 5 14:29:36 2021 (193+03:37) +kbrazil ttyS0 Tue Jun 23 15:23:50 2020 - Tue Jun 23 15:27:26 2020 (00:03) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Tue Jun 23 15:23:25 2020 - Tue Jun 23 15:27:28 2020 (00:04) +kbrazil pts/0 192.168.71.1 Fri Jun 19 10:47:07 2020 - crash (4+04:36) +kbrazil tty1 Fri Jun 19 10:46:46 2020 - crash (4+04:36) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Fri Jun 19 10:29:25 2020 - Tue Jun 23 15:27:28 2020 (4+04:58) +kbrazil pts/0 192.168.71.1 Mon Jun 8 10:30:52 2020 - crash (10+23:58) +kbrazil tty1 Mon Jun 8 10:30:29 2020 - crash (10+23:58) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Mon Jun 8 10:30:06 2020 - Tue Jun 23 15:27:28 2020 (15+04:57) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Tue Jun 2 12:05:38 2020 - Tue Jun 23 15:27:28 2020 (21+03:21) +kbrazil pts/0 192.168.71.1 Tue Jun 2 08:38:47 2020 - crash (03:26) +kbrazil tty1 Tue Jun 2 08:38:36 2020 - crash (03:27) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Tue Jun 2 06:13:40 2020 - Tue Jun 23 15:27:28 2020 (21+09:13) +kbrazil pts/0 192.168.71.1 Sun May 24 16:10:42 2020 - Sun May 24 17:18:58 2020 (01:08) +kbrazil tty1 Sun May 24 15:34:27 2020 - crash (8+14:39) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Sun May 24 15:34:01 2020 - Tue Jun 23 15:27:28 2020 (29+23:53) +kbrazil pts/1 192.168.71.1 Fri May 22 13:39:48 2020 - crash (2+01:54) +kbrazil pts/0 192.168.71.1 Fri May 22 13:11:05 2020 - crash (2+02:22) +kbrazil tty1 Fri May 22 13:10:36 2020 - crash (2+02:23) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Fri May 22 12:49:57 2020 - Tue Jun 23 15:27:28 2020 (32+02:37) +kbrazil pts/0 192.168.71.1 Fri May 22 08:44:51 2020 - crash (04:05) +kbrazil tty1 Fri May 22 08:44:09 2020 - crash (04:05) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Fri May 22 08:43:50 2020 - Tue Jun 23 15:27:28 2020 (32+06:43) +kbrazil tty1 Thu May 14 16:39:13 2020 - crash (7+16:04) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Thu May 14 16:39:00 2020 - Tue Jun 23 15:27:28 2020 (39+22:48) +kbrazil pts/0 192.168.71.1 Wed May 13 10:23:33 2020 - crash (1+06:15) +kbrazil tty1 Wed May 13 10:22:38 2020 - crash (1+06:16) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Wed May 13 09:51:51 2020 - Tue Jun 23 15:27:28 2020 (41+05:35) +kbrazil pts/1 192.168.71.1 Wed Apr 15 13:00:16 2020 - crash (27+20:51) +kbrazil pts/0 192.168.71.1 Wed Apr 15 12:38:34 2020 - Wed Apr 15 13:01:29 2020 (00:22) +kbrazil tty1 Wed Apr 15 12:28:46 2020 - Wed Apr 15 20:44:22 2020 (08:15) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Wed Apr 15 04:02:22 2020 - Tue Jun 23 15:27:28 2020 (69+11:25) +kbrazil ttyS0 Tue Apr 14 16:02:37 2020 - crash (11:59) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Tue Apr 14 16:02:17 2020 - Tue Jun 23 15:27:28 2020 (69+23:25) +kbrazil ttyS0 Tue Apr 14 08:44:45 2020 - Tue Apr 14 10:00:46 2020 (01:16) +kbrazil ttyS0 Tue Apr 14 06:57:27 2020 - Tue Apr 14 08:44:39 2020 (01:47) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Tue Apr 14 06:56:01 2020 - Tue Jun 23 15:27:28 2020 (70+08:31) +kbrazil tty1 Tue Apr 7 17:33:04 2020 - crash (6+13:22) +kbrazil tty1 Mon Apr 6 21:22:49 2020 - Mon Apr 6 22:42:06 2020 (01:19) +kbrazil tty1 Mon Apr 6 19:43:25 2020 - Mon Apr 6 19:45:24 2020 (00:01) +kbrazil ttyS0 Sat Apr 4 17:31:48 2020 - crash (9+13:24) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Sat Apr 4 17:17:00 2020 - Tue Jun 23 15:27:28 2020 (79+22:10) +kbrazil ttyS0 Sun Mar 29 12:42:56 2020 - crash (6+04:34) +kbrazil ttyS0 Tue Mar 24 11:21:56 2020 - Sun Mar 29 12:42:50 2020 (5+01:20) +kbrazil ttyS0 Tue Mar 24 11:18:00 2020 - Tue Mar 24 11:21:51 2020 (00:03) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Tue Mar 24 10:57:02 2020 - Tue Jun 23 15:27:28 2020 (91+04:30) +kbrazil ttyS0 Tue Mar 17 06:56:55 2020 - crash (7+04:00) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Tue Mar 17 05:12:10 2020 - Tue Jun 23 15:27:28 2020 (98+10:15) +kbrazil ttyS0 Thu Mar 12 10:12:42 2020 - crash (4+18:59) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Thu Mar 12 09:22:03 2020 - Tue Jun 23 15:27:28 2020 (103+06:05) +kbrazil ttyS0 Wed Mar 11 13:29:24 2020 - crash (19:52) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Wed Mar 11 12:19:59 2020 - Tue Jun 23 15:27:28 2020 (104+03:07) +kbrazil ttyS0 Tue Mar 10 17:53:11 2020 - crash (18:26) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Tue Mar 10 17:52:57 2020 - Tue Jun 23 15:27:28 2020 (104+21:34) +kbrazil ttyS0 Tue Mar 10 13:09:01 2020 - crash (04:43) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Tue Mar 10 13:08:45 2020 - Tue Jun 23 15:27:28 2020 (105+02:18) +kbrazil ttyS0 Sat Mar 7 18:13:19 2020 - crash (2+17:55) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Sat Mar 7 18:13:04 2020 - Tue Jun 23 15:27:28 2020 (107+20:14) +kbrazil ttyS0 Thu Mar 5 14:48:23 2020 - crash (2+03:24) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Thu Mar 5 03:02:06 2020 - Tue Jun 23 15:27:28 2020 (110+11:25) +kbrazil ttyS0 Mon Mar 2 19:53:22 2020 - crash (2+07:08) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Mon Mar 2 19:53:07 2020 - Tue Jun 23 15:27:28 2020 (112+18:34) +kbrazil pts/0 192.168.71.1 Sat Feb 29 18:43:55 2020 - crash (2+01:09) +kbrazil pts/1 192.168.71.1 Sat Feb 29 18:08:17 2020 - Sat Feb 29 18:28:47 2020 (00:20) +kbrazil pts/0 192.168.71.1 Sat Feb 29 15:16:16 2020 - Sat Feb 29 18:42:49 2020 (03:26) +kbrazil ttyS0 Sat Feb 29 12:14:10 2020 - crash (2+07:38) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Sat Feb 29 12:13:44 2020 - Tue Jun 23 15:27:28 2020 (115+02:13) +kbrazil ttyS0 Fri Feb 28 13:49:56 2020 - crash (22:23) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Fri Feb 28 12:56:05 2020 - Tue Jun 23 15:27:28 2020 (116+01:31) +kbrazil ttyS0 Thu Feb 27 16:01:25 2020 - crash (20:54) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Thu Feb 27 15:51:42 2020 - Tue Jun 23 15:27:28 2020 (116+22:35) +kbrazil ttyS0 Thu Feb 27 10:50:36 2020 - crash (05:01) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Wed Feb 26 20:05:10 2020 - Tue Jun 23 15:27:28 2020 (117+18:22) +kbrazil ttyS0 Thu Feb 20 14:42:01 2020 - crash (6+05:23) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Thu Feb 20 14:41:39 2020 - Tue Jun 23 15:27:28 2020 (123+23:45) +kbrazil ttyS0 Mon Feb 17 17:48:58 2020 - crash (2+20:52) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Mon Feb 17 17:48:37 2020 - Tue Jun 23 15:27:28 2020 (126+20:38) +kbrazil ttyS0 Thu Feb 13 16:44:51 2020 - crash (4+01:03) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Thu Feb 13 16:44:31 2020 - Tue Jun 23 15:27:28 2020 (130+21:42) +kbrazil ttyS0 Wed Feb 5 14:23:46 2020 - crash (8+02:20) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Wed Feb 5 11:43:15 2020 - Tue Jun 23 15:27:28 2020 (139+02:44) +kbrazil ttyS0 Tue Feb 4 14:28:14 2020 - crash (21:15) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Tue Feb 4 01:28:02 2020 - Tue Jun 23 15:27:28 2020 (140+12:59) +kbrazil ttyS0 Mon Jan 13 17:28:13 2020 - crash (21+07:59) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Mon Jan 13 16:16:04 2020 - Tue Jun 23 15:27:28 2020 (161+22:11) +kbrazil ttyS0 Mon Dec 16 11:15:00 2019 - crash (28+05:01) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Mon Dec 16 11:14:30 2019 - Tue Jun 23 15:27:28 2020 (190+03:12) +kbrazil ttyS0 Wed Dec 4 21:41:25 2019 - crash (11+13:33) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Wed Dec 4 21:40:48 2019 - Tue Jun 23 15:27:28 2020 (201+16:46) +kbrazil pts/1 Sat Nov 16 14:40:36 2019 - Sat Nov 16 14:40:41 2019 (00:00) +kbrazil pts/1 Sat Nov 16 14:39:29 2019 - Sat Nov 16 14:39:42 2019 (00:00) +kbrazil pts/0 localhost Tue Nov 12 07:19:39 2019 - crash (22+14:21) +kbrazil ttyS0 Tue Nov 12 07:18:40 2019 - crash (22+14:22) +kbrazil pts/0 localhost Sun Nov 10 08:21:36 2019 - Mon Nov 11 15:22:36 2019 (1+07:01) +kbrazil ttyS0 Sat Nov 9 10:34:48 2019 - Tue Nov 12 07:16:59 2019 (2+20:42) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Sat Nov 9 10:34:26 2019 - Tue Jun 23 15:27:28 2020 (227+03:53) +kbrazil tty1 Fri Nov 8 07:49:24 2019 - crash (1+02:45) +kbrazil pts/0 192.168.71.1 Fri Nov 8 06:29:41 2019 - crash (1+04:04) +kbrazil ttyS0 Fri Nov 8 06:24:27 2019 - crash (1+04:09) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Fri Nov 8 06:14:17 2019 - Tue Jun 23 15:27:28 2020 (228+08:13) +kbrazil tty1 Sun Nov 3 12:20:05 2019 - crash (4+17:54) +kbrazil ttyS0 Sun Nov 3 11:04:48 2019 - Sun Nov 3 11:05:50 2019 (00:01) +kbrazil pts/0 192.168.71.1 Sat Nov 2 19:26:52 2019 - crash (5+11:47) +kbrazil ttyS0 Fri Nov 1 15:14:12 2019 - Sun Nov 3 11:03:55 2019 (1+20:49) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Fri Nov 1 15:13:19 2019 - Tue Jun 23 15:27:28 2020 (235+00:14) +kbrazil ttyS0 Fri Nov 1 11:16:36 2019 - Fri Nov 1 11:36:43 2019 (00:20) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Fri Nov 1 06:00:15 2019 - Fri Nov 1 11:36:44 2019 (05:36) +kbrazil ttyS0 Tue Oct 29 18:17:00 2019 - crash (2+11:43) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Tue Oct 29 18:16:45 2019 - Fri Nov 1 11:36:44 2019 (2+17:19) +kbrazil pts/0 192.168.71.1 Sat Oct 26 09:53:36 2019 - Sat Oct 26 15:13:20 2019 (05:19) +kbrazil ttyS0 Fri Oct 25 18:22:10 2019 - crash (3+23:54) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Fri Oct 25 18:21:45 2019 - Fri Nov 1 11:36:44 2019 (6+17:14) +kbrazil ttyS0 Fri Oct 25 17:14:54 2019 - Fri Oct 25 18:21:32 2019 (01:06) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Fri Oct 25 17:13:49 2019 - Fri Nov 1 11:36:44 2019 (6+18:22) +kbrazil ttyS0 Fri Oct 25 15:43:55 2019 - Fri Oct 25 17:13:43 2019 (01:29) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Fri Oct 25 13:29:01 2019 - Fri Oct 25 17:13:45 2019 (03:44) +kbrazil ttyS0 Mon Oct 21 13:19:30 2019 - Wed Oct 23 19:22:56 2019 (2+06:03) +reboot system boot 3.10.0-1062.1.2.el7.x86_64 Mon Oct 21 13:17:47 2019 - Wed Oct 23 19:22:58 2019 (2+06:05) +kbrazil ttyS0 Wed Oct 16 03:23:21 2019 - crash (5+09:54) +kbrazil ttyS0 Tue Oct 15 16:49:02 2019 - Wed Oct 16 03:23:15 2019 (10:34) +kbrazil ttyS0 Tue Oct 15 10:39:44 2019 - Tue Oct 15 16:48:54 2019 (06:09) +reboot system boot 3.10.0-957.27.2.el7.x86_64 Tue Oct 15 10:39:10 2019 - Wed Oct 23 19:22:58 2019 (8+08:43) +kbrazil ttyS0 Thu Aug 15 16:05:30 2019 - Thu Aug 15 16:05:50 2019 (00:00) +reboot system boot 3.10.0-957.27.2.el7.x86_64 Thu Aug 15 16:05:10 2019 - Thu Aug 15 16:05:52 2019 (00:00) +reboot system boot 3.10.0-957.27.2.el7.x86_64 Thu Aug 15 16:00:45 2019 - Thu Aug 15 16:05:52 2019 (00:05) +kbrazil ttyS0 Thu Aug 15 14:25:00 2019 - crash (01:35) +reboot system boot 3.10.0-957.27.2.el7.x86_64 Thu Aug 15 14:24:43 2019 - Thu Aug 15 16:05:52 2019 (01:41) +kbrazil ttyS0 Thu Aug 15 11:58:46 2019 - crash (02:25) +reboot system boot 3.10.0-957.el7.x86_64 Thu Aug 15 11:58:06 2019 - Thu Aug 15 16:05:52 2019 (04:07) +kbrazil ttyS0 Thu Aug 15 11:57:28 2019 - Thu Aug 15 11:57:40 2019 (00:00) +reboot system boot 3.10.0-957.el7.x86_64 Thu Aug 15 11:57:07 2019 - Thu Aug 15 16:05:52 2019 (04:08) +kbrazil pts/0 192.168.71.1 Thu Aug 15 10:58:29 2019 - Thu Aug 15 11:56:42 2019 (00:58) +root tty1 Thu Aug 15 10:57:26 2019 - Thu Aug 15 11:56:42 2019 (00:59) +reboot system boot 3.10.0-957.el7.x86_64 Thu Aug 15 10:57:06 2019 - Thu Aug 15 11:56:44 2019 (00:59) + +wtmp begins Thu Aug 15 10:57:06 2019 diff --git a/tests/test_last.py b/tests/test_last.py index 4aca472d3..63df44bba 100644 --- a/tests/test_last.py +++ b/tests/test_last.py @@ -40,6 +40,12 @@ def setUp(self): with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/ubuntu-20.04/last-F.out'), 'r', encoding='utf-8') as f: self.ubuntu_20_4_last_F = f.read() + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/last-crash.out'), 'r', encoding='utf-8') as f: + self.centos_7_7_last_crash = f.read() + + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/last-wF.out'), 'r', encoding='utf-8') as f: + self.centos_7_7_last_wF = f.read() + # output with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/last.json'), 'r', encoding='utf-8') as f: self.centos_7_7_last_json = json.loads(f.read()) @@ -71,6 +77,12 @@ def setUp(self): with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/ubuntu-20.04/last-F.json'), 'r', encoding='utf-8') as f: self.ubuntu_20_4_last_F_json = json.loads(f.read()) + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/last-crash.json'), 'r', encoding='utf-8') as f: + self.centos_7_7_last_crash_json = json.loads(f.read()) + + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/last-wF.json'), 'r', encoding='utf-8') as f: + self.centos_7_7_last_wF_json = json.loads(f.read()) + def test_last_nodata(self): """ Test plain 'last' with no data @@ -137,6 +149,17 @@ def test_last_freebsd12(self): """ self.assertEqual(jc.parsers.last.parse(self.freebsd12_last, quiet=True), self.freebsd12_last_json) + def test_last_crash_centos_7_7(self): + """ + Test plain 'last' on Centos 7.7 with crash entries + """ + self.assertEqual(jc.parsers.last.parse(self.centos_7_7_last_crash, quiet=True), self.centos_7_7_last_crash_json) + + def test_last_wF_centos_7_7(self): + """ + Test 'last -wF' on Centos 7.7 + """ + self.assertEqual(jc.parsers.last.parse(self.centos_7_7_last_wF, quiet=True), self.centos_7_7_last_wF_json) if __name__ == '__main__': unittest.main() From 62748676aae3d5955191ed267215df33a5bd3a4d Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Tue, 5 Jan 2021 20:44:22 -0800 Subject: [PATCH 10/25] initial iw-scan parser --- jc/cli.py | 1 + jc/parsers/iw_scan.py | 224 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 225 insertions(+) create mode 100644 jc/parsers/iw_scan.py diff --git a/jc/cli.py b/jc/cli.py index d05a5c6dc..fedf67277 100644 --- a/jc/cli.py +++ b/jc/cli.py @@ -57,6 +57,7 @@ class info(): 'ifconfig', 'ini', 'iptables', + 'iw-scan', 'jobs', 'kv', 'last', diff --git a/jc/parsers/iw_scan.py b/jc/parsers/iw_scan.py new file mode 100644 index 000000000..731c5585f --- /dev/null +++ b/jc/parsers/iw_scan.py @@ -0,0 +1,224 @@ +"""jc - JSON CLI output utility `iw DEV scan` command output parser + +<> + +Usage (cli): + + $ iw dev wlan0 scan | jc --iw-scan + + or + + $ jc iw dev wlan0 scan + +Usage (module): + + import jc.parsers.iw-scan + result = jc.parsers.iw-scan.parse(iw-scan_command_output) + +Compatibility: + + 'linux' + +Examples: + + $ iw-scan | jc --iw-scan -p + [] + + $ iw-scan | jc --iw-scan -p -r + [] +""" +import jc.utils + + +class info(): + version = '0.5' + description = 'iw dev scan command parser' + author = 'Kelly Brazil' + author_email = 'kellyjonbrazil@gmail.com' + # details = 'enter any other details here' + + # compatible options: linux, darwin, cygwin, win32, aix, freebsd + compatible = ['linux'] + magic_commands = ['iw dev'] + + +__version__ = info.version + + +def process(proc_data): + """ + Final processing to conform to the schema. + + Parameters: + + proc_data: (List of Dictionaries) raw structured data to process + + Returns: + + List of Dictionaries. Structured data with the following schema: + + [ + { + "iw-scan": string, + "bar": boolean, + "baz": integer + } + ] + """ + + # rebuild output for added semantic information + return proc_data + +def post_parse(data): + # remove empty items + cleandata = [] + for ssid in data: + ssid = { k : v for k, v in ssid.items() if v} + cleandata.append(ssid) + + # remove asterisks from begining of values + for ssid in cleandata: + for key in ssid: + if ssid[key].startswith('*'): + ssid[key] = ssid[key][1:].strip() + + for item in cleandata: + if 'tsf' in item: + item['tsf_usec'] = item['tsf'].split()[0] + del item['tsf'] + + if 'sta_channel_width' in item: + item['sta_channel_width_mhz'] = item['sta_channel_width'].replace(' MHz', '') + del item['sta_channel_width'] + + if 'passive_dwell' in item: + item['passive_dwell_tus'] = item['passive_dwell'].replace(' TUs', '') + del item['passive_dwell'] + + if 'active_dwell' in item: + item['active_dwell_tus'] = item['active_dwell'].replace(' TUs', '') + del item['active_dwell'] + + if 'channel_width_trigger_scan_interval' in item: + item['channel_width_trigger_scan_interval_s'] = item['channel_width_trigger_scan_interval'].replace(' s', '') + del item['channel_width_trigger_scan_interval'] + + if 'scan_passive_total_per_channel' in item: + item['scan_passive_total_per_channel_tus'] = item['scan_passive_total_per_channel'].replace(' TUs', '') + del item['scan_passive_total_per_channel'] + + if 'scan_active_total_per_channel' in item: + item['scan_active_total_per_channel_tus'] = item['scan_active_total_per_channel'].replace(' TUs', '') + del item['scan_active_total_per_channel'] + + if 'beacon_interval' in item: + item['beacon_interval_tus'] = item['beacon_interval'].replace(' TUs', '') + del item['beacon_interval'] + + if 'signal' in item: + item['signal_dbm'] = item['signal'].replace(' dBm', '') + del item['signal'] + + if 'last_seen' in item: + item['last_seen_ms'] = item['last_seen'].replace(' ms ago', '') + del item['last_seen'] + + if 'supported_rates' in item: + selected_rates = [] + for rate in item['supported_rates'].split(): + if rate.endswith('*'): + selected_rates.append(rate.replace('*', '')) + item['selected_rates'] = selected_rates + item['supported_rates'] = item['supported_rates'].replace('*', '').split() + + if 'extended_supported_rates' in item: + item['extended_supported_rates'] = item['extended_supported_rates'].split() + + if 'obss_scan_activity_threshold' in item: + item['obss_scan_activity_threshold_percent'] = item['obss_scan_activity_threshold'].replace(' %', '') + del item['obss_scan_activity_threshold'] + + if 'ds_parameter_set' in item: + item['ds_parameter_set_channel'] = item['ds_parameter_set'].replace('channel ', '') + del item['ds_parameter_set'] + + if 'max_amsdu_length' in item: + item['max_amsdu_length_bytes'] = item['max_amsdu_length'].replace(' bytes', '') + del item['max_amsdu_length'] + + if 'available_admission_capacity' in item: + item['available_admission_capacity'] = item['available_admission_capacity'].replace(' [*32us]', '') + + if 'power_constraint' in item: + item['power_constraint_db'] = item['power_constraint'].replace(' dB', '') + del item['power_constraint'] + + if 'minimum_rx_ampdu_time_spacing' in item: + item['minimum_rx_ampdu_time_spacing_usec'] = item['minimum_rx_ampdu_time_spacing'].split()[0] + del item['minimum_rx_ampdu_time_spacing'] + + if 'vht_rx_highest_supported' in item: + item['vht_rx_highest_supported_mbps'] = item['vht_rx_highest_supported'].replace(' Mbps', '') + del item['vht_rx_highest_supported'] + + if 'vht_tx_highest_supported' in item: + item['vht_tx_highest_supported_mbps'] = item['vht_tx_highest_supported'].replace(' Mbps', '') + del item['vht_tx_highest_supported'] + + return process(cleandata) + +def parse(data, raw=False, quiet=False): + """ + Main text parsing function + + Parameters: + + data: (string) text data to parse + raw: (boolean) output preprocessed JSON if True + quiet: (boolean) suppress warning messages if True + + Returns: + + List of Dictionaries. Raw or processed structured data. + """ + if not quiet: + jc.utils.compatibility(__name__, info.compatible) + + raw_output = [] + section = {} + + if jc.utils.has_data(data): + + for line in filter(None, data.splitlines()): + if line.startswith('BSS'): + if section: + raw_output.append(section) + section = {} + + split_line = line.replace('(', ' ').replace(')', ' ').split() + section['mac_address'] = split_line[1] + section['interface'] = split_line[3] + + continue + + if line.startswith(' '): + # ignore problematic lines + if 'Maximum RX AMPDU length' in line: + continue + + split_line = line.split(':', maxsplit=1) + if len(split_line) == 2: + split_line[0] = split_line[0].lower().replace('*', '').replace('(', '').replace(')', '').replace(',', '').strip().replace(' ', '_') + section[split_line[0]] = split_line[1].strip() + + continue + + + + if section: + raw_output.append(section) + + if raw: + return raw_output + else: + return post_parse(raw_output) From e516e6b9466b29d40ec10070dd61551180eeef90 Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Tue, 5 Jan 2021 21:17:40 -0800 Subject: [PATCH 11/25] fix country/environment fields and process int/float conversions --- jc/parsers/iw_scan.py | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/jc/parsers/iw_scan.py b/jc/parsers/iw_scan.py index 731c5585f..ef0c0259d 100644 --- a/jc/parsers/iw_scan.py +++ b/jc/parsers/iw_scan.py @@ -66,7 +66,29 @@ def process(proc_data): ] """ - # rebuild output for added semantic information + # convert ints and floats for top-level keys + for item in proc_data: + for key in item: + try: + item[key] = int(item[key]) + except (Exception): + try: + item[key] = float(item[key]) + except (Exception): + pass + # convert ints and floats for lists + if isinstance(item[key], list): + new_list = [] + for list_item in item[key]: + try: + new_list.append(int(list_item)) + except (Exception): + try: + new_list.append(float(list_item)) + except (Exception): + pass + item[key] = new_list + return proc_data def post_parse(data): @@ -83,6 +105,12 @@ def post_parse(data): ssid[key] = ssid[key][1:].strip() for item in cleandata: + if 'country' in item: + country_split = item['country'].split() + item['country'] = country_split[0] + if len(country_split) > 1: + item['environment'] = country_split[2] + if 'tsf' in item: item['tsf_usec'] = item['tsf'].split()[0] del item['tsf'] From 567b8872538ac9f6b384b98741acd9794229d513 Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Tue, 5 Jan 2021 21:26:43 -0800 Subject: [PATCH 12/25] doc updates --- docgen.sh | 1 + docs/parsers/iw_scan.md | 160 ++++++++++++++++++++++++++++++++++++++++ jc/parsers/iw_scan.py | 103 +++++++++++++++++++++++--- 3 files changed, 252 insertions(+), 12 deletions(-) create mode 100644 docs/parsers/iw_scan.md diff --git a/docgen.sh b/docgen.sh index 16b4d268a..167e967de 100755 --- a/docgen.sh +++ b/docgen.sh @@ -32,6 +32,7 @@ pydocmd simple jc.parsers.id+ > ../docs/parsers/id.md pydocmd simple jc.parsers.ifconfig+ > ../docs/parsers/ifconfig.md pydocmd simple jc.parsers.ini+ > ../docs/parsers/ini.md pydocmd simple jc.parsers.iptables+ > ../docs/parsers/iptables.md +pydocmd simple jc.parsers.iw_scan+ > ../docs/parsers/iw_scan.md pydocmd simple jc.parsers.jobs+ > ../docs/parsers/jobs.md pydocmd simple jc.parsers.kv+ > ../docs/parsers/kv.md pydocmd simple jc.parsers.last+ > ../docs/parsers/last.md diff --git a/docs/parsers/iw_scan.md b/docs/parsers/iw_scan.md new file mode 100644 index 000000000..62fa3768e --- /dev/null +++ b/docs/parsers/iw_scan.md @@ -0,0 +1,160 @@ + +# jc.parsers.iw_scan +jc - JSON CLI output utility `iw DEV scan` command output parser + +This parser is considered beta quality. Not all fields are parsed. + +Usage (cli): + + $ iw dev wlan0 scan | jc --iw-scan + + or + + $ jc iw dev wlan0 scan + +Usage (module): + + import jc.parsers.iw-scan + result = jc.parsers.iw-scan.parse(iw-scan_command_output) + +Compatibility: + + 'linux' + +Examples: + + $ iw-scan | jc --iw-scan -p + [ + { + "mac_address": "71:31:72:65:e1:a2", + "interface": "wlan0", + "freq": 2462, + "capability": "ESS Privacy ShortSlotTime (0x0411)", + "ssid": "WLAN-1234", + "supported_rates": [ + 1.0, + 2.0, + 5.5, + 11.0, + 18.0, + 24.0, + 36.0, + 54.0 + ], + "erp": "", + "erp_d4.0": "", + "rsn": "Version: 1", + "group_cipher": "CCMP", + "pairwise_ciphers": "CCMP", + "authentication_suites": "PSK", + "capabilities": "0x186c", + "extended_supported_rates": [ + 6.0, + 9.0, + 12.0, + 48.0 + ], + "ht_rx_mcs_rate_indexes_supported": "0-15", + "primary_channel": 11, + "secondary_channel_offset": "no secondary", + "rifs": 1, + "ht_protection": "no", + "non-gf_present": 1, + "obss_non-gf_present": 0, + "dual_beacon": 0, + "dual_cts_protection": 0, + "stbc_beacon": 0, + "l-sig_txop_prot": 0, + "pco_active": 0, + "pco_phase": 0, + "bss_width_channel_transition_delay_factor": 5, + "extended_capabilities": "HT Information Exchange Supported", + "wmm": "Parameter version 1", + "be": "CW 15-1023, AIFSN 3", + "bk": "CW 15-1023, AIFSN 7", + "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", + "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", + "wps": "Version: 1.0", + "wi-fi_protected_setup_state": "2 (Configured)", + "selected_registrar": "0x0", + "response_type": "3 (AP)", + "uuid": "00000000-0000-0003-0000-75317074f1a2", + "manufacturer": "Corporation", + "model": "VGV8539JW", + "model_number": "1.47.000", + "serial_number": "J144024542", + "primary_device_type": "6-0050f204-1", + "device_name": "Wireless Router(WFA)", + "config_methods": "Label, PBC", + "rf_bands": "0x3", + "tsf_usec": 212098649788, + "sta_channel_width_mhz": 20, + "passive_dwell_tus": 20, + "active_dwell_tus": 10, + "channel_width_trigger_scan_interval_s": 300, + "scan_passive_total_per_channel_tus": 200, + "scan_active_total_per_channel_tus": 20, + "beacon_interval_tus": 100, + "signal_dbm": -80.0, + "last_seen_ms": 11420, + "selected_rates": [ + 1.0, + 2.0, + 5.5, + 11.0 + ], + "obss_scan_activity_threshold_percent": 0.25, + "ds_parameter_set_channel": 11, + "max_amsdu_length_bytes": 7935, + "minimum_rx_ampdu_time_spacing_usec": 16 + }, + ... + ] + + +## info +```python +info() +``` + + +## process +```python +process(proc_data) +``` + +Final processing to conform to the schema. + +Parameters: + + proc_data: (List of Dictionaries) raw structured data to process + +Returns: + + List of Dictionaries. Structured data with the following schema: + ] + { + "foo": string/integer/float, # best guess based on value + "bar": string/integer/float, + "baz": string/integer/float + } + ] + + +## parse +```python +parse(data, raw=False, quiet=False) +``` + +Main text parsing function + +Parameters: + + data: (string) text data to parse + raw: (boolean) output preprocessed JSON if True + quiet: (boolean) suppress warning messages if True + +Returns: + + List of Dictionaries. Raw or processed structured data. + diff --git a/jc/parsers/iw_scan.py b/jc/parsers/iw_scan.py index ef0c0259d..456689a34 100644 --- a/jc/parsers/iw_scan.py +++ b/jc/parsers/iw_scan.py @@ -1,6 +1,6 @@ """jc - JSON CLI output utility `iw DEV scan` command output parser -<> +This parser is considered beta quality. Not all fields are parsed. Usage (cli): @@ -22,10 +22,92 @@ Examples: $ iw-scan | jc --iw-scan -p - [] - - $ iw-scan | jc --iw-scan -p -r - [] + [ + { + "mac_address": "71:31:72:65:e1:a2", + "interface": "wlan0", + "freq": 2462, + "capability": "ESS Privacy ShortSlotTime (0x0411)", + "ssid": "WLAN-1234", + "supported_rates": [ + 1.0, + 2.0, + 5.5, + 11.0, + 18.0, + 24.0, + 36.0, + 54.0 + ], + "erp": "", + "erp_d4.0": "", + "rsn": "Version: 1", + "group_cipher": "CCMP", + "pairwise_ciphers": "CCMP", + "authentication_suites": "PSK", + "capabilities": "0x186c", + "extended_supported_rates": [ + 6.0, + 9.0, + 12.0, + 48.0 + ], + "ht_rx_mcs_rate_indexes_supported": "0-15", + "primary_channel": 11, + "secondary_channel_offset": "no secondary", + "rifs": 1, + "ht_protection": "no", + "non-gf_present": 1, + "obss_non-gf_present": 0, + "dual_beacon": 0, + "dual_cts_protection": 0, + "stbc_beacon": 0, + "l-sig_txop_prot": 0, + "pco_active": 0, + "pco_phase": 0, + "bss_width_channel_transition_delay_factor": 5, + "extended_capabilities": "HT Information Exchange Supported", + "wmm": "Parameter version 1", + "be": "CW 15-1023, AIFSN 3", + "bk": "CW 15-1023, AIFSN 7", + "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", + "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", + "wps": "Version: 1.0", + "wi-fi_protected_setup_state": "2 (Configured)", + "selected_registrar": "0x0", + "response_type": "3 (AP)", + "uuid": "00000000-0000-0003-0000-75317074f1a2", + "manufacturer": "Corporation", + "model": "VGV8539JW", + "model_number": "1.47.000", + "serial_number": "J144024542", + "primary_device_type": "6-0050f204-1", + "device_name": "Wireless Router(WFA)", + "config_methods": "Label, PBC", + "rf_bands": "0x3", + "tsf_usec": 212098649788, + "sta_channel_width_mhz": 20, + "passive_dwell_tus": 20, + "active_dwell_tus": 10, + "channel_width_trigger_scan_interval_s": 300, + "scan_passive_total_per_channel_tus": 200, + "scan_active_total_per_channel_tus": 20, + "beacon_interval_tus": 100, + "signal_dbm": -80.0, + "last_seen_ms": 11420, + "selected_rates": [ + 1.0, + 2.0, + 5.5, + 11.0 + ], + "obss_scan_activity_threshold_percent": 0.25, + "ds_parameter_set_channel": 11, + "max_amsdu_length_bytes": 7935, + "minimum_rx_ampdu_time_spacing_usec": 16 + }, + ... + ] """ import jc.utils @@ -56,12 +138,11 @@ def process(proc_data): Returns: List of Dictionaries. Structured data with the following schema: - - [ + ] { - "iw-scan": string, - "bar": boolean, - "baz": integer + "foo": string/integer/float, # best guess based on value + "bar": string/integer/float, + "baz": string/integer/float } ] """ @@ -241,8 +322,6 @@ def parse(data, raw=False, quiet=False): continue - - if section: raw_output.append(section) From f78fe771e1c2fb4691858fa7f27b1febe5f8c6c0 Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Tue, 5 Jan 2021 21:38:51 -0800 Subject: [PATCH 13/25] add iw-scan tests --- tests/fixtures/centos-7.7/iw-scan0.json | 1 + tests/fixtures/centos-7.7/iw-scan1.json | 1 + tests/test_iw_scan.py | 46 +++++++++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 tests/fixtures/centos-7.7/iw-scan0.json create mode 100644 tests/fixtures/centos-7.7/iw-scan1.json create mode 100644 tests/test_iw_scan.py diff --git a/tests/fixtures/centos-7.7/iw-scan0.json b/tests/fixtures/centos-7.7/iw-scan0.json new file mode 100644 index 000000000..053cb6520 --- /dev/null +++ b/tests/fixtures/centos-7.7/iw-scan0.json @@ -0,0 +1 @@ +[{"mac_address": "00:19:a9:cd:c6:80", "interface": "wlan0", "freq": 2412, "capability": "ESS ShortPreamble ShortSlotTime (0x0421)", "ssid": "Cisco1240", "supported_rates": [1.0, 2.0, 5.5, 6.0, 9.0, 11.0, 12.0, 18.0], "erp": "", "extended_supported_rates": [24.0, 36.0, 48.0, 54.0], "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "tsf_usec": 2984923701, "beacon_interval_tus": 100, "signal_dbm": -45.0, "last_seen_ms": 429, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 1}, {"mac_address": "d0:d0:fd:69:ca:70", "interface": "wlan0", "freq": 2462, "capability": "ESS ShortPreamble ShortSlotTime (0x0421)", "ssid": "Cisco1250", "supported_rates": [1.0, 2.0, 5.5, 6.0, 9.0, 11.0, 12.0, 18.0], "erp": "", "extended_supported_rates": [24.0, 36.0, 48.0, 54.0], "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "acm CW 3-7, AIFSN 2, TXOP 1504 usec", "tsf_usec": 2968648942, "beacon_interval_tus": 102, "signal_dbm": -70.0, "last_seen_ms": 328, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 11}] diff --git a/tests/fixtures/centos-7.7/iw-scan1.json b/tests/fixtures/centos-7.7/iw-scan1.json new file mode 100644 index 000000000..3e4326713 --- /dev/null +++ b/tests/fixtures/centos-7.7/iw-scan1.json @@ -0,0 +1 @@ +[{"mac_address": "ac:22:05:db:4d:5b", "interface": "wlan0", "freq": 2412, "capability": "ESS Privacy ShortSlotTime RadioMeasure (0x1411)", "ssid": "Hoeheitsgebiet", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "1-PTKSA-RC 1-GTKSA-RC (0x0000)", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 1, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "wpa": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP CCMP", "authentication_suites": "PSK", "rsn": "Version: 1", "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 1, "channel_utilisation": "103/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "327fd200-1dd2-11b2-8601-8e4aa01a9d4a", "manufacturer": "Ralink Technology, Corp.", "model": "Ralink Wireless Access Point", "model_number": "RT2860", "serial_number": 12345678, "primary_device_type": "6-0050f204-1", "device_name": "RalinkAPS", "rf_bands": "0x1", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "environment": "Indoor/Outdoor", "tsf_usec": 212106552475, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -57.0, "last_seen_ms": 3520, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 1, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"mac_address": "1c:b0:44:75:42:a5", "interface": "wlan0", "freq": 2457, "capability": "ESS Privacy ShortPreamble ShortSlotTime (0x0431)", "ssid": "o2-WLAN38", "supported_rates": [9.0, 18.0, 36.0, 54.0, 1.0, 2.0, 5.5, 11.0], "country": "DE", "erp": "", "capabilities": "1-PTKSA-RC 1-GTKSA-RC MFP-capable (0x0080)", "ht_rx_mcs_rate_indexes_supported": "0-15", "rsn": "Version: 1", "group_cipher": "CCMP", "pairwise_ciphers": "CCMP", "authentication_suites": "PSK", "group_mgmt_cipher_suite": "AES-128-CMAC", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "primary_channel": 10, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "bss_width_channel_transition_delay_factor": 5, "extended_capabilities": "HT Information Exchange Supported", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "b0493afc-202d-11b2-8a5b-1cb0447542a5", "manufacturer": "Askey", "model": "o2 HomeBox", "model_number": 6741, "serial_number": "A804016507-009096", "primary_device_type": "6-0050f204-1", "device_name": "o2 HomeBox 6741", "config_methods": "Keypad", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "environment": "Indoor/Outdoor", "tsf_usec": 212108020750, "sta_channel_width_mhz": 20, "passive_dwell_tus": 20, "active_dwell_tus": 10, "channel_width_trigger_scan_interval_s": 300, "scan_passive_total_per_channel_tus": 200, "scan_active_total_per_channel_tus": 20, "beacon_interval_tus": 100, "signal_dbm": -70.0, "last_seen_ms": 2050, "selected_rates": [1.0], "obss_scan_activity_threshold_percent": 100.0, "ds_parameter_set_channel": 10, "max_amsdu_length_bytes": 3839, "power_constraint_db": 0, "minimum_rx_ampdu_time_spacing_usec": 16}, {"mac_address": "34:2c:c4:34:3b:95", "interface": "wlan0", "freq": 2412, "capability": "ESS Privacy ShortSlotTime RadioMeasure (0x1411)", "ssid": "Medusa_13", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "1-PTKSA-RC 1-GTKSA-RC (0x0000)", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 1, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non-gf_present": 0, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "wpa": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP CCMP", "authentication_suites": "PSK", "rsn": "Version: 1", "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 0, "channel_utilisation": "90/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "314ea500-1dd2-11b2-8601-8e4aa01a9d4a", "manufacturer": "Ralink Technology, Corp.", "model": "Ralink Wireless Access Point", "model_number": "RT2860", "serial_number": 12345678, "primary_device_type": "6-0050f204-1", "device_name": "RalinkAPS", "rf_bands": "0x1", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "environment": "Indoor/Outdoor", "tsf_usec": 212096913717, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -77.0, "last_seen_ms": 13160, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 1, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"mac_address": "ac:22:05:e6:ff:41", "interface": "wlan0", "freq": 2462, "capability": "ESS Privacy RadioMeasure (0x1011)", "ssid": "UPCCDB29F5", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "1-PTKSA-RC 1-GTKSA-RC (0x0000)", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 11, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "wpa": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP CCMP", "authentication_suites": "PSK", "rsn": "Version: 1", "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 3, "channel_utilisation": "87/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "314ea500-1dd2-11b2-8601-8e4aa01a9d4a", "manufacturer": "Ralink Technology, Corp.", "model": "Ralink Wireless Access Point", "model_number": "RT2860", "serial_number": 12345678, "primary_device_type": "6-0050f204-1", "device_name": "RalinkAPS", "rf_bands": "0x1", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "environment": "Indoor/Outdoor", "tsf_usec": 212108270373, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -41.0, "last_seen_ms": 1750, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 11, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"mac_address": "ac:22:05:e6:ff:24", "interface": "wlan0", "freq": 5180, "capability": "ESS Privacy ShortPreamble SpectrumMgmt ShortSlotTime RadioMeasure (0x1531)", "ssid": "UPCCDB29F5", "supported_rates": [6.0, 9.0, 12.0, 18.0, 24.0, 36.0, 48.0, 54.0], "rsn": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP", "authentication_suites": "PSK", "capabilities": "0x6f", "ht_rx_mcs_rate_indexes_supported": "0-23, 32", "primary_channel": 36, "secondary_channel_offset": "above", "rifs": 0, "ht_protection": "no", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": 6, "max_mpdu_length": 3895, "supported_channel_width": "neither 160 nor 80+80", "1_streams": "MCS 0-9", "2_streams": "MCS 0-9", "3_streams": "MCS 0-9", "4_streams": "not supported", "5_streams": "not supported", "6_streams": "not supported", "7_streams": "not supported", "8_streams": "not supported", "channel_width": "1 (80 MHz)", "center_freq_segment_1": 42, "center_freq_segment_2": 0, "vht_basic_mcs_set": "0xffc0", "station_count": 3, "channel_utilisation": "35/255", "available_admission_capacity": 30000, "wpa": "Version: 1", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "314ea500-1dd2-11b2-8601-8e4aa01a9d4a", "manufacturer": "Marvell", "model": "WAP", "model_number": 123, "serial_number": 12345, "primary_device_type": "6-0050f204-1", "device_name": "5G wireless AP", "rf_bands": "0x2", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "tsf_usec": 212107576616, "sta_channel_width_mhz": "any", "beacon_interval_tus": 100, "signal_dbm": -30.0, "last_seen_ms": 130, "selected_rates": [6.0, 12.0, 24.0], "ds_parameter_set_channel": 36, "max_amsdu_length_bytes": 3839, "power_constraint_db": 3, "minimum_rx_ampdu_time_spacing_usec": 4, "vht_rx_highest_supported_mbps": 0, "vht_tx_highest_supported_mbps": 0}, {"mac_address": "a8:d3:f7:96:10:69", "interface": "wlan0", "freq": 2442, "capability": "ESS Privacy ShortPreamble ShortSlotTime (0x0431)", "ssid": "o2-WLAN34", "supported_rates": [9.0, 18.0, 36.0, 54.0, 1.0, 2.0, 5.5, 11.0], "country": "DE", "erp": "", "capabilities": "1-PTKSA-RC 1-GTKSA-RC (0x0000)", "ht_rx_mcs_rate_indexes_supported": "0-15", "rsn": "Version: 1", "group_cipher": "CCMP", "pairwise_ciphers": "CCMP", "authentication_suites": "PSK", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "primary_channel": 7, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "nonmember", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "bss_width_channel_transition_delay_factor": 5, "extended_capabilities": "HT Information Exchange Supported", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "4e9bd57c-8ebe-46d8-aa04-cdd3994f7288", "manufacturer": "Arcadyan", "model": "o2 HomeBox 6441", "model_number": "IAD 6441", "serial_number": "D512146595", "primary_device_type": "6-0050f204-1", "device_name": "D512146595-A8D3F7", "rf_bands": "0x3", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "environment": "Indoor/Outdoor", "tsf_usec": 212107440363, "sta_channel_width_mhz": 20, "passive_dwell_tus": 20, "active_dwell_tus": 10, "channel_width_trigger_scan_interval_s": 300, "scan_passive_total_per_channel_tus": 200, "scan_active_total_per_channel_tus": 20, "beacon_interval_tus": 100, "signal_dbm": -81.0, "last_seen_ms": 2630, "selected_rates": [1.0], "obss_scan_activity_threshold_percent": 100.0, "ds_parameter_set_channel": 7, "max_amsdu_length_bytes": 3839, "power_constraint_db": 0, "minimum_rx_ampdu_time_spacing_usec": 16}, {"mac_address": "54:fa:3e:87:1f:93", "interface": "wlan0", "freq": 2472, "capability": "ESS Privacy ShortSlotTime APSD (0x0c11)", "ssid": "moin moin", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "capabilities": "1-PTKSA-RC 1-GTKSA-RC (0x0000)", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 13, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "wpa": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP CCMP", "authentication_suites": "PSK", "rsn": "Version: 1", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "station_count": 1, "channel_utilisation": "26/255", "available_admission_capacity": 31250, "extended_capabilities": "HT Information Exchange Supported", "country": "DE", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "bc329e00-1dd8-11b2-8601-54fa3e871f93", "manufacturer": "Celeno Communication, Inc.", "model": "Celeno Wireless AP 2.4G", "model_number": "CL1800", "serial_number": 12345678, "primary_device_type": "6-0050f204-1", "device_name": "CelenoAP2.4G", "config_methods": "Display, PBC, Keypad", "rf_bands": "0x1", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "environment": "Indoor/Outdoor", "tsf_usec": 212108698335, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -72.0, "last_seen_ms": 1310, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 13, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": "No"}, {"mac_address": "ae:22:15:db:4d:5b", "interface": "wlan0", "freq": 2412, "capability": "ESS ShortSlotTime RadioMeasure (0x1401)", "ssid": "Vodafone Hotspot", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "0x1ac", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 1, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 1, "channel_utilisation": "103/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "environment": "Indoor/Outdoor", "tsf_usec": 212106562854, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -57.0, "last_seen_ms": 3510, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 1, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"mac_address": "90:5c:44:d1:34:2f", "interface": "wlan0", "freq": 2437, "capability": "ESS Privacy ShortSlotTime RadioMeasure (0x1411)", "ssid": "UPC5144FAF", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "1-PTKSA-RC 1-GTKSA-RC (0x0000)", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 6, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "non-HT mixed", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "wpa": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP CCMP", "authentication_suites": "PSK", "rsn": "Version: 1", "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 1, "channel_utilisation": "109/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "30b60e80-1dd2-11b2-8601-8e4aa01a9d4a", "manufacturer": "Ralink Technology, Corp.", "model": "Ralink Wireless Access Point", "model_number": "RT2860", "serial_number": 12345678, "primary_device_type": "6-0050f204-1", "device_name": "RalinkAPS", "rf_bands": "0x1", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "environment": "Indoor/Outdoor", "tsf_usec": 212107263738, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -53.0, "last_seen_ms": 2810, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 6, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"mac_address": "92:5c:14:d1:34:2f", "interface": "wlan0", "freq": 2437, "capability": "ESS ShortSlotTime RadioMeasure (0x1401)", "ssid": "Vodafone Hotspot", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "0x1ac", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 6, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "non-HT mixed", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 1, "channel_utilisation": "109/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "environment": "Indoor/Outdoor", "tsf_usec": 212107270871, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -53.0, "last_seen_ms": 2800, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 6, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"mac_address": "36:2c:b4:34:3b:95", "interface": "wlan0", "freq": 2412, "capability": "ESS Privacy ShortSlotTime RadioMeasure (0x1411)", "ssid": "Gast_Medusa_13", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "1-PTKSA-RC 1-GTKSA-RC (0x0000)", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 1, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non-gf_present": 0, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "wpa": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP CCMP", "authentication_suites": "PSK", "rsn": "Version: 1", "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 0, "channel_utilisation": "94/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "environment": "Indoor/Outdoor", "tsf_usec": 212075883822, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -77.0, "last_seen_ms": 13150, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 1, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"mac_address": "fe:49:2d:20:d8:21", "interface": "wlan0", "freq": 2412, "capability": "ESS Privacy ShortSlotTime (0x0411)", "ssid": "\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00", "supported_rates": [6.0, 9.0, 12.0, 18.0, 24.0, 36.0, 48.0, 54.0], "tim": "DTIM Count 1 DTIM Period 2 Bitmap Control 0x0 Bitmap[0] 0x0", "erp": "", "rsn": "Version: 1", "group_cipher": "CCMP", "pairwise_ciphers": "CCMP", "authentication_suites": "PSK", "capabilities": "0x1ad", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 1, "secondary_channel_offset": "no secondary", "rifs": 1, "ht_protection": "no", "non-gf_present": 0, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": "Extended Channel Switching", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "device_name": "Marion,Laura,Larissas Fire TV...", "primary_device_type": "1-0050f204-9", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "p2p": "Group capa: 0x25, Device capa: 0xab", "unknown_tlv_0x03_6_bytes": "49 2d 20 58 21 dd", "tsf_usec": 212080903764, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -67.0, "last_seen_ms": 29170, "selected_rates": [6.0, 12.0, 24.0], "ds_parameter_set_channel": 1, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"mac_address": "90:5c:44:db:21:48", "interface": "wlan0", "freq": 2462, "capability": "ESS Privacy ShortSlotTime RadioMeasure (0x1411)", "ssid": "UPC614F5E5", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "1-PTKSA-RC 1-GTKSA-RC (0x0000)", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 11, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "wpa": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP CCMP", "authentication_suites": "PSK", "rsn": "Version: 1", "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 1, "channel_utilisation": "100/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "314ea500-1dd2-11b2-8601-8e4aa01a9d4a", "manufacturer": "Ralink Technology, Corp.", "model": "Ralink Wireless Access Point", "model_number": "RT2860", "serial_number": 12345678, "primary_device_type": "6-0050f204-1", "device_name": "RalinkAPS", "rf_bands": "0x1", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "environment": "Indoor/Outdoor", "tsf_usec": 212077364612, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -76.0, "last_seen_ms": 27640, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 11, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"mac_address": "ae:22:15:e6:ff:41", "interface": "wlan0", "freq": 2462, "capability": "ESS RadioMeasure (0x1001)", "ssid": "Vodafone Hotspot", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "0x1ac", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 11, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 3, "channel_utilisation": "87/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "environment": "Indoor/Outdoor", "tsf_usec": 212108278788, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -40.0, "last_seen_ms": 1740, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 11, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"mac_address": "34:31:c4:b8:2e:85", "interface": "wlan0", "freq": 2437, "capability": "ESS Privacy ShortPreamble ShortSlotTime RadioMeasure (0x1431)", "ssid": "Nexus", "supported_rates": [1.0, 2.0, 5.5, 11.0, 6.0, 9.0, 12.0, 18.0], "tim": "DTIM Count 0 DTIM Period 1 Bitmap Control 0x0 Bitmap[0] 0x0 (+ 1 octet)", "country": "DE", "erp": "", "extended_supported_rates": [36.0, 48.0, 54.0], "station_count": 13, "channel_utilisation": "74/255", "available_admission_capacity": 0, "capabilities": "1-PTKSA-RC 1-GTKSA-RC MFP-capable (0x0080)", "ht_tx/rx_mcs_rate_indexes_supported": "0-23", "primary_channel": 6, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "nonmember", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "bss_width_channel_transition_delay_factor": 5, "extended_capabilities": "HT Information Exchange Supported, Extended Channel Switching, TFS, WNM-Sleep Mode, TIM Broadcast, BSS Transition, 6", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "rf_bands": "0x3", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "rsn": "Version: 1", "group_cipher": "CCMP", "pairwise_ciphers": "CCMP", "authentication_suites": "PSK 00-0f-ac:8", "environment": "Indoor/Outdoor", "tsf_usec": 212081672689, "sta_channel_width_mhz": 20, "passive_dwell_tus": 20, "active_dwell_tus": 10, "channel_width_trigger_scan_interval_s": 300, "scan_passive_total_per_channel_tus": 200, "scan_active_total_per_channel_tus": 20, "beacon_interval_tus": 100, "signal_dbm": -83.0, "last_seen_ms": 28400, "selected_rates": [1.0, 2.0, 5.5, 11.0, 6.0, 12.0], "obss_scan_activity_threshold_percent": 0.25, "ds_parameter_set_channel": 6, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 8}, {"mac_address": "92:5c:14:db:21:48", "interface": "wlan0", "freq": 2462, "capability": "ESS ShortSlotTime RadioMeasure (0x1401)", "ssid": "Vodafone Hotspot", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "0x1ac", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 11, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 1, "channel_utilisation": "111/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "environment": "Indoor/Outdoor", "tsf_usec": 212098644532, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -71.0, "last_seen_ms": 11430, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 11, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"mac_address": "9c:80:df:31:03:a4", "interface": "wlan0", "freq": 2467, "capability": "ESS Privacy ShortSlotTime (0x0411)", "ssid": "o2-WLAN84", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "DE", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "tim": "DTIM Count 0 DTIM Period 1 Bitmap Control 0x0 Bitmap[0] 0x0", "erp": "Barker_Preamble_Mode", "capabilities": "PreAuth 1-PTKSA-RC 1-GTKSA-RC (0x0001)", "ht_rx_mcs_rate_indexes_supported": "0-15, 32", "primary_channel": 12, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "20 MHz", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": "HT Information Exchange Supported", "bss_width_channel_transition_delay_factor": 5, "rsn": "Version: 1", "group_cipher": "CCMP", "pairwise_ciphers": "CCMP", "authentication_suites": "PSK", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "station_count": 768, "channel_utilisation": "33/255", "available_admission_capacity": 4730, "environment": "Indoor/Outdoor", "tsf_usec": 212082583134, "sta_channel_width_mhz": 20, "passive_dwell_tus": 20, "active_dwell_tus": 10, "channel_width_trigger_scan_interval_s": 300, "scan_passive_total_per_channel_tus": 200, "scan_active_total_per_channel_tus": 20, "beacon_interval_tus": 100, "signal_dbm": -87.0, "last_seen_ms": 27490, "selected_rates": [1.0, 2.0, 5.5, 11.0], "obss_scan_activity_threshold_percent": 0.25, "ds_parameter_set_channel": 12, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"mac_address": "36:2c:94:34:3b:95", "interface": "wlan0", "freq": 2412, "capability": "ESS ShortSlotTime RadioMeasure (0x1401)", "ssid": "Vodafone Hotspot", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "0x1ac", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 1, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non-gf_present": 0, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 0, "channel_utilisation": "90/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "environment": "Indoor/Outdoor", "tsf_usec": 212096926483, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -84.0, "last_seen_ms": 13150, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 1, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"mac_address": "38:43:7d:1c:95:e6", "interface": "wlan0", "freq": 2437, "capability": "ESS Privacy ShortSlotTime RadioMeasure (0x1411)", "ssid": "UPCB45EF15", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "tim": "DTIM Count 0 DTIM Period 1 Bitmap Control 0x0 Bitmap[0] 0x0", "wpa": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP CCMP", "authentication_suites": "PSK", "rsn": "Version: 1", "capabilities": "0x1ac", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "uuid": "30b60e80-1dd2-11b2-8601-8e4aa01a9d4a", "rf_bands": "0x1", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "erp": "Barker_Preamble_Mode", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 6, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "station_count": 1, "channel_utilisation": "86/255", "available_admission_capacity": 31250, "environment": "Indoor/Outdoor", "tsf_usec": 212097695148, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -83.0, "last_seen_ms": 12380, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 6, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"mac_address": "90:5c:44:db:21:33", "interface": "wlan0", "freq": 5180, "capability": "ESS Privacy ShortPreamble SpectrumMgmt ShortSlotTime RadioMeasure (0x1531)", "ssid": "UPC614F5E5", "supported_rates": [6.0, 9.0, 12.0, 18.0, 24.0, 36.0, 48.0, 54.0], "rsn": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP", "authentication_suites": "PSK", "capabilities": "0x6f", "ht_rx_mcs_rate_indexes_supported": "0-23, 32", "primary_channel": 36, "secondary_channel_offset": "above", "rifs": 0, "ht_protection": "no", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": 6, "max_mpdu_length": 3895, "supported_channel_width": "neither 160 nor 80+80", "1_streams": "MCS 0-9", "2_streams": "MCS 0-9", "3_streams": "MCS 0-9", "4_streams": "not supported", "5_streams": "not supported", "6_streams": "not supported", "7_streams": "not supported", "8_streams": "not supported", "channel_width": "1 (80 MHz)", "center_freq_segment_1": 42, "center_freq_segment_2": 0, "vht_basic_mcs_set": "0xffc0", "station_count": 2, "channel_utilisation": "54/255", "available_admission_capacity": 30000, "wpa": "Version: 1", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "314ea500-1dd2-11b2-8601-8e4aa01a9d4a", "manufacturer": "Marvell", "model": "WAP", "model_number": 123, "serial_number": 12345, "primary_device_type": "6-0050f204-1", "device_name": "5G wireless AP", "rf_bands": "0x2", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "tsf_usec": 212107555845, "sta_channel_width_mhz": "any", "beacon_interval_tus": 100, "signal_dbm": -88.0, "last_seen_ms": 2510, "selected_rates": [6.0, 12.0, 24.0], "ds_parameter_set_channel": 36, "max_amsdu_length_bytes": 3839, "power_constraint_db": 3, "minimum_rx_ampdu_time_spacing_usec": 4, "vht_rx_highest_supported_mbps": 0, "vht_tx_highest_supported_mbps": 0}, {"mac_address": "a8:d3:f7:96:10:6d", "interface": "wlan0", "freq": 5200, "capability": "ESS Privacy SpectrumMgmt ShortSlotTime (0x0511)", "ssid": "o2-WLAN34", "supported_rates": [6.0, 9.0, 12.0, 18.0, 24.0, 36.0, 48.0, 54.0], "country": "DE", "capabilities": "1-PTKSA-RC 1-GTKSA-RC (0x0000)", "ht_tx/rx_mcs_rate_indexes_supported": "0-31, 33-76", "primary_channel": 40, "secondary_channel_offset": "below", "rifs": 0, "ht_protection": "nonmember", "non-gf_present": 1, "obss_non-gf_present": 1, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "rsn": "Version: 1", "group_cipher": "CCMP", "pairwise_ciphers": "CCMP", "authentication_suites": "PSK", "extended_capabilities": "HT Information Exchange Supported, SSID List, 6", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "4e9bd57c-8ebe-46d8-aa04-cdd3994f7288", "manufacturer": "Quantenna", "model": "Topaz", "model_number": "QV840.432", "serial_number": "A8D3F796106D", "primary_device_type": "6-0050f204-1", "device_name": "Reference Design", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "max_mpdu_length": 11454, "supported_channel_width": "neither 160 nor 80+80", "1_streams": "MCS 0-9", "2_streams": "MCS 0-9", "3_streams": "MCS 0-9", "4_streams": "MCS 0-9", "5_streams": "not supported", "6_streams": "not supported", "7_streams": "not supported", "8_streams": "not supported", "channel_width": "1 (80 MHz)", "center_freq_segment_1": 42, "center_freq_segment_2": 0, "vht_basic_mcs_set": "0xfffc", "environment": "Indoor/Outdoor", "tsf_usec": 212107799783, "sta_channel_width_mhz": "any", "beacon_interval_tus": 100, "signal_dbm": -88.0, "last_seen_ms": 2260, "selected_rates": [6.0, 12.0], "ds_parameter_set_channel": 40, "max_amsdu_length_bytes": 7935, "power_constraint_db": 0, "minimum_rx_ampdu_time_spacing_usec": 4, "vht_rx_highest_supported_mbps": 0, "vht_tx_highest_supported_mbps": 0}, {"mac_address": "90:5c:44:d1:34:20", "interface": "wlan0", "freq": 5220, "capability": "ESS Privacy ShortPreamble SpectrumMgmt ShortSlotTime RadioMeasure (0x1531)", "ssid": "UPC5144FAF", "supported_rates": [6.0, 9.0, 12.0, 18.0, 24.0, 36.0, 48.0, 54.0], "rsn": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP", "authentication_suites": "PSK", "capabilities": "0x6f", "ht_rx_mcs_rate_indexes_supported": "0-23, 32", "primary_channel": 44, "secondary_channel_offset": "above", "rifs": 0, "ht_protection": "no", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": 6, "max_mpdu_length": 3895, "supported_channel_width": "neither 160 nor 80+80", "1_streams": "MCS 0-9", "2_streams": "MCS 0-9", "3_streams": "MCS 0-9", "4_streams": "not supported", "5_streams": "not supported", "6_streams": "not supported", "7_streams": "not supported", "8_streams": "not supported", "channel_width": "1 (80 MHz)", "center_freq_segment_1": 42, "center_freq_segment_2": 0, "vht_basic_mcs_set": "0xffc0", "station_count": 1, "channel_utilisation": "33/255", "available_admission_capacity": 30000, "wpa": "Version: 1", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "30b60e80-1dd2-11b2-8601-8e4aa01a9d4a", "manufacturer": "Marvell", "model": "WAP", "model_number": 123, "serial_number": 12345, "primary_device_type": "6-0050f204-1", "device_name": "5G wireless AP", "rf_bands": "0x2", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "tsf_usec": 212108016406, "sta_channel_width_mhz": "any", "beacon_interval_tus": 100, "signal_dbm": -46.0, "last_seen_ms": 2060, "selected_rates": [6.0, 12.0, 24.0], "ds_parameter_set_channel": 44, "max_amsdu_length_bytes": 3839, "power_constraint_db": 3, "minimum_rx_ampdu_time_spacing_usec": 4, "vht_rx_highest_supported_mbps": 0, "vht_tx_highest_supported_mbps": 0}, {"mac_address": "ac:22:05:db:4d:22", "interface": "wlan0", "freq": 5220, "capability": "ESS Privacy ShortPreamble SpectrumMgmt ShortSlotTime RadioMeasure (0x1531)", "ssid": "Hoeheitsgebiet", "supported_rates": [6.0, 9.0, 12.0, 18.0, 24.0, 36.0, 48.0, 54.0], "rsn": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP", "authentication_suites": "PSK", "capabilities": "0x6f", "ht_rx_mcs_rate_indexes_supported": "0-23, 32", "primary_channel": 44, "secondary_channel_offset": "above", "rifs": 0, "ht_protection": "no", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": 6, "max_mpdu_length": 3895, "supported_channel_width": "neither 160 nor 80+80", "1_streams": "MCS 0-9", "2_streams": "MCS 0-9", "3_streams": "MCS 0-9", "4_streams": "not supported", "5_streams": "not supported", "6_streams": "not supported", "7_streams": "not supported", "8_streams": "not supported", "channel_width": "1 (80 MHz)", "center_freq_segment_1": 42, "center_freq_segment_2": 0, "vht_basic_mcs_set": "0xffc0", "station_count": 4, "channel_utilisation": "43/255", "available_admission_capacity": 30000, "wpa": "Version: 1", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "327fd200-1dd2-11b2-8601-8e4aa01a9d4a", "manufacturer": "Marvell", "model": "WAP", "model_number": 123, "serial_number": 12345, "primary_device_type": "6-0050f204-1", "device_name": "5G wireless AP", "rf_bands": "0x2", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "tsf_usec": 212108018921, "sta_channel_width_mhz": "any", "beacon_interval_tus": 100, "signal_dbm": -68.0, "last_seen_ms": 2020, "selected_rates": [6.0, 12.0, 24.0], "ds_parameter_set_channel": 44, "max_amsdu_length_bytes": 3839, "power_constraint_db": 3, "minimum_rx_ampdu_time_spacing_usec": 4, "vht_rx_highest_supported_mbps": 0, "vht_tx_highest_supported_mbps": 0}, {"mac_address": "54:67:51:2c:3d:0a", "interface": "wlan0", "freq": 2462, "capability": "ESS Privacy ShortSlotTime RadioMeasure (0x1411)", "ssid": "UPC956E146", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "1-PTKSA-RC 1-GTKSA-RC (0x0000)", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 11, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non-gf_present": 0, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "wpa": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP CCMP", "authentication_suites": "PSK", "rsn": "Version: 1", "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 0, "channel_utilisation": "93/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "314ea500-1dd2-11b2-8601-8e4aa01a9d4a", "manufacturer": "Ralink Technology, Corp.", "model": "Ralink Wireless Access Point", "model_number": "RT2860", "serial_number": 12345678, "primary_device_type": "6-0050f204-1", "device_name": "RalinkAPS", "rf_bands": "0x1", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "environment": "Indoor/Outdoor", "tsf_usec": 212108254184, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -80.0, "last_seen_ms": 1820, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 11, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"mac_address": "74:31:70:75:f1:e2", "interface": "wlan0", "freq": 2462, "capability": "ESS Privacy ShortSlotTime (0x0411)", "ssid": "WLAN-75F122", "supported_rates": [1.0, 2.0, 5.5, 11.0, 18.0, 24.0, 36.0, 54.0], "erp": "", "erp_d4.0": "", "rsn": "Version: 1", "group_cipher": "CCMP", "pairwise_ciphers": "CCMP", "authentication_suites": "PSK", "capabilities": "0x186c", "extended_supported_rates": [6.0, 9.0, 12.0, 48.0], "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 11, "secondary_channel_offset": "no secondary", "rifs": 1, "ht_protection": "no", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "bss_width_channel_transition_delay_factor": 5, "extended_capabilities": "HT Information Exchange Supported", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "selected_registrar": "0x0", "response_type": "3 (AP)", "uuid": "00000000-0000-0003-0000-74317075f1e2", "manufacturer": "Corporation", "model": "VGV8539JW", "model_number": "1.47.000", "serial_number": "J144024542", "primary_device_type": "6-0050f204-1", "device_name": "Wireless Router(WFA)", "config_methods": "Label, PBC", "rf_bands": "0x3", "tsf_usec": 212098649788, "sta_channel_width_mhz": 20, "passive_dwell_tus": 20, "active_dwell_tus": 10, "channel_width_trigger_scan_interval_s": 300, "scan_passive_total_per_channel_tus": 200, "scan_active_total_per_channel_tus": 20, "beacon_interval_tus": 100, "signal_dbm": -80.0, "last_seen_ms": 11420, "selected_rates": [1.0, 2.0, 5.5, 11.0], "obss_scan_activity_threshold_percent": 0.25, "ds_parameter_set_channel": 11, "max_amsdu_length_bytes": 7935, "minimum_rx_ampdu_time_spacing_usec": 16}, {"mac_address": "1c:b0:44:75:42:a8", "interface": "wlan0", "freq": 5220, "capability": "ESS Privacy SpectrumMgmt ShortSlotTime (0x0511)", "ssid": "o2-WLAN38", "supported_rates": [6.0, 9.0, 12.0, 18.0, 24.0, 36.0, 48.0, 54.0], "station_count": 5, "channel_utilisation": "55/255", "available_admission_capacity": 65535, "country": "DE", "capabilities": "1-PTKSA-RC 1-GTKSA-RC MFP-capable (0x0080)", "ht_tx/rx_mcs_rate_indexes_supported": "0-31, 33-76", "primary_channel": 44, "secondary_channel_offset": "above", "rifs": 0, "ht_protection": "nonmember", "non-gf_present": 1, "obss_non-gf_present": 1, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "rsn": "Version: 1", "group_cipher": "CCMP", "pairwise_ciphers": "CCMP", "authentication_suites": "PSK", "group_mgmt_cipher_suite": "AES-128-CMAC", "extended_capabilities": "HT Information Exchange Supported, BSS Transition, SSID List, 6", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "b0493afc-202d-11b2-8a5b-1cb0447542a5", "manufacturer": "Askey", "model": "o2 HomeBox", "model_number": 6741, "serial_number": "1CB0447542A8", "primary_device_type": "6-0050f204-1", "device_name": "o2 HomeBox 6741", "config_methods": "Display", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "max_mpdu_length": 11454, "supported_channel_width": "neither 160 nor 80+80", "1_streams": "MCS 0-9", "2_streams": "MCS 0-9", "3_streams": "MCS 0-9", "4_streams": "MCS 0-9", "5_streams": "not supported", "6_streams": "not supported", "7_streams": "not supported", "8_streams": "not supported", "channel_width": "1 (80 MHz)", "center_freq_segment_1": 42, "center_freq_segment_2": 0, "vht_basic_mcs_set": "0xfffc", "environment": "Indoor/Outdoor", "tsf_usec": 212108018214, "sta_channel_width_mhz": "any", "beacon_interval_tus": 100, "signal_dbm": -89.0, "last_seen_ms": 2060, "selected_rates": [6.0, 12.0], "ds_parameter_set_channel": 44, "max_amsdu_length_bytes": 7935, "power_constraint_db": 0, "minimum_rx_ampdu_time_spacing_usec": 4, "vht_rx_highest_supported_mbps": 0, "vht_tx_highest_supported_mbps": 0}] diff --git a/tests/test_iw_scan.py b/tests/test_iw_scan.py new file mode 100644 index 000000000..d34747ba4 --- /dev/null +++ b/tests/test_iw_scan.py @@ -0,0 +1,46 @@ +import os +import unittest +import json +import jc.parsers.iw_scan + +THIS_DIR = os.path.dirname(os.path.abspath(__file__)) + + +class MyTests(unittest.TestCase): + + def setUp(self): + # input + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/iw-scan0.out'), 'r', encoding='utf-8') as f: + self.centos_7_7_iw_scan0 = f.read() + + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/iw-scan1.out'), 'r', encoding='utf-8') as f: + self.centos_7_7_iw_scan1 = f.read() + + # output + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/iw-scan0.json'), 'r', encoding='utf-8') as f: + self.centos_7_7_iw_scan0_json = json.loads(f.read()) + + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/iw-scan1.json'), 'r', encoding='utf-8') as f: + self.centos_7_7_iw_scan1_json = json.loads(f.read()) + + def test_iw_scan_nodata(self): + """ + Test 'iw_scan' parser with no data + """ + self.assertEqual(jc.parsers.iw_scan.parse('', quiet=True), []) + + def test_iw_scan0_centos_7_7(self): + """ + Test 'iw_scan' on Centos 7.7 + """ + self.assertEqual(jc.parsers.iw_scan.parse(self.centos_7_7_iw_scan0, quiet=True), self.centos_7_7_iw_scan0_json) + + def test_iw_scan1_centos_7_7(self): + """ + Test 'iw_scan' on Centos 7.7 + """ + self.assertEqual(jc.parsers.iw_scan.parse(self.centos_7_7_iw_scan1, quiet=True), self.centos_7_7_iw_scan1_json) + + +if __name__ == '__main__': + unittest.main() From 4fb6f3ea59c52515926a51a006e65a1c18e57720 Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Tue, 5 Jan 2021 21:51:30 -0800 Subject: [PATCH 14/25] add support for down in addition to crash --- jc/parsers/last.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jc/parsers/last.py b/jc/parsers/last.py index 668c1682b..39f04f9cd 100644 --- a/jc/parsers/last.py +++ b/jc/parsers/last.py @@ -194,10 +194,10 @@ def parse(data, raw=False, quiet=False): if re.match(r'\d\d:\d\d:\d\d \d\d\d\d', ' '.join(linedata[6:8])): output_line['login'] = ' '.join(linedata[3:8]) - if len(linedata) > 9 and linedata[9] != 'crash': + if len(linedata) > 9 and linedata[9] != 'crash' and linedata[9] != 'down': output_line['logout'] = ' '.join(linedata[9:14]) - if len(linedata) > 9 and linedata[9] == 'crash': + if len(linedata) > 9 and (linedata[9] == 'crash' or linedata[9] == 'down'): output_line['logout'] = linedata[9] # add more items to the list to line up duration linedata.insert(10, '-') From fb422726a8366c7133f0712d3b05a26620eea785 Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Tue, 5 Jan 2021 21:55:06 -0800 Subject: [PATCH 15/25] update test to add 'down' condition --- tests/fixtures/ubuntu-20.04/last-F.json | 2 +- tests/fixtures/ubuntu-20.04/last-F.out | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/fixtures/ubuntu-20.04/last-F.json b/tests/fixtures/ubuntu-20.04/last-F.json index c866e9689..6d9c294b5 100644 --- a/tests/fixtures/ubuntu-20.04/last-F.json +++ b/tests/fixtures/ubuntu-20.04/last-F.json @@ -1 +1 @@ -[{"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Tue Jan 5 20:03:51 2021", "logout": "still logged in"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Tue Jan 5 00:17:29 2021", "logout": "Tue Jan 5 20:03:47 2021", "duration": "19:46"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jan 5 00:08:46 2021", "logout": "gone - no logout"}, {"user": "reboot", "tty": "system boot", "hostname": "5.8.0-34-generic", "login": "Tue Jan 5 00:08:28 2021", "logout": "running"}] +[{"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Tue Jan 5 20:03:51 2021", "logout": "still logged in"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Tue Jan 5 00:17:29 2021", "logout": "Tue Jan 5 20:03:47 2021", "duration": "19:46"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jan 5 00:08:46 2021", "logout": "gone - no logout"}, {"user": "root", "tty": "pts/0", "hostname": "developer-pc.exa", "login": "Mon Mar 23 16:44:55 2020", "logout": "down", "duration": "00:00"}, {"user": "reboot", "tty": "system boot", "hostname": "5.8.0-34-generic", "login": "Tue Jan 5 00:08:28 2021", "logout": "running"}] diff --git a/tests/fixtures/ubuntu-20.04/last-F.out b/tests/fixtures/ubuntu-20.04/last-F.out index 44ae6020c..4ae10353f 100644 --- a/tests/fixtures/ubuntu-20.04/last-F.out +++ b/tests/fixtures/ubuntu-20.04/last-F.out @@ -1,6 +1,7 @@ kbrazil pts/0 192.168.71.1 Tue Jan 5 20:03:51 2021 still logged in kbrazil pts/0 192.168.71.1 Tue Jan 5 00:17:29 2021 - Tue Jan 5 20:03:47 2021 (19:46) kbrazil tty1 Tue Jan 5 00:08:46 2021 gone - no logout +root pts/0 developer-pc.exa Mon Mar 23 16:44:55 2020 - down (00:00) reboot system boot 5.8.0-34-generic Tue Jan 5 00:08:28 2021 still running wtmp begins Tue Jan 5 00:08:28 2021 From 661b3ef311ad26678030c70c11f2f955667311a4 Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Tue, 5 Jan 2021 22:04:44 -0800 Subject: [PATCH 16/25] doc updates --- EXAMPLES.md | 91 +++++++++++++++++++++++++++++++++++++++++ README.md | 1 + docs/parsers/iw_scan.md | 2 +- jc/parsers/iw_scan.py | 2 +- 4 files changed, 94 insertions(+), 2 deletions(-) diff --git a/EXAMPLES.md b/EXAMPLES.md index 63b14e994..b536ce6aa 100644 --- a/EXAMPLES.md +++ b/EXAMPLES.md @@ -1196,6 +1196,97 @@ iptables --line-numbers -v -L -t nat | jc --iptables -p # or: jc -p ip } ] ``` +### iw dev scan +```bash +iw dev wlan0 scan | jc --iw-scan -p # or: jc -p iw dev wlan0 scan +``` +```json +[ + { + "mac_address": "71:31:72:65:e1:a2", + "interface": "wlan0", + "freq": 2462, + "capability": "ESS Privacy ShortSlotTime (0x0411)", + "ssid": "WLAN-1234", + "supported_rates": [ + 1.0, + 2.0, + 5.5, + 11.0, + 18.0, + 24.0, + 36.0, + 54.0 + ], + "erp": "", + "erp_d4.0": "", + "rsn": "Version: 1", + "group_cipher": "CCMP", + "pairwise_ciphers": "CCMP", + "authentication_suites": "PSK", + "capabilities": "0x186c", + "extended_supported_rates": [ + 6.0, + 9.0, + 12.0, + 48.0 + ], + "ht_rx_mcs_rate_indexes_supported": "0-15", + "primary_channel": 11, + "secondary_channel_offset": "no secondary", + "rifs": 1, + "ht_protection": "no", + "non-gf_present": 1, + "obss_non-gf_present": 0, + "dual_beacon": 0, + "dual_cts_protection": 0, + "stbc_beacon": 0, + "l-sig_txop_prot": 0, + "pco_active": 0, + "pco_phase": 0, + "bss_width_channel_transition_delay_factor": 5, + "extended_capabilities": "HT Information Exchange Supported", + "wmm": "Parameter version 1", + "be": "CW 15-1023, AIFSN 3", + "bk": "CW 15-1023, AIFSN 7", + "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", + "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", + "wps": "Version: 1.0", + "wi-fi_protected_setup_state": "2 (Configured)", + "selected_registrar": "0x0", + "response_type": "3 (AP)", + "uuid": "00000000-0000-0003-0000-75317074f1a2", + "manufacturer": "Corporation", + "model": "VGV8539JW", + "model_number": "1.47.000", + "serial_number": "J144024542", + "primary_device_type": "6-0050f204-1", + "device_name": "Wireless Router(WFA)", + "config_methods": "Label, PBC", + "rf_bands": "0x3", + "tsf_usec": 212098649788, + "sta_channel_width_mhz": 20, + "passive_dwell_tus": 20, + "active_dwell_tus": 10, + "channel_width_trigger_scan_interval_s": 300, + "scan_passive_total_per_channel_tus": 200, + "scan_active_total_per_channel_tus": 20, + "beacon_interval_tus": 100, + "signal_dbm": -80.0, + "last_seen_ms": 11420, + "selected_rates": [ + 1.0, + 2.0, + 5.5, + 11.0 + ], + "obss_scan_activity_threshold_percent": 0.25, + "ds_parameter_set_channel": 11, + "max_amsdu_length_bytes": 7935, + "minimum_rx_ampdu_time_spacing_usec": 16 + } +] +``` ### jobs ```bash jobs -l | jc --jobs -p # or: jc -p jobs diff --git a/README.md b/README.md index a8a65cc33..b5cb47f36 100644 --- a/README.md +++ b/README.md @@ -145,6 +145,7 @@ The JSON output can be compact (default) or pretty formatted with the `-p` optio - `--ifconfig` enables the `ifconfig` command parser - `--ini` enables the `INI` file parser - `--iptables` enables the `iptables` command parser +- `--iw-scan` enables the `iw dev scan` command parser - `--jobs` enables the `jobs` command parser - `--kv` enables the `Key/Value` file parser - `--last` enables the `last` and `lastb` command parser diff --git a/docs/parsers/iw_scan.md b/docs/parsers/iw_scan.md index 62fa3768e..66e66cbac 100644 --- a/docs/parsers/iw_scan.md +++ b/docs/parsers/iw_scan.md @@ -23,7 +23,7 @@ Compatibility: Examples: - $ iw-scan | jc --iw-scan -p + $ iw dev wlan0 scan | jc --iw-scan -p [ { "mac_address": "71:31:72:65:e1:a2", diff --git a/jc/parsers/iw_scan.py b/jc/parsers/iw_scan.py index 456689a34..e1cd26903 100644 --- a/jc/parsers/iw_scan.py +++ b/jc/parsers/iw_scan.py @@ -21,7 +21,7 @@ Examples: - $ iw-scan | jc --iw-scan -p + $ iw dev wlan0 scan | jc --iw-scan -p [ { "mac_address": "71:31:72:65:e1:a2", From 79987b35f332e287567e103f25cf91cb50e040c0 Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Tue, 5 Jan 2021 22:07:22 -0800 Subject: [PATCH 17/25] formatting --- EXAMPLES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EXAMPLES.md b/EXAMPLES.md index b536ce6aa..c59104004 100644 --- a/EXAMPLES.md +++ b/EXAMPLES.md @@ -1196,7 +1196,7 @@ iptables --line-numbers -v -L -t nat | jc --iptables -p # or: jc -p ip } ] ``` -### iw dev scan +### iw dev `device` scan ```bash iw dev wlan0 scan | jc --iw-scan -p # or: jc -p iw dev wlan0 scan ``` From 5885b960f9b33a95ecec9f4a33233c2f8682fbc4 Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Tue, 5 Jan 2021 22:12:13 -0800 Subject: [PATCH 18/25] doc updates --- CHANGELOG | 3 ++- README.md | 2 +- man/jc.1 | 4 ++++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 865e89e06..606b79509 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,7 +1,8 @@ jc changelog 20210105 v1.14.1 -- Update date parser for support Ubuntu 20.04 +- Add iw-scan parser tested on linux (beta) +- Update date parser for Ubuntu 20.04 support - Update last parser for last -F support - Update man page - Minor documentation updates diff --git a/README.md b/README.md index b5cb47f36..01a96913c 100644 --- a/README.md +++ b/README.md @@ -145,7 +145,7 @@ The JSON output can be compact (default) or pretty formatted with the `-p` optio - `--ifconfig` enables the `ifconfig` command parser - `--ini` enables the `INI` file parser - `--iptables` enables the `iptables` command parser -- `--iw-scan` enables the `iw dev scan` command parser +- `--iw-scan` enables the `iw dev scan` command parser (beta) - `--jobs` enables the `jobs` command parser - `--kv` enables the `Key/Value` file parser - `--last` enables the `last` and `lastb` command parser diff --git a/man/jc.1 b/man/jc.1 index 8d92646d5..d0f2e3a94 100644 --- a/man/jc.1 +++ b/man/jc.1 @@ -116,6 +116,10 @@ INI file parser iptables command parser .TP .B +\fB--iw-scan\fP +iw dev scan command parser +.TP +.B \fB--hash\fP hash BASH builtin command parser .TP From 996d394e89c732f327323ca340fce405bd5fb2e4 Mon Sep 17 00:00:00 2001 From: Philipp Schmitt Date: Wed, 6 Jan 2021 10:32:17 +0100 Subject: [PATCH 19/25] iw_scan: Improve detection of lines starting with spaces --- jc/parsers/iw_scan.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jc/parsers/iw_scan.py b/jc/parsers/iw_scan.py index e1cd26903..d9bd74c41 100644 --- a/jc/parsers/iw_scan.py +++ b/jc/parsers/iw_scan.py @@ -109,6 +109,7 @@ ... ] """ +import re import jc.utils @@ -310,7 +311,7 @@ def parse(data, raw=False, quiet=False): continue - if line.startswith(' '): + if re.match(r"^\s+.+", line): # ignore problematic lines if 'Maximum RX AMPDU length' in line: continue From 9f485b5981a2ce49ac699b9dad39993c5605ae18 Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Wed, 6 Jan 2021 11:09:37 -0800 Subject: [PATCH 20/25] change mac_address fieldname to bssid. Add credit to Phillip --- jc/parsers/iw_scan.py | 6 +++--- tests/fixtures/centos-7.7/iw-scan0.json | 2 +- tests/fixtures/centos-7.7/iw-scan1.json | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/jc/parsers/iw_scan.py b/jc/parsers/iw_scan.py index d9bd74c41..7470be574 100644 --- a/jc/parsers/iw_scan.py +++ b/jc/parsers/iw_scan.py @@ -118,7 +118,7 @@ class info(): description = 'iw dev scan command parser' author = 'Kelly Brazil' author_email = 'kellyjonbrazil@gmail.com' - # details = 'enter any other details here' + details = 'Enhancements by Philipp Schmitt (https://pschmitt.dev/)' # compatible options: linux, darwin, cygwin, win32, aix, freebsd compatible = ['linux'] @@ -306,7 +306,7 @@ def parse(data, raw=False, quiet=False): section = {} split_line = line.replace('(', ' ').replace(')', ' ').split() - section['mac_address'] = split_line[1] + section['bssid'] = split_line[1] section['interface'] = split_line[3] continue @@ -318,7 +318,7 @@ def parse(data, raw=False, quiet=False): split_line = line.split(':', maxsplit=1) if len(split_line) == 2: - split_line[0] = split_line[0].lower().replace('*', '').replace('(', '').replace(')', '').replace(',', '').strip().replace(' ', '_') + split_line[0] = split_line[0].lower().replace('*', '').replace('(', '').replace(')', '').replace(',', '').replace('-', '_').strip().replace(' ', '_') section[split_line[0]] = split_line[1].strip() continue diff --git a/tests/fixtures/centos-7.7/iw-scan0.json b/tests/fixtures/centos-7.7/iw-scan0.json index 053cb6520..b141fec4a 100644 --- a/tests/fixtures/centos-7.7/iw-scan0.json +++ b/tests/fixtures/centos-7.7/iw-scan0.json @@ -1 +1 @@ -[{"mac_address": "00:19:a9:cd:c6:80", "interface": "wlan0", "freq": 2412, "capability": "ESS ShortPreamble ShortSlotTime (0x0421)", "ssid": "Cisco1240", "supported_rates": [1.0, 2.0, 5.5, 6.0, 9.0, 11.0, 12.0, 18.0], "erp": "", "extended_supported_rates": [24.0, 36.0, 48.0, 54.0], "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "tsf_usec": 2984923701, "beacon_interval_tus": 100, "signal_dbm": -45.0, "last_seen_ms": 429, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 1}, {"mac_address": "d0:d0:fd:69:ca:70", "interface": "wlan0", "freq": 2462, "capability": "ESS ShortPreamble ShortSlotTime (0x0421)", "ssid": "Cisco1250", "supported_rates": [1.0, 2.0, 5.5, 6.0, 9.0, 11.0, 12.0, 18.0], "erp": "", "extended_supported_rates": [24.0, 36.0, 48.0, 54.0], "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "acm CW 3-7, AIFSN 2, TXOP 1504 usec", "tsf_usec": 2968648942, "beacon_interval_tus": 102, "signal_dbm": -70.0, "last_seen_ms": 328, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 11}] +[{"bssid": "00:19:a9:cd:c6:80", "interface": "wlan0", "freq": 2412, "capability": "ESS ShortPreamble ShortSlotTime (0x0421)", "ssid": "Cisco1240", "supported_rates": [1.0, 2.0, 5.5, 6.0, 9.0, 11.0, 12.0, 18.0], "erp": "", "extended_supported_rates": [24.0, 36.0, 48.0, 54.0], "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "tsf_usec": 2984923701, "beacon_interval_tus": 100, "signal_dbm": -45.0, "last_seen_ms": 429, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 1}, {"bssid": "d0:d0:fd:69:ca:70", "interface": "wlan0", "freq": 2462, "capability": "ESS ShortPreamble ShortSlotTime (0x0421)", "ssid": "Cisco1250", "supported_rates": [1.0, 2.0, 5.5, 6.0, 9.0, 11.0, 12.0, 18.0], "erp": "", "extended_supported_rates": [24.0, 36.0, 48.0, 54.0], "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "acm CW 3-7, AIFSN 2, TXOP 1504 usec", "tsf_usec": 2968648942, "beacon_interval_tus": 102, "signal_dbm": -70.0, "last_seen_ms": 328, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 11}] diff --git a/tests/fixtures/centos-7.7/iw-scan1.json b/tests/fixtures/centos-7.7/iw-scan1.json index 3e4326713..15993ca57 100644 --- a/tests/fixtures/centos-7.7/iw-scan1.json +++ b/tests/fixtures/centos-7.7/iw-scan1.json @@ -1 +1 @@ -[{"mac_address": "ac:22:05:db:4d:5b", "interface": "wlan0", "freq": 2412, "capability": "ESS Privacy ShortSlotTime RadioMeasure (0x1411)", "ssid": "Hoeheitsgebiet", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "1-PTKSA-RC 1-GTKSA-RC (0x0000)", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 1, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "wpa": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP CCMP", "authentication_suites": "PSK", "rsn": "Version: 1", "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 1, "channel_utilisation": "103/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "327fd200-1dd2-11b2-8601-8e4aa01a9d4a", "manufacturer": "Ralink Technology, Corp.", "model": "Ralink Wireless Access Point", "model_number": "RT2860", "serial_number": 12345678, "primary_device_type": "6-0050f204-1", "device_name": "RalinkAPS", "rf_bands": "0x1", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "environment": "Indoor/Outdoor", "tsf_usec": 212106552475, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -57.0, "last_seen_ms": 3520, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 1, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"mac_address": "1c:b0:44:75:42:a5", "interface": "wlan0", "freq": 2457, "capability": "ESS Privacy ShortPreamble ShortSlotTime (0x0431)", "ssid": "o2-WLAN38", "supported_rates": [9.0, 18.0, 36.0, 54.0, 1.0, 2.0, 5.5, 11.0], "country": "DE", "erp": "", "capabilities": "1-PTKSA-RC 1-GTKSA-RC MFP-capable (0x0080)", "ht_rx_mcs_rate_indexes_supported": "0-15", "rsn": "Version: 1", "group_cipher": "CCMP", "pairwise_ciphers": "CCMP", "authentication_suites": "PSK", "group_mgmt_cipher_suite": "AES-128-CMAC", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "primary_channel": 10, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "bss_width_channel_transition_delay_factor": 5, "extended_capabilities": "HT Information Exchange Supported", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "b0493afc-202d-11b2-8a5b-1cb0447542a5", "manufacturer": "Askey", "model": "o2 HomeBox", "model_number": 6741, "serial_number": "A804016507-009096", "primary_device_type": "6-0050f204-1", "device_name": "o2 HomeBox 6741", "config_methods": "Keypad", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "environment": "Indoor/Outdoor", "tsf_usec": 212108020750, "sta_channel_width_mhz": 20, "passive_dwell_tus": 20, "active_dwell_tus": 10, "channel_width_trigger_scan_interval_s": 300, "scan_passive_total_per_channel_tus": 200, "scan_active_total_per_channel_tus": 20, "beacon_interval_tus": 100, "signal_dbm": -70.0, "last_seen_ms": 2050, "selected_rates": [1.0], "obss_scan_activity_threshold_percent": 100.0, "ds_parameter_set_channel": 10, "max_amsdu_length_bytes": 3839, "power_constraint_db": 0, "minimum_rx_ampdu_time_spacing_usec": 16}, {"mac_address": "34:2c:c4:34:3b:95", "interface": "wlan0", "freq": 2412, "capability": "ESS Privacy ShortSlotTime RadioMeasure (0x1411)", "ssid": "Medusa_13", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "1-PTKSA-RC 1-GTKSA-RC (0x0000)", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 1, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non-gf_present": 0, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "wpa": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP CCMP", "authentication_suites": "PSK", "rsn": "Version: 1", "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 0, "channel_utilisation": "90/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "314ea500-1dd2-11b2-8601-8e4aa01a9d4a", "manufacturer": "Ralink Technology, Corp.", "model": "Ralink Wireless Access Point", "model_number": "RT2860", "serial_number": 12345678, "primary_device_type": "6-0050f204-1", "device_name": "RalinkAPS", "rf_bands": "0x1", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "environment": "Indoor/Outdoor", "tsf_usec": 212096913717, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -77.0, "last_seen_ms": 13160, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 1, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"mac_address": "ac:22:05:e6:ff:41", "interface": "wlan0", "freq": 2462, "capability": "ESS Privacy RadioMeasure (0x1011)", "ssid": "UPCCDB29F5", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "1-PTKSA-RC 1-GTKSA-RC (0x0000)", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 11, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "wpa": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP CCMP", "authentication_suites": "PSK", "rsn": "Version: 1", "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 3, "channel_utilisation": "87/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "314ea500-1dd2-11b2-8601-8e4aa01a9d4a", "manufacturer": "Ralink Technology, Corp.", "model": "Ralink Wireless Access Point", "model_number": "RT2860", "serial_number": 12345678, "primary_device_type": "6-0050f204-1", "device_name": "RalinkAPS", "rf_bands": "0x1", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "environment": "Indoor/Outdoor", "tsf_usec": 212108270373, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -41.0, "last_seen_ms": 1750, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 11, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"mac_address": "ac:22:05:e6:ff:24", "interface": "wlan0", "freq": 5180, "capability": "ESS Privacy ShortPreamble SpectrumMgmt ShortSlotTime RadioMeasure (0x1531)", "ssid": "UPCCDB29F5", "supported_rates": [6.0, 9.0, 12.0, 18.0, 24.0, 36.0, 48.0, 54.0], "rsn": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP", "authentication_suites": "PSK", "capabilities": "0x6f", "ht_rx_mcs_rate_indexes_supported": "0-23, 32", "primary_channel": 36, "secondary_channel_offset": "above", "rifs": 0, "ht_protection": "no", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": 6, "max_mpdu_length": 3895, "supported_channel_width": "neither 160 nor 80+80", "1_streams": "MCS 0-9", "2_streams": "MCS 0-9", "3_streams": "MCS 0-9", "4_streams": "not supported", "5_streams": "not supported", "6_streams": "not supported", "7_streams": "not supported", "8_streams": "not supported", "channel_width": "1 (80 MHz)", "center_freq_segment_1": 42, "center_freq_segment_2": 0, "vht_basic_mcs_set": "0xffc0", "station_count": 3, "channel_utilisation": "35/255", "available_admission_capacity": 30000, "wpa": "Version: 1", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "314ea500-1dd2-11b2-8601-8e4aa01a9d4a", "manufacturer": "Marvell", "model": "WAP", "model_number": 123, "serial_number": 12345, "primary_device_type": "6-0050f204-1", "device_name": "5G wireless AP", "rf_bands": "0x2", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "tsf_usec": 212107576616, "sta_channel_width_mhz": "any", "beacon_interval_tus": 100, "signal_dbm": -30.0, "last_seen_ms": 130, "selected_rates": [6.0, 12.0, 24.0], "ds_parameter_set_channel": 36, "max_amsdu_length_bytes": 3839, "power_constraint_db": 3, "minimum_rx_ampdu_time_spacing_usec": 4, "vht_rx_highest_supported_mbps": 0, "vht_tx_highest_supported_mbps": 0}, {"mac_address": "a8:d3:f7:96:10:69", "interface": "wlan0", "freq": 2442, "capability": "ESS Privacy ShortPreamble ShortSlotTime (0x0431)", "ssid": "o2-WLAN34", "supported_rates": [9.0, 18.0, 36.0, 54.0, 1.0, 2.0, 5.5, 11.0], "country": "DE", "erp": "", "capabilities": "1-PTKSA-RC 1-GTKSA-RC (0x0000)", "ht_rx_mcs_rate_indexes_supported": "0-15", "rsn": "Version: 1", "group_cipher": "CCMP", "pairwise_ciphers": "CCMP", "authentication_suites": "PSK", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "primary_channel": 7, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "nonmember", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "bss_width_channel_transition_delay_factor": 5, "extended_capabilities": "HT Information Exchange Supported", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "4e9bd57c-8ebe-46d8-aa04-cdd3994f7288", "manufacturer": "Arcadyan", "model": "o2 HomeBox 6441", "model_number": "IAD 6441", "serial_number": "D512146595", "primary_device_type": "6-0050f204-1", "device_name": "D512146595-A8D3F7", "rf_bands": "0x3", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "environment": "Indoor/Outdoor", "tsf_usec": 212107440363, "sta_channel_width_mhz": 20, "passive_dwell_tus": 20, "active_dwell_tus": 10, "channel_width_trigger_scan_interval_s": 300, "scan_passive_total_per_channel_tus": 200, "scan_active_total_per_channel_tus": 20, "beacon_interval_tus": 100, "signal_dbm": -81.0, "last_seen_ms": 2630, "selected_rates": [1.0], "obss_scan_activity_threshold_percent": 100.0, "ds_parameter_set_channel": 7, "max_amsdu_length_bytes": 3839, "power_constraint_db": 0, "minimum_rx_ampdu_time_spacing_usec": 16}, {"mac_address": "54:fa:3e:87:1f:93", "interface": "wlan0", "freq": 2472, "capability": "ESS Privacy ShortSlotTime APSD (0x0c11)", "ssid": "moin moin", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "capabilities": "1-PTKSA-RC 1-GTKSA-RC (0x0000)", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 13, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "wpa": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP CCMP", "authentication_suites": "PSK", "rsn": "Version: 1", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "station_count": 1, "channel_utilisation": "26/255", "available_admission_capacity": 31250, "extended_capabilities": "HT Information Exchange Supported", "country": "DE", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "bc329e00-1dd8-11b2-8601-54fa3e871f93", "manufacturer": "Celeno Communication, Inc.", "model": "Celeno Wireless AP 2.4G", "model_number": "CL1800", "serial_number": 12345678, "primary_device_type": "6-0050f204-1", "device_name": "CelenoAP2.4G", "config_methods": "Display, PBC, Keypad", "rf_bands": "0x1", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "environment": "Indoor/Outdoor", "tsf_usec": 212108698335, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -72.0, "last_seen_ms": 1310, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 13, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": "No"}, {"mac_address": "ae:22:15:db:4d:5b", "interface": "wlan0", "freq": 2412, "capability": "ESS ShortSlotTime RadioMeasure (0x1401)", "ssid": "Vodafone Hotspot", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "0x1ac", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 1, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 1, "channel_utilisation": "103/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "environment": "Indoor/Outdoor", "tsf_usec": 212106562854, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -57.0, "last_seen_ms": 3510, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 1, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"mac_address": "90:5c:44:d1:34:2f", "interface": "wlan0", "freq": 2437, "capability": "ESS Privacy ShortSlotTime RadioMeasure (0x1411)", "ssid": "UPC5144FAF", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "1-PTKSA-RC 1-GTKSA-RC (0x0000)", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 6, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "non-HT mixed", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "wpa": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP CCMP", "authentication_suites": "PSK", "rsn": "Version: 1", "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 1, "channel_utilisation": "109/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "30b60e80-1dd2-11b2-8601-8e4aa01a9d4a", "manufacturer": "Ralink Technology, Corp.", "model": "Ralink Wireless Access Point", "model_number": "RT2860", "serial_number": 12345678, "primary_device_type": "6-0050f204-1", "device_name": "RalinkAPS", "rf_bands": "0x1", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "environment": "Indoor/Outdoor", "tsf_usec": 212107263738, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -53.0, "last_seen_ms": 2810, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 6, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"mac_address": "92:5c:14:d1:34:2f", "interface": "wlan0", "freq": 2437, "capability": "ESS ShortSlotTime RadioMeasure (0x1401)", "ssid": "Vodafone Hotspot", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "0x1ac", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 6, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "non-HT mixed", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 1, "channel_utilisation": "109/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "environment": "Indoor/Outdoor", "tsf_usec": 212107270871, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -53.0, "last_seen_ms": 2800, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 6, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"mac_address": "36:2c:b4:34:3b:95", "interface": "wlan0", "freq": 2412, "capability": "ESS Privacy ShortSlotTime RadioMeasure (0x1411)", "ssid": "Gast_Medusa_13", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "1-PTKSA-RC 1-GTKSA-RC (0x0000)", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 1, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non-gf_present": 0, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "wpa": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP CCMP", "authentication_suites": "PSK", "rsn": "Version: 1", "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 0, "channel_utilisation": "94/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "environment": "Indoor/Outdoor", "tsf_usec": 212075883822, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -77.0, "last_seen_ms": 13150, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 1, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"mac_address": "fe:49:2d:20:d8:21", "interface": "wlan0", "freq": 2412, "capability": "ESS Privacy ShortSlotTime (0x0411)", "ssid": "\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00", "supported_rates": [6.0, 9.0, 12.0, 18.0, 24.0, 36.0, 48.0, 54.0], "tim": "DTIM Count 1 DTIM Period 2 Bitmap Control 0x0 Bitmap[0] 0x0", "erp": "", "rsn": "Version: 1", "group_cipher": "CCMP", "pairwise_ciphers": "CCMP", "authentication_suites": "PSK", "capabilities": "0x1ad", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 1, "secondary_channel_offset": "no secondary", "rifs": 1, "ht_protection": "no", "non-gf_present": 0, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": "Extended Channel Switching", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "device_name": "Marion,Laura,Larissas Fire TV...", "primary_device_type": "1-0050f204-9", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "p2p": "Group capa: 0x25, Device capa: 0xab", "unknown_tlv_0x03_6_bytes": "49 2d 20 58 21 dd", "tsf_usec": 212080903764, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -67.0, "last_seen_ms": 29170, "selected_rates": [6.0, 12.0, 24.0], "ds_parameter_set_channel": 1, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"mac_address": "90:5c:44:db:21:48", "interface": "wlan0", "freq": 2462, "capability": "ESS Privacy ShortSlotTime RadioMeasure (0x1411)", "ssid": "UPC614F5E5", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "1-PTKSA-RC 1-GTKSA-RC (0x0000)", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 11, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "wpa": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP CCMP", "authentication_suites": "PSK", "rsn": "Version: 1", "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 1, "channel_utilisation": "100/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "314ea500-1dd2-11b2-8601-8e4aa01a9d4a", "manufacturer": "Ralink Technology, Corp.", "model": "Ralink Wireless Access Point", "model_number": "RT2860", "serial_number": 12345678, "primary_device_type": "6-0050f204-1", "device_name": "RalinkAPS", "rf_bands": "0x1", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "environment": "Indoor/Outdoor", "tsf_usec": 212077364612, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -76.0, "last_seen_ms": 27640, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 11, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"mac_address": "ae:22:15:e6:ff:41", "interface": "wlan0", "freq": 2462, "capability": "ESS RadioMeasure (0x1001)", "ssid": "Vodafone Hotspot", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "0x1ac", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 11, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 3, "channel_utilisation": "87/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "environment": "Indoor/Outdoor", "tsf_usec": 212108278788, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -40.0, "last_seen_ms": 1740, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 11, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"mac_address": "34:31:c4:b8:2e:85", "interface": "wlan0", "freq": 2437, "capability": "ESS Privacy ShortPreamble ShortSlotTime RadioMeasure (0x1431)", "ssid": "Nexus", "supported_rates": [1.0, 2.0, 5.5, 11.0, 6.0, 9.0, 12.0, 18.0], "tim": "DTIM Count 0 DTIM Period 1 Bitmap Control 0x0 Bitmap[0] 0x0 (+ 1 octet)", "country": "DE", "erp": "", "extended_supported_rates": [36.0, 48.0, 54.0], "station_count": 13, "channel_utilisation": "74/255", "available_admission_capacity": 0, "capabilities": "1-PTKSA-RC 1-GTKSA-RC MFP-capable (0x0080)", "ht_tx/rx_mcs_rate_indexes_supported": "0-23", "primary_channel": 6, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "nonmember", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "bss_width_channel_transition_delay_factor": 5, "extended_capabilities": "HT Information Exchange Supported, Extended Channel Switching, TFS, WNM-Sleep Mode, TIM Broadcast, BSS Transition, 6", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "rf_bands": "0x3", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "rsn": "Version: 1", "group_cipher": "CCMP", "pairwise_ciphers": "CCMP", "authentication_suites": "PSK 00-0f-ac:8", "environment": "Indoor/Outdoor", "tsf_usec": 212081672689, "sta_channel_width_mhz": 20, "passive_dwell_tus": 20, "active_dwell_tus": 10, "channel_width_trigger_scan_interval_s": 300, "scan_passive_total_per_channel_tus": 200, "scan_active_total_per_channel_tus": 20, "beacon_interval_tus": 100, "signal_dbm": -83.0, "last_seen_ms": 28400, "selected_rates": [1.0, 2.0, 5.5, 11.0, 6.0, 12.0], "obss_scan_activity_threshold_percent": 0.25, "ds_parameter_set_channel": 6, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 8}, {"mac_address": "92:5c:14:db:21:48", "interface": "wlan0", "freq": 2462, "capability": "ESS ShortSlotTime RadioMeasure (0x1401)", "ssid": "Vodafone Hotspot", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "0x1ac", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 11, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 1, "channel_utilisation": "111/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "environment": "Indoor/Outdoor", "tsf_usec": 212098644532, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -71.0, "last_seen_ms": 11430, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 11, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"mac_address": "9c:80:df:31:03:a4", "interface": "wlan0", "freq": 2467, "capability": "ESS Privacy ShortSlotTime (0x0411)", "ssid": "o2-WLAN84", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "DE", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "tim": "DTIM Count 0 DTIM Period 1 Bitmap Control 0x0 Bitmap[0] 0x0", "erp": "Barker_Preamble_Mode", "capabilities": "PreAuth 1-PTKSA-RC 1-GTKSA-RC (0x0001)", "ht_rx_mcs_rate_indexes_supported": "0-15, 32", "primary_channel": 12, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "20 MHz", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": "HT Information Exchange Supported", "bss_width_channel_transition_delay_factor": 5, "rsn": "Version: 1", "group_cipher": "CCMP", "pairwise_ciphers": "CCMP", "authentication_suites": "PSK", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "station_count": 768, "channel_utilisation": "33/255", "available_admission_capacity": 4730, "environment": "Indoor/Outdoor", "tsf_usec": 212082583134, "sta_channel_width_mhz": 20, "passive_dwell_tus": 20, "active_dwell_tus": 10, "channel_width_trigger_scan_interval_s": 300, "scan_passive_total_per_channel_tus": 200, "scan_active_total_per_channel_tus": 20, "beacon_interval_tus": 100, "signal_dbm": -87.0, "last_seen_ms": 27490, "selected_rates": [1.0, 2.0, 5.5, 11.0], "obss_scan_activity_threshold_percent": 0.25, "ds_parameter_set_channel": 12, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"mac_address": "36:2c:94:34:3b:95", "interface": "wlan0", "freq": 2412, "capability": "ESS ShortSlotTime RadioMeasure (0x1401)", "ssid": "Vodafone Hotspot", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "0x1ac", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 1, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non-gf_present": 0, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 0, "channel_utilisation": "90/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "environment": "Indoor/Outdoor", "tsf_usec": 212096926483, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -84.0, "last_seen_ms": 13150, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 1, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"mac_address": "38:43:7d:1c:95:e6", "interface": "wlan0", "freq": 2437, "capability": "ESS Privacy ShortSlotTime RadioMeasure (0x1411)", "ssid": "UPCB45EF15", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "tim": "DTIM Count 0 DTIM Period 1 Bitmap Control 0x0 Bitmap[0] 0x0", "wpa": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP CCMP", "authentication_suites": "PSK", "rsn": "Version: 1", "capabilities": "0x1ac", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "uuid": "30b60e80-1dd2-11b2-8601-8e4aa01a9d4a", "rf_bands": "0x1", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "erp": "Barker_Preamble_Mode", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 6, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "station_count": 1, "channel_utilisation": "86/255", "available_admission_capacity": 31250, "environment": "Indoor/Outdoor", "tsf_usec": 212097695148, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -83.0, "last_seen_ms": 12380, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 6, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"mac_address": "90:5c:44:db:21:33", "interface": "wlan0", "freq": 5180, "capability": "ESS Privacy ShortPreamble SpectrumMgmt ShortSlotTime RadioMeasure (0x1531)", "ssid": "UPC614F5E5", "supported_rates": [6.0, 9.0, 12.0, 18.0, 24.0, 36.0, 48.0, 54.0], "rsn": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP", "authentication_suites": "PSK", "capabilities": "0x6f", "ht_rx_mcs_rate_indexes_supported": "0-23, 32", "primary_channel": 36, "secondary_channel_offset": "above", "rifs": 0, "ht_protection": "no", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": 6, "max_mpdu_length": 3895, "supported_channel_width": "neither 160 nor 80+80", "1_streams": "MCS 0-9", "2_streams": "MCS 0-9", "3_streams": "MCS 0-9", "4_streams": "not supported", "5_streams": "not supported", "6_streams": "not supported", "7_streams": "not supported", "8_streams": "not supported", "channel_width": "1 (80 MHz)", "center_freq_segment_1": 42, "center_freq_segment_2": 0, "vht_basic_mcs_set": "0xffc0", "station_count": 2, "channel_utilisation": "54/255", "available_admission_capacity": 30000, "wpa": "Version: 1", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "314ea500-1dd2-11b2-8601-8e4aa01a9d4a", "manufacturer": "Marvell", "model": "WAP", "model_number": 123, "serial_number": 12345, "primary_device_type": "6-0050f204-1", "device_name": "5G wireless AP", "rf_bands": "0x2", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "tsf_usec": 212107555845, "sta_channel_width_mhz": "any", "beacon_interval_tus": 100, "signal_dbm": -88.0, "last_seen_ms": 2510, "selected_rates": [6.0, 12.0, 24.0], "ds_parameter_set_channel": 36, "max_amsdu_length_bytes": 3839, "power_constraint_db": 3, "minimum_rx_ampdu_time_spacing_usec": 4, "vht_rx_highest_supported_mbps": 0, "vht_tx_highest_supported_mbps": 0}, {"mac_address": "a8:d3:f7:96:10:6d", "interface": "wlan0", "freq": 5200, "capability": "ESS Privacy SpectrumMgmt ShortSlotTime (0x0511)", "ssid": "o2-WLAN34", "supported_rates": [6.0, 9.0, 12.0, 18.0, 24.0, 36.0, 48.0, 54.0], "country": "DE", "capabilities": "1-PTKSA-RC 1-GTKSA-RC (0x0000)", "ht_tx/rx_mcs_rate_indexes_supported": "0-31, 33-76", "primary_channel": 40, "secondary_channel_offset": "below", "rifs": 0, "ht_protection": "nonmember", "non-gf_present": 1, "obss_non-gf_present": 1, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "rsn": "Version: 1", "group_cipher": "CCMP", "pairwise_ciphers": "CCMP", "authentication_suites": "PSK", "extended_capabilities": "HT Information Exchange Supported, SSID List, 6", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "4e9bd57c-8ebe-46d8-aa04-cdd3994f7288", "manufacturer": "Quantenna", "model": "Topaz", "model_number": "QV840.432", "serial_number": "A8D3F796106D", "primary_device_type": "6-0050f204-1", "device_name": "Reference Design", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "max_mpdu_length": 11454, "supported_channel_width": "neither 160 nor 80+80", "1_streams": "MCS 0-9", "2_streams": "MCS 0-9", "3_streams": "MCS 0-9", "4_streams": "MCS 0-9", "5_streams": "not supported", "6_streams": "not supported", "7_streams": "not supported", "8_streams": "not supported", "channel_width": "1 (80 MHz)", "center_freq_segment_1": 42, "center_freq_segment_2": 0, "vht_basic_mcs_set": "0xfffc", "environment": "Indoor/Outdoor", "tsf_usec": 212107799783, "sta_channel_width_mhz": "any", "beacon_interval_tus": 100, "signal_dbm": -88.0, "last_seen_ms": 2260, "selected_rates": [6.0, 12.0], "ds_parameter_set_channel": 40, "max_amsdu_length_bytes": 7935, "power_constraint_db": 0, "minimum_rx_ampdu_time_spacing_usec": 4, "vht_rx_highest_supported_mbps": 0, "vht_tx_highest_supported_mbps": 0}, {"mac_address": "90:5c:44:d1:34:20", "interface": "wlan0", "freq": 5220, "capability": "ESS Privacy ShortPreamble SpectrumMgmt ShortSlotTime RadioMeasure (0x1531)", "ssid": "UPC5144FAF", "supported_rates": [6.0, 9.0, 12.0, 18.0, 24.0, 36.0, 48.0, 54.0], "rsn": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP", "authentication_suites": "PSK", "capabilities": "0x6f", "ht_rx_mcs_rate_indexes_supported": "0-23, 32", "primary_channel": 44, "secondary_channel_offset": "above", "rifs": 0, "ht_protection": "no", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": 6, "max_mpdu_length": 3895, "supported_channel_width": "neither 160 nor 80+80", "1_streams": "MCS 0-9", "2_streams": "MCS 0-9", "3_streams": "MCS 0-9", "4_streams": "not supported", "5_streams": "not supported", "6_streams": "not supported", "7_streams": "not supported", "8_streams": "not supported", "channel_width": "1 (80 MHz)", "center_freq_segment_1": 42, "center_freq_segment_2": 0, "vht_basic_mcs_set": "0xffc0", "station_count": 1, "channel_utilisation": "33/255", "available_admission_capacity": 30000, "wpa": "Version: 1", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "30b60e80-1dd2-11b2-8601-8e4aa01a9d4a", "manufacturer": "Marvell", "model": "WAP", "model_number": 123, "serial_number": 12345, "primary_device_type": "6-0050f204-1", "device_name": "5G wireless AP", "rf_bands": "0x2", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "tsf_usec": 212108016406, "sta_channel_width_mhz": "any", "beacon_interval_tus": 100, "signal_dbm": -46.0, "last_seen_ms": 2060, "selected_rates": [6.0, 12.0, 24.0], "ds_parameter_set_channel": 44, "max_amsdu_length_bytes": 3839, "power_constraint_db": 3, "minimum_rx_ampdu_time_spacing_usec": 4, "vht_rx_highest_supported_mbps": 0, "vht_tx_highest_supported_mbps": 0}, {"mac_address": "ac:22:05:db:4d:22", "interface": "wlan0", "freq": 5220, "capability": "ESS Privacy ShortPreamble SpectrumMgmt ShortSlotTime RadioMeasure (0x1531)", "ssid": "Hoeheitsgebiet", "supported_rates": [6.0, 9.0, 12.0, 18.0, 24.0, 36.0, 48.0, 54.0], "rsn": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP", "authentication_suites": "PSK", "capabilities": "0x6f", "ht_rx_mcs_rate_indexes_supported": "0-23, 32", "primary_channel": 44, "secondary_channel_offset": "above", "rifs": 0, "ht_protection": "no", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": 6, "max_mpdu_length": 3895, "supported_channel_width": "neither 160 nor 80+80", "1_streams": "MCS 0-9", "2_streams": "MCS 0-9", "3_streams": "MCS 0-9", "4_streams": "not supported", "5_streams": "not supported", "6_streams": "not supported", "7_streams": "not supported", "8_streams": "not supported", "channel_width": "1 (80 MHz)", "center_freq_segment_1": 42, "center_freq_segment_2": 0, "vht_basic_mcs_set": "0xffc0", "station_count": 4, "channel_utilisation": "43/255", "available_admission_capacity": 30000, "wpa": "Version: 1", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "327fd200-1dd2-11b2-8601-8e4aa01a9d4a", "manufacturer": "Marvell", "model": "WAP", "model_number": 123, "serial_number": 12345, "primary_device_type": "6-0050f204-1", "device_name": "5G wireless AP", "rf_bands": "0x2", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "tsf_usec": 212108018921, "sta_channel_width_mhz": "any", "beacon_interval_tus": 100, "signal_dbm": -68.0, "last_seen_ms": 2020, "selected_rates": [6.0, 12.0, 24.0], "ds_parameter_set_channel": 44, "max_amsdu_length_bytes": 3839, "power_constraint_db": 3, "minimum_rx_ampdu_time_spacing_usec": 4, "vht_rx_highest_supported_mbps": 0, "vht_tx_highest_supported_mbps": 0}, {"mac_address": "54:67:51:2c:3d:0a", "interface": "wlan0", "freq": 2462, "capability": "ESS Privacy ShortSlotTime RadioMeasure (0x1411)", "ssid": "UPC956E146", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "1-PTKSA-RC 1-GTKSA-RC (0x0000)", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 11, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non-gf_present": 0, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "wpa": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP CCMP", "authentication_suites": "PSK", "rsn": "Version: 1", "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 0, "channel_utilisation": "93/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "314ea500-1dd2-11b2-8601-8e4aa01a9d4a", "manufacturer": "Ralink Technology, Corp.", "model": "Ralink Wireless Access Point", "model_number": "RT2860", "serial_number": 12345678, "primary_device_type": "6-0050f204-1", "device_name": "RalinkAPS", "rf_bands": "0x1", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "environment": "Indoor/Outdoor", "tsf_usec": 212108254184, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -80.0, "last_seen_ms": 1820, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 11, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"mac_address": "74:31:70:75:f1:e2", "interface": "wlan0", "freq": 2462, "capability": "ESS Privacy ShortSlotTime (0x0411)", "ssid": "WLAN-75F122", "supported_rates": [1.0, 2.0, 5.5, 11.0, 18.0, 24.0, 36.0, 54.0], "erp": "", "erp_d4.0": "", "rsn": "Version: 1", "group_cipher": "CCMP", "pairwise_ciphers": "CCMP", "authentication_suites": "PSK", "capabilities": "0x186c", "extended_supported_rates": [6.0, 9.0, 12.0, 48.0], "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 11, "secondary_channel_offset": "no secondary", "rifs": 1, "ht_protection": "no", "non-gf_present": 1, "obss_non-gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "bss_width_channel_transition_delay_factor": 5, "extended_capabilities": "HT Information Exchange Supported", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "selected_registrar": "0x0", "response_type": "3 (AP)", "uuid": "00000000-0000-0003-0000-74317075f1e2", "manufacturer": "Corporation", "model": "VGV8539JW", "model_number": "1.47.000", "serial_number": "J144024542", "primary_device_type": "6-0050f204-1", "device_name": "Wireless Router(WFA)", "config_methods": "Label, PBC", "rf_bands": "0x3", "tsf_usec": 212098649788, "sta_channel_width_mhz": 20, "passive_dwell_tus": 20, "active_dwell_tus": 10, "channel_width_trigger_scan_interval_s": 300, "scan_passive_total_per_channel_tus": 200, "scan_active_total_per_channel_tus": 20, "beacon_interval_tus": 100, "signal_dbm": -80.0, "last_seen_ms": 11420, "selected_rates": [1.0, 2.0, 5.5, 11.0], "obss_scan_activity_threshold_percent": 0.25, "ds_parameter_set_channel": 11, "max_amsdu_length_bytes": 7935, "minimum_rx_ampdu_time_spacing_usec": 16}, {"mac_address": "1c:b0:44:75:42:a8", "interface": "wlan0", "freq": 5220, "capability": "ESS Privacy SpectrumMgmt ShortSlotTime (0x0511)", "ssid": "o2-WLAN38", "supported_rates": [6.0, 9.0, 12.0, 18.0, 24.0, 36.0, 48.0, 54.0], "station_count": 5, "channel_utilisation": "55/255", "available_admission_capacity": 65535, "country": "DE", "capabilities": "1-PTKSA-RC 1-GTKSA-RC MFP-capable (0x0080)", "ht_tx/rx_mcs_rate_indexes_supported": "0-31, 33-76", "primary_channel": 44, "secondary_channel_offset": "above", "rifs": 0, "ht_protection": "nonmember", "non-gf_present": 1, "obss_non-gf_present": 1, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l-sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "rsn": "Version: 1", "group_cipher": "CCMP", "pairwise_ciphers": "CCMP", "authentication_suites": "PSK", "group_mgmt_cipher_suite": "AES-128-CMAC", "extended_capabilities": "HT Information Exchange Supported, BSS Transition, SSID List, 6", "wps": "Version: 1.0", "wi-fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "b0493afc-202d-11b2-8a5b-1cb0447542a5", "manufacturer": "Askey", "model": "o2 HomeBox", "model_number": 6741, "serial_number": "1CB0447542A8", "primary_device_type": "6-0050f204-1", "device_name": "o2 HomeBox 6741", "config_methods": "Display", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "max_mpdu_length": 11454, "supported_channel_width": "neither 160 nor 80+80", "1_streams": "MCS 0-9", "2_streams": "MCS 0-9", "3_streams": "MCS 0-9", "4_streams": "MCS 0-9", "5_streams": "not supported", "6_streams": "not supported", "7_streams": "not supported", "8_streams": "not supported", "channel_width": "1 (80 MHz)", "center_freq_segment_1": 42, "center_freq_segment_2": 0, "vht_basic_mcs_set": "0xfffc", "environment": "Indoor/Outdoor", "tsf_usec": 212108018214, "sta_channel_width_mhz": "any", "beacon_interval_tus": 100, "signal_dbm": -89.0, "last_seen_ms": 2060, "selected_rates": [6.0, 12.0], "ds_parameter_set_channel": 44, "max_amsdu_length_bytes": 7935, "power_constraint_db": 0, "minimum_rx_ampdu_time_spacing_usec": 4, "vht_rx_highest_supported_mbps": 0, "vht_tx_highest_supported_mbps": 0}] +[{"bssid": "ac:22:05:db:4d:5b", "interface": "wlan0", "freq": 2412, "capability": "ESS Privacy ShortSlotTime RadioMeasure (0x1411)", "ssid": "Hoeheitsgebiet", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "1-PTKSA-RC 1-GTKSA-RC (0x0000)", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 1, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non_gf_present": 1, "obss_non_gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l_sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "wpa": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP CCMP", "authentication_suites": "PSK", "rsn": "Version: 1", "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 1, "channel_utilisation": "103/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi_fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "327fd200-1dd2-11b2-8601-8e4aa01a9d4a", "manufacturer": "Ralink Technology, Corp.", "model": "Ralink Wireless Access Point", "model_number": "RT2860", "serial_number": 12345678, "primary_device_type": "6-0050f204-1", "device_name": "RalinkAPS", "rf_bands": "0x1", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "environment": "Indoor/Outdoor", "tsf_usec": 212106552475, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -57.0, "last_seen_ms": 3520, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 1, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"bssid": "1c:b0:44:75:42:a5", "interface": "wlan0", "freq": 2457, "capability": "ESS Privacy ShortPreamble ShortSlotTime (0x0431)", "ssid": "o2-WLAN38", "supported_rates": [9.0, 18.0, 36.0, 54.0, 1.0, 2.0, 5.5, 11.0], "country": "DE", "erp": "", "capabilities": "1-PTKSA-RC 1-GTKSA-RC MFP-capable (0x0080)", "ht_rx_mcs_rate_indexes_supported": "0-15", "rsn": "Version: 1", "group_cipher": "CCMP", "pairwise_ciphers": "CCMP", "authentication_suites": "PSK", "group_mgmt_cipher_suite": "AES-128-CMAC", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "primary_channel": 10, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non_gf_present": 1, "obss_non_gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l_sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "bss_width_channel_transition_delay_factor": 5, "extended_capabilities": "HT Information Exchange Supported", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi_fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "b0493afc-202d-11b2-8a5b-1cb0447542a5", "manufacturer": "Askey", "model": "o2 HomeBox", "model_number": 6741, "serial_number": "A804016507-009096", "primary_device_type": "6-0050f204-1", "device_name": "o2 HomeBox 6741", "config_methods": "Keypad", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "environment": "Indoor/Outdoor", "tsf_usec": 212108020750, "sta_channel_width_mhz": 20, "passive_dwell_tus": 20, "active_dwell_tus": 10, "channel_width_trigger_scan_interval_s": 300, "scan_passive_total_per_channel_tus": 200, "scan_active_total_per_channel_tus": 20, "beacon_interval_tus": 100, "signal_dbm": -70.0, "last_seen_ms": 2050, "selected_rates": [1.0], "obss_scan_activity_threshold_percent": 100.0, "ds_parameter_set_channel": 10, "max_amsdu_length_bytes": 3839, "power_constraint_db": 0, "minimum_rx_ampdu_time_spacing_usec": 16}, {"bssid": "34:2c:c4:34:3b:95", "interface": "wlan0", "freq": 2412, "capability": "ESS Privacy ShortSlotTime RadioMeasure (0x1411)", "ssid": "Medusa_13", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "1-PTKSA-RC 1-GTKSA-RC (0x0000)", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 1, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non_gf_present": 0, "obss_non_gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l_sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "wpa": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP CCMP", "authentication_suites": "PSK", "rsn": "Version: 1", "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 0, "channel_utilisation": "90/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi_fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "314ea500-1dd2-11b2-8601-8e4aa01a9d4a", "manufacturer": "Ralink Technology, Corp.", "model": "Ralink Wireless Access Point", "model_number": "RT2860", "serial_number": 12345678, "primary_device_type": "6-0050f204-1", "device_name": "RalinkAPS", "rf_bands": "0x1", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "environment": "Indoor/Outdoor", "tsf_usec": 212096913717, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -77.0, "last_seen_ms": 13160, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 1, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"bssid": "ac:22:05:e6:ff:41", "interface": "wlan0", "freq": 2462, "capability": "ESS Privacy RadioMeasure (0x1011)", "ssid": "UPCCDB29F5", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "1-PTKSA-RC 1-GTKSA-RC (0x0000)", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 11, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non_gf_present": 1, "obss_non_gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l_sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "wpa": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP CCMP", "authentication_suites": "PSK", "rsn": "Version: 1", "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 3, "channel_utilisation": "87/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi_fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "314ea500-1dd2-11b2-8601-8e4aa01a9d4a", "manufacturer": "Ralink Technology, Corp.", "model": "Ralink Wireless Access Point", "model_number": "RT2860", "serial_number": 12345678, "primary_device_type": "6-0050f204-1", "device_name": "RalinkAPS", "rf_bands": "0x1", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "environment": "Indoor/Outdoor", "tsf_usec": 212108270373, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -41.0, "last_seen_ms": 1750, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 11, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"bssid": "ac:22:05:e6:ff:24", "interface": "wlan0", "freq": 5180, "capability": "ESS Privacy ShortPreamble SpectrumMgmt ShortSlotTime RadioMeasure (0x1531)", "ssid": "UPCCDB29F5", "supported_rates": [6.0, 9.0, 12.0, 18.0, 24.0, 36.0, 48.0, 54.0], "rsn": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP", "authentication_suites": "PSK", "capabilities": "0x6f", "ht_rx_mcs_rate_indexes_supported": "0-23, 32", "primary_channel": 36, "secondary_channel_offset": "above", "rifs": 0, "ht_protection": "no", "non_gf_present": 1, "obss_non_gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l_sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": 6, "max_mpdu_length": 3895, "supported_channel_width": "neither 160 nor 80+80", "1_streams": "MCS 0-9", "2_streams": "MCS 0-9", "3_streams": "MCS 0-9", "4_streams": "not supported", "5_streams": "not supported", "6_streams": "not supported", "7_streams": "not supported", "8_streams": "not supported", "channel_width": "1 (80 MHz)", "center_freq_segment_1": 42, "center_freq_segment_2": 0, "vht_basic_mcs_set": "0xffc0", "station_count": 3, "channel_utilisation": "35/255", "available_admission_capacity": 30000, "wpa": "Version: 1", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi_fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "314ea500-1dd2-11b2-8601-8e4aa01a9d4a", "manufacturer": "Marvell", "model": "WAP", "model_number": 123, "serial_number": 12345, "primary_device_type": "6-0050f204-1", "device_name": "5G wireless AP", "rf_bands": "0x2", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "tsf_usec": 212107576616, "sta_channel_width_mhz": "any", "beacon_interval_tus": 100, "signal_dbm": -30.0, "last_seen_ms": 130, "selected_rates": [6.0, 12.0, 24.0], "ds_parameter_set_channel": 36, "max_amsdu_length_bytes": 3839, "power_constraint_db": 3, "minimum_rx_ampdu_time_spacing_usec": 4, "vht_rx_highest_supported_mbps": 0, "vht_tx_highest_supported_mbps": 0}, {"bssid": "a8:d3:f7:96:10:69", "interface": "wlan0", "freq": 2442, "capability": "ESS Privacy ShortPreamble ShortSlotTime (0x0431)", "ssid": "o2-WLAN34", "supported_rates": [9.0, 18.0, 36.0, 54.0, 1.0, 2.0, 5.5, 11.0], "country": "DE", "erp": "", "capabilities": "1-PTKSA-RC 1-GTKSA-RC (0x0000)", "ht_rx_mcs_rate_indexes_supported": "0-15", "rsn": "Version: 1", "group_cipher": "CCMP", "pairwise_ciphers": "CCMP", "authentication_suites": "PSK", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "primary_channel": 7, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "nonmember", "non_gf_present": 1, "obss_non_gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l_sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "bss_width_channel_transition_delay_factor": 5, "extended_capabilities": "HT Information Exchange Supported", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi_fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "4e9bd57c-8ebe-46d8-aa04-cdd3994f7288", "manufacturer": "Arcadyan", "model": "o2 HomeBox 6441", "model_number": "IAD 6441", "serial_number": "D512146595", "primary_device_type": "6-0050f204-1", "device_name": "D512146595-A8D3F7", "rf_bands": "0x3", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "environment": "Indoor/Outdoor", "tsf_usec": 212107440363, "sta_channel_width_mhz": 20, "passive_dwell_tus": 20, "active_dwell_tus": 10, "channel_width_trigger_scan_interval_s": 300, "scan_passive_total_per_channel_tus": 200, "scan_active_total_per_channel_tus": 20, "beacon_interval_tus": 100, "signal_dbm": -81.0, "last_seen_ms": 2630, "selected_rates": [1.0], "obss_scan_activity_threshold_percent": 100.0, "ds_parameter_set_channel": 7, "max_amsdu_length_bytes": 3839, "power_constraint_db": 0, "minimum_rx_ampdu_time_spacing_usec": 16}, {"bssid": "54:fa:3e:87:1f:93", "interface": "wlan0", "freq": 2472, "capability": "ESS Privacy ShortSlotTime APSD (0x0c11)", "ssid": "moin moin", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "capabilities": "1-PTKSA-RC 1-GTKSA-RC (0x0000)", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 13, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non_gf_present": 1, "obss_non_gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l_sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "wpa": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP CCMP", "authentication_suites": "PSK", "rsn": "Version: 1", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "station_count": 1, "channel_utilisation": "26/255", "available_admission_capacity": 31250, "extended_capabilities": "HT Information Exchange Supported", "country": "DE", "wps": "Version: 1.0", "wi_fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "bc329e00-1dd8-11b2-8601-54fa3e871f93", "manufacturer": "Celeno Communication, Inc.", "model": "Celeno Wireless AP 2.4G", "model_number": "CL1800", "serial_number": 12345678, "primary_device_type": "6-0050f204-1", "device_name": "CelenoAP2.4G", "config_methods": "Display, PBC, Keypad", "rf_bands": "0x1", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "environment": "Indoor/Outdoor", "tsf_usec": 212108698335, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -72.0, "last_seen_ms": 1310, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 13, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": "No"}, {"bssid": "ae:22:15:db:4d:5b", "interface": "wlan0", "freq": 2412, "capability": "ESS ShortSlotTime RadioMeasure (0x1401)", "ssid": "Vodafone Hotspot", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "0x1ac", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 1, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non_gf_present": 1, "obss_non_gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l_sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 1, "channel_utilisation": "103/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "environment": "Indoor/Outdoor", "tsf_usec": 212106562854, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -57.0, "last_seen_ms": 3510, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 1, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"bssid": "90:5c:44:d1:34:2f", "interface": "wlan0", "freq": 2437, "capability": "ESS Privacy ShortSlotTime RadioMeasure (0x1411)", "ssid": "UPC5144FAF", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "1-PTKSA-RC 1-GTKSA-RC (0x0000)", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 6, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "non-HT mixed", "non_gf_present": 1, "obss_non_gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l_sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "wpa": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP CCMP", "authentication_suites": "PSK", "rsn": "Version: 1", "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 1, "channel_utilisation": "109/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi_fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "30b60e80-1dd2-11b2-8601-8e4aa01a9d4a", "manufacturer": "Ralink Technology, Corp.", "model": "Ralink Wireless Access Point", "model_number": "RT2860", "serial_number": 12345678, "primary_device_type": "6-0050f204-1", "device_name": "RalinkAPS", "rf_bands": "0x1", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "environment": "Indoor/Outdoor", "tsf_usec": 212107263738, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -53.0, "last_seen_ms": 2810, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 6, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"bssid": "92:5c:14:d1:34:2f", "interface": "wlan0", "freq": 2437, "capability": "ESS ShortSlotTime RadioMeasure (0x1401)", "ssid": "Vodafone Hotspot", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "0x1ac", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 6, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "non-HT mixed", "non_gf_present": 1, "obss_non_gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l_sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 1, "channel_utilisation": "109/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "environment": "Indoor/Outdoor", "tsf_usec": 212107270871, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -53.0, "last_seen_ms": 2800, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 6, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"bssid": "36:2c:b4:34:3b:95", "interface": "wlan0", "freq": 2412, "capability": "ESS Privacy ShortSlotTime RadioMeasure (0x1411)", "ssid": "Gast_Medusa_13", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "1-PTKSA-RC 1-GTKSA-RC (0x0000)", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 1, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non_gf_present": 0, "obss_non_gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l_sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "wpa": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP CCMP", "authentication_suites": "PSK", "rsn": "Version: 1", "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 0, "channel_utilisation": "94/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "environment": "Indoor/Outdoor", "tsf_usec": 212075883822, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -77.0, "last_seen_ms": 13150, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 1, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"bssid": "fe:49:2d:20:d8:21", "interface": "wlan0", "freq": 2412, "capability": "ESS Privacy ShortSlotTime (0x0411)", "ssid": "\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00", "supported_rates": [6.0, 9.0, 12.0, 18.0, 24.0, 36.0, 48.0, 54.0], "tim": "DTIM Count 1 DTIM Period 2 Bitmap Control 0x0 Bitmap[0] 0x0", "erp": "", "rsn": "Version: 1", "group_cipher": "CCMP", "pairwise_ciphers": "CCMP", "authentication_suites": "PSK", "capabilities": "0x1ad", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 1, "secondary_channel_offset": "no secondary", "rifs": 1, "ht_protection": "no", "non_gf_present": 0, "obss_non_gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l_sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": "Extended Channel Switching", "wps": "Version: 1.0", "wi_fi_protected_setup_state": "2 (Configured)", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "device_name": "Marion,Laura,Larissas Fire TV...", "primary_device_type": "1-0050f204-9", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "p2p": "Group capa: 0x25, Device capa: 0xab", "unknown_tlv_0x03_6_bytes": "49 2d 20 58 21 dd", "tsf_usec": 212080903764, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -67.0, "last_seen_ms": 29170, "selected_rates": [6.0, 12.0, 24.0], "ds_parameter_set_channel": 1, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"bssid": "90:5c:44:db:21:48", "interface": "wlan0", "freq": 2462, "capability": "ESS Privacy ShortSlotTime RadioMeasure (0x1411)", "ssid": "UPC614F5E5", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "1-PTKSA-RC 1-GTKSA-RC (0x0000)", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 11, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non_gf_present": 1, "obss_non_gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l_sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "wpa": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP CCMP", "authentication_suites": "PSK", "rsn": "Version: 1", "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 1, "channel_utilisation": "100/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi_fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "314ea500-1dd2-11b2-8601-8e4aa01a9d4a", "manufacturer": "Ralink Technology, Corp.", "model": "Ralink Wireless Access Point", "model_number": "RT2860", "serial_number": 12345678, "primary_device_type": "6-0050f204-1", "device_name": "RalinkAPS", "rf_bands": "0x1", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "environment": "Indoor/Outdoor", "tsf_usec": 212077364612, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -76.0, "last_seen_ms": 27640, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 11, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"bssid": "ae:22:15:e6:ff:41", "interface": "wlan0", "freq": 2462, "capability": "ESS RadioMeasure (0x1001)", "ssid": "Vodafone Hotspot", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "0x1ac", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 11, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non_gf_present": 1, "obss_non_gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l_sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 3, "channel_utilisation": "87/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "environment": "Indoor/Outdoor", "tsf_usec": 212108278788, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -40.0, "last_seen_ms": 1740, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 11, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"bssid": "34:31:c4:b8:2e:85", "interface": "wlan0", "freq": 2437, "capability": "ESS Privacy ShortPreamble ShortSlotTime RadioMeasure (0x1431)", "ssid": "Nexus", "supported_rates": [1.0, 2.0, 5.5, 11.0, 6.0, 9.0, 12.0, 18.0], "tim": "DTIM Count 0 DTIM Period 1 Bitmap Control 0x0 Bitmap[0] 0x0 (+ 1 octet)", "country": "DE", "erp": "", "extended_supported_rates": [36.0, 48.0, 54.0], "station_count": 13, "channel_utilisation": "74/255", "available_admission_capacity": 0, "capabilities": "1-PTKSA-RC 1-GTKSA-RC MFP-capable (0x0080)", "ht_tx/rx_mcs_rate_indexes_supported": "0-23", "primary_channel": 6, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "nonmember", "non_gf_present": 1, "obss_non_gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l_sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "bss_width_channel_transition_delay_factor": 5, "extended_capabilities": "HT Information Exchange Supported, Extended Channel Switching, TFS, WNM-Sleep Mode, TIM Broadcast, BSS Transition, 6", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi_fi_protected_setup_state": "2 (Configured)", "rf_bands": "0x3", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "rsn": "Version: 1", "group_cipher": "CCMP", "pairwise_ciphers": "CCMP", "authentication_suites": "PSK 00-0f-ac:8", "environment": "Indoor/Outdoor", "tsf_usec": 212081672689, "sta_channel_width_mhz": 20, "passive_dwell_tus": 20, "active_dwell_tus": 10, "channel_width_trigger_scan_interval_s": 300, "scan_passive_total_per_channel_tus": 200, "scan_active_total_per_channel_tus": 20, "beacon_interval_tus": 100, "signal_dbm": -83.0, "last_seen_ms": 28400, "selected_rates": [1.0, 2.0, 5.5, 11.0, 6.0, 12.0], "obss_scan_activity_threshold_percent": 0.25, "ds_parameter_set_channel": 6, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 8}, {"bssid": "92:5c:14:db:21:48", "interface": "wlan0", "freq": 2462, "capability": "ESS ShortSlotTime RadioMeasure (0x1401)", "ssid": "Vodafone Hotspot", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "0x1ac", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 11, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non_gf_present": 1, "obss_non_gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l_sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 1, "channel_utilisation": "111/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "environment": "Indoor/Outdoor", "tsf_usec": 212098644532, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -71.0, "last_seen_ms": 11430, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 11, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"bssid": "9c:80:df:31:03:a4", "interface": "wlan0", "freq": 2467, "capability": "ESS Privacy ShortSlotTime (0x0411)", "ssid": "o2-WLAN84", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "DE", "wps": "Version: 1.0", "wi_fi_protected_setup_state": "2 (Configured)", "tim": "DTIM Count 0 DTIM Period 1 Bitmap Control 0x0 Bitmap[0] 0x0", "erp": "Barker_Preamble_Mode", "capabilities": "PreAuth 1-PTKSA-RC 1-GTKSA-RC (0x0001)", "ht_rx_mcs_rate_indexes_supported": "0-15, 32", "primary_channel": 12, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "20 MHz", "non_gf_present": 1, "obss_non_gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l_sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": "HT Information Exchange Supported", "bss_width_channel_transition_delay_factor": 5, "rsn": "Version: 1", "group_cipher": "CCMP", "pairwise_ciphers": "CCMP", "authentication_suites": "PSK", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "station_count": 768, "channel_utilisation": "33/255", "available_admission_capacity": 4730, "environment": "Indoor/Outdoor", "tsf_usec": 212082583134, "sta_channel_width_mhz": 20, "passive_dwell_tus": 20, "active_dwell_tus": 10, "channel_width_trigger_scan_interval_s": 300, "scan_passive_total_per_channel_tus": 200, "scan_active_total_per_channel_tus": 20, "beacon_interval_tus": 100, "signal_dbm": -87.0, "last_seen_ms": 27490, "selected_rates": [1.0, 2.0, 5.5, 11.0], "obss_scan_activity_threshold_percent": 0.25, "ds_parameter_set_channel": 12, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"bssid": "36:2c:94:34:3b:95", "interface": "wlan0", "freq": 2412, "capability": "ESS ShortSlotTime RadioMeasure (0x1401)", "ssid": "Vodafone Hotspot", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "0x1ac", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 1, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non_gf_present": 0, "obss_non_gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l_sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 0, "channel_utilisation": "90/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "environment": "Indoor/Outdoor", "tsf_usec": 212096926483, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -84.0, "last_seen_ms": 13150, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 1, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"bssid": "38:43:7d:1c:95:e6", "interface": "wlan0", "freq": 2437, "capability": "ESS Privacy ShortSlotTime RadioMeasure (0x1411)", "ssid": "UPCB45EF15", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "tim": "DTIM Count 0 DTIM Period 1 Bitmap Control 0x0 Bitmap[0] 0x0", "wpa": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP CCMP", "authentication_suites": "PSK", "rsn": "Version: 1", "capabilities": "0x1ac", "wps": "Version: 1.0", "wi_fi_protected_setup_state": "2 (Configured)", "uuid": "30b60e80-1dd2-11b2-8601-8e4aa01a9d4a", "rf_bands": "0x1", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "erp": "Barker_Preamble_Mode", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 6, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non_gf_present": 1, "obss_non_gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l_sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "station_count": 1, "channel_utilisation": "86/255", "available_admission_capacity": 31250, "environment": "Indoor/Outdoor", "tsf_usec": 212097695148, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -83.0, "last_seen_ms": 12380, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 6, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"bssid": "90:5c:44:db:21:33", "interface": "wlan0", "freq": 5180, "capability": "ESS Privacy ShortPreamble SpectrumMgmt ShortSlotTime RadioMeasure (0x1531)", "ssid": "UPC614F5E5", "supported_rates": [6.0, 9.0, 12.0, 18.0, 24.0, 36.0, 48.0, 54.0], "rsn": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP", "authentication_suites": "PSK", "capabilities": "0x6f", "ht_rx_mcs_rate_indexes_supported": "0-23, 32", "primary_channel": 36, "secondary_channel_offset": "above", "rifs": 0, "ht_protection": "no", "non_gf_present": 1, "obss_non_gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l_sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": 6, "max_mpdu_length": 3895, "supported_channel_width": "neither 160 nor 80+80", "1_streams": "MCS 0-9", "2_streams": "MCS 0-9", "3_streams": "MCS 0-9", "4_streams": "not supported", "5_streams": "not supported", "6_streams": "not supported", "7_streams": "not supported", "8_streams": "not supported", "channel_width": "1 (80 MHz)", "center_freq_segment_1": 42, "center_freq_segment_2": 0, "vht_basic_mcs_set": "0xffc0", "station_count": 2, "channel_utilisation": "54/255", "available_admission_capacity": 30000, "wpa": "Version: 1", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi_fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "314ea500-1dd2-11b2-8601-8e4aa01a9d4a", "manufacturer": "Marvell", "model": "WAP", "model_number": 123, "serial_number": 12345, "primary_device_type": "6-0050f204-1", "device_name": "5G wireless AP", "rf_bands": "0x2", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "tsf_usec": 212107555845, "sta_channel_width_mhz": "any", "beacon_interval_tus": 100, "signal_dbm": -88.0, "last_seen_ms": 2510, "selected_rates": [6.0, 12.0, 24.0], "ds_parameter_set_channel": 36, "max_amsdu_length_bytes": 3839, "power_constraint_db": 3, "minimum_rx_ampdu_time_spacing_usec": 4, "vht_rx_highest_supported_mbps": 0, "vht_tx_highest_supported_mbps": 0}, {"bssid": "a8:d3:f7:96:10:6d", "interface": "wlan0", "freq": 5200, "capability": "ESS Privacy SpectrumMgmt ShortSlotTime (0x0511)", "ssid": "o2-WLAN34", "supported_rates": [6.0, 9.0, 12.0, 18.0, 24.0, 36.0, 48.0, 54.0], "country": "DE", "capabilities": "1-PTKSA-RC 1-GTKSA-RC (0x0000)", "ht_tx/rx_mcs_rate_indexes_supported": "0-31, 33-76", "primary_channel": 40, "secondary_channel_offset": "below", "rifs": 0, "ht_protection": "nonmember", "non_gf_present": 1, "obss_non_gf_present": 1, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l_sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "rsn": "Version: 1", "group_cipher": "CCMP", "pairwise_ciphers": "CCMP", "authentication_suites": "PSK", "extended_capabilities": "HT Information Exchange Supported, SSID List, 6", "wps": "Version: 1.0", "wi_fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "4e9bd57c-8ebe-46d8-aa04-cdd3994f7288", "manufacturer": "Quantenna", "model": "Topaz", "model_number": "QV840.432", "serial_number": "A8D3F796106D", "primary_device_type": "6-0050f204-1", "device_name": "Reference Design", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "max_mpdu_length": 11454, "supported_channel_width": "neither 160 nor 80+80", "1_streams": "MCS 0-9", "2_streams": "MCS 0-9", "3_streams": "MCS 0-9", "4_streams": "MCS 0-9", "5_streams": "not supported", "6_streams": "not supported", "7_streams": "not supported", "8_streams": "not supported", "channel_width": "1 (80 MHz)", "center_freq_segment_1": 42, "center_freq_segment_2": 0, "vht_basic_mcs_set": "0xfffc", "environment": "Indoor/Outdoor", "tsf_usec": 212107799783, "sta_channel_width_mhz": "any", "beacon_interval_tus": 100, "signal_dbm": -88.0, "last_seen_ms": 2260, "selected_rates": [6.0, 12.0], "ds_parameter_set_channel": 40, "max_amsdu_length_bytes": 7935, "power_constraint_db": 0, "minimum_rx_ampdu_time_spacing_usec": 4, "vht_rx_highest_supported_mbps": 0, "vht_tx_highest_supported_mbps": 0}, {"bssid": "90:5c:44:d1:34:20", "interface": "wlan0", "freq": 5220, "capability": "ESS Privacy ShortPreamble SpectrumMgmt ShortSlotTime RadioMeasure (0x1531)", "ssid": "UPC5144FAF", "supported_rates": [6.0, 9.0, 12.0, 18.0, 24.0, 36.0, 48.0, 54.0], "rsn": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP", "authentication_suites": "PSK", "capabilities": "0x6f", "ht_rx_mcs_rate_indexes_supported": "0-23, 32", "primary_channel": 44, "secondary_channel_offset": "above", "rifs": 0, "ht_protection": "no", "non_gf_present": 1, "obss_non_gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l_sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": 6, "max_mpdu_length": 3895, "supported_channel_width": "neither 160 nor 80+80", "1_streams": "MCS 0-9", "2_streams": "MCS 0-9", "3_streams": "MCS 0-9", "4_streams": "not supported", "5_streams": "not supported", "6_streams": "not supported", "7_streams": "not supported", "8_streams": "not supported", "channel_width": "1 (80 MHz)", "center_freq_segment_1": 42, "center_freq_segment_2": 0, "vht_basic_mcs_set": "0xffc0", "station_count": 1, "channel_utilisation": "33/255", "available_admission_capacity": 30000, "wpa": "Version: 1", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi_fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "30b60e80-1dd2-11b2-8601-8e4aa01a9d4a", "manufacturer": "Marvell", "model": "WAP", "model_number": 123, "serial_number": 12345, "primary_device_type": "6-0050f204-1", "device_name": "5G wireless AP", "rf_bands": "0x2", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "tsf_usec": 212108016406, "sta_channel_width_mhz": "any", "beacon_interval_tus": 100, "signal_dbm": -46.0, "last_seen_ms": 2060, "selected_rates": [6.0, 12.0, 24.0], "ds_parameter_set_channel": 44, "max_amsdu_length_bytes": 3839, "power_constraint_db": 3, "minimum_rx_ampdu_time_spacing_usec": 4, "vht_rx_highest_supported_mbps": 0, "vht_tx_highest_supported_mbps": 0}, {"bssid": "ac:22:05:db:4d:22", "interface": "wlan0", "freq": 5220, "capability": "ESS Privacy ShortPreamble SpectrumMgmt ShortSlotTime RadioMeasure (0x1531)", "ssid": "Hoeheitsgebiet", "supported_rates": [6.0, 9.0, 12.0, 18.0, 24.0, 36.0, 48.0, 54.0], "rsn": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP", "authentication_suites": "PSK", "capabilities": "0x6f", "ht_rx_mcs_rate_indexes_supported": "0-23, 32", "primary_channel": 44, "secondary_channel_offset": "above", "rifs": 0, "ht_protection": "no", "non_gf_present": 1, "obss_non_gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l_sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "extended_capabilities": 6, "max_mpdu_length": 3895, "supported_channel_width": "neither 160 nor 80+80", "1_streams": "MCS 0-9", "2_streams": "MCS 0-9", "3_streams": "MCS 0-9", "4_streams": "not supported", "5_streams": "not supported", "6_streams": "not supported", "7_streams": "not supported", "8_streams": "not supported", "channel_width": "1 (80 MHz)", "center_freq_segment_1": 42, "center_freq_segment_2": 0, "vht_basic_mcs_set": "0xffc0", "station_count": 4, "channel_utilisation": "43/255", "available_admission_capacity": 30000, "wpa": "Version: 1", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi_fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "327fd200-1dd2-11b2-8601-8e4aa01a9d4a", "manufacturer": "Marvell", "model": "WAP", "model_number": 123, "serial_number": 12345, "primary_device_type": "6-0050f204-1", "device_name": "5G wireless AP", "rf_bands": "0x2", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "tsf_usec": 212108018921, "sta_channel_width_mhz": "any", "beacon_interval_tus": 100, "signal_dbm": -68.0, "last_seen_ms": 2020, "selected_rates": [6.0, 12.0, 24.0], "ds_parameter_set_channel": 44, "max_amsdu_length_bytes": 3839, "power_constraint_db": 3, "minimum_rx_ampdu_time_spacing_usec": 4, "vht_rx_highest_supported_mbps": 0, "vht_tx_highest_supported_mbps": 0}, {"bssid": "54:67:51:2c:3d:0a", "interface": "wlan0", "freq": 2462, "capability": "ESS Privacy ShortSlotTime RadioMeasure (0x1411)", "ssid": "UPC956E146", "supported_rates": [1.0, 2.0, 5.5, 11.0, 9.0, 18.0, 36.0, 54.0], "erp": "Barker_Preamble_Mode", "extended_supported_rates": [6.0, 12.0, 24.0, 48.0], "country": "EU", "capabilities": "1-PTKSA-RC 1-GTKSA-RC (0x0000)", "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 11, "secondary_channel_offset": "no secondary", "rifs": 0, "ht_protection": "no", "non_gf_present": 0, "obss_non_gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l_sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "wpa": "Version: 1", "group_cipher": "TKIP", "pairwise_ciphers": "TKIP CCMP", "authentication_suites": "PSK", "rsn": "Version: 1", "extended_capabilities": "HT Information Exchange Supported, BSS Transition", "station_count": 0, "channel_utilisation": "93/255", "available_admission_capacity": 31250, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi_fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "314ea500-1dd2-11b2-8601-8e4aa01a9d4a", "manufacturer": "Ralink Technology, Corp.", "model": "Ralink Wireless Access Point", "model_number": "RT2860", "serial_number": 12345678, "primary_device_type": "6-0050f204-1", "device_name": "RalinkAPS", "rf_bands": "0x1", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "environment": "Indoor/Outdoor", "tsf_usec": 212108254184, "sta_channel_width_mhz": 20, "beacon_interval_tus": 100, "signal_dbm": -80.0, "last_seen_ms": 1820, "selected_rates": [1.0, 2.0, 5.5, 11.0], "ds_parameter_set_channel": 11, "max_amsdu_length_bytes": 3839, "minimum_rx_ampdu_time_spacing_usec": 4}, {"bssid": "74:31:70:75:f1:e2", "interface": "wlan0", "freq": 2462, "capability": "ESS Privacy ShortSlotTime (0x0411)", "ssid": "WLAN-75F122", "supported_rates": [1.0, 2.0, 5.5, 11.0, 18.0, 24.0, 36.0, 54.0], "erp": "", "erp_d4.0": "", "rsn": "Version: 1", "group_cipher": "CCMP", "pairwise_ciphers": "CCMP", "authentication_suites": "PSK", "capabilities": "0x186c", "extended_supported_rates": [6.0, 9.0, 12.0, 48.0], "ht_rx_mcs_rate_indexes_supported": "0-15", "primary_channel": 11, "secondary_channel_offset": "no secondary", "rifs": 1, "ht_protection": "no", "non_gf_present": 1, "obss_non_gf_present": 0, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l_sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "bss_width_channel_transition_delay_factor": 5, "extended_capabilities": "HT Information Exchange Supported", "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "wps": "Version: 1.0", "wi_fi_protected_setup_state": "2 (Configured)", "selected_registrar": "0x0", "response_type": "3 (AP)", "uuid": "00000000-0000-0003-0000-74317075f1e2", "manufacturer": "Corporation", "model": "VGV8539JW", "model_number": "1.47.000", "serial_number": "J144024542", "primary_device_type": "6-0050f204-1", "device_name": "Wireless Router(WFA)", "config_methods": "Label, PBC", "rf_bands": "0x3", "tsf_usec": 212098649788, "sta_channel_width_mhz": 20, "passive_dwell_tus": 20, "active_dwell_tus": 10, "channel_width_trigger_scan_interval_s": 300, "scan_passive_total_per_channel_tus": 200, "scan_active_total_per_channel_tus": 20, "beacon_interval_tus": 100, "signal_dbm": -80.0, "last_seen_ms": 11420, "selected_rates": [1.0, 2.0, 5.5, 11.0], "obss_scan_activity_threshold_percent": 0.25, "ds_parameter_set_channel": 11, "max_amsdu_length_bytes": 7935, "minimum_rx_ampdu_time_spacing_usec": 16}, {"bssid": "1c:b0:44:75:42:a8", "interface": "wlan0", "freq": 5220, "capability": "ESS Privacy SpectrumMgmt ShortSlotTime (0x0511)", "ssid": "o2-WLAN38", "supported_rates": [6.0, 9.0, 12.0, 18.0, 24.0, 36.0, 48.0, 54.0], "station_count": 5, "channel_utilisation": "55/255", "available_admission_capacity": 65535, "country": "DE", "capabilities": "1-PTKSA-RC 1-GTKSA-RC MFP-capable (0x0080)", "ht_tx/rx_mcs_rate_indexes_supported": "0-31, 33-76", "primary_channel": 44, "secondary_channel_offset": "above", "rifs": 0, "ht_protection": "nonmember", "non_gf_present": 1, "obss_non_gf_present": 1, "dual_beacon": 0, "dual_cts_protection": 0, "stbc_beacon": 0, "l_sig_txop_prot": 0, "pco_active": 0, "pco_phase": 0, "wmm": "Parameter version 1", "be": "CW 15-1023, AIFSN 3", "bk": "CW 15-1023, AIFSN 7", "vi": "CW 7-15, AIFSN 2, TXOP 3008 usec", "vo": "CW 3-7, AIFSN 2, TXOP 1504 usec", "rsn": "Version: 1", "group_cipher": "CCMP", "pairwise_ciphers": "CCMP", "authentication_suites": "PSK", "group_mgmt_cipher_suite": "AES-128-CMAC", "extended_capabilities": "HT Information Exchange Supported, BSS Transition, SSID List, 6", "wps": "Version: 1.0", "wi_fi_protected_setup_state": "2 (Configured)", "response_type": "3 (AP)", "uuid": "b0493afc-202d-11b2-8a5b-1cb0447542a5", "manufacturer": "Askey", "model": "o2 HomeBox", "model_number": 6741, "serial_number": "1CB0447542A8", "primary_device_type": "6-0050f204-1", "device_name": "o2 HomeBox 6741", "config_methods": "Display", "unknown_tlv_0x1049_6_bytes": "00 37 2a 00 01 20", "max_mpdu_length": 11454, "supported_channel_width": "neither 160 nor 80+80", "1_streams": "MCS 0-9", "2_streams": "MCS 0-9", "3_streams": "MCS 0-9", "4_streams": "MCS 0-9", "5_streams": "not supported", "6_streams": "not supported", "7_streams": "not supported", "8_streams": "not supported", "channel_width": "1 (80 MHz)", "center_freq_segment_1": 42, "center_freq_segment_2": 0, "vht_basic_mcs_set": "0xfffc", "environment": "Indoor/Outdoor", "tsf_usec": 212108018214, "sta_channel_width_mhz": "any", "beacon_interval_tus": 100, "signal_dbm": -89.0, "last_seen_ms": 2060, "selected_rates": [6.0, 12.0], "ds_parameter_set_channel": 44, "max_amsdu_length_bytes": 7935, "power_constraint_db": 0, "minimum_rx_ampdu_time_spacing_usec": 4, "vht_rx_highest_supported_mbps": 0, "vht_tx_highest_supported_mbps": 0}] From 0adac79c0f2a22b31dfef1432a029af06132467b Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Wed, 6 Jan 2021 11:09:59 -0800 Subject: [PATCH 21/25] Add last parser enhancements --- CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG b/CHANGELOG index 606b79509..dde77d5a8 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -4,6 +4,7 @@ jc changelog - Add iw-scan parser tested on linux (beta) - Update date parser for Ubuntu 20.04 support - Update last parser for last -F support +- Update last parser to add convenience fields and augment data for easier parsing - Update man page - Minor documentation updates From 60b9e9798286121399d0f8b75d63ab0f3312c9bf Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Wed, 6 Jan 2021 12:02:47 -0800 Subject: [PATCH 22/25] last parser enhancements: augment hostname with CONSOLE for GUI login, add convenience fields when -F is used: login_epoch, logout_epoch, duration_seconds, calculate duration to hours:minutes --- docs/parsers/last.md | 37 +++++++++------ jc/parsers/last.py | 57 +++++++++++++++++------ tests/fixtures/centos-7.7/last-crash.json | 2 +- tests/fixtures/centos-7.7/last-w.json | 2 +- tests/fixtures/centos-7.7/last-wF.json | 2 +- tests/fixtures/centos-7.7/last-wF.out | 6 +++ tests/fixtures/centos-7.7/last.json | 2 +- tests/fixtures/fedora32/last.json | 2 +- tests/fixtures/osx-10.14.6/last.json | 2 +- tests/fixtures/ubuntu-18.04/last-w.json | 2 +- tests/fixtures/ubuntu-18.04/last.json | 2 +- tests/fixtures/ubuntu-20.04/last-F.json | 2 +- 12 files changed, 80 insertions(+), 38 deletions(-) diff --git a/docs/parsers/last.md b/docs/parsers/last.md index ef5a61e6c..7a8531774 100644 --- a/docs/parsers/last.md +++ b/docs/parsers/last.md @@ -23,30 +23,36 @@ Compatibility: Examples: - $ last | jc --last -p + $ last -F | jc --last -p [ { "user": "kbrazil", "tty": "ttys002", "hostname": null, - "login": "Thu Feb 27 14:31", + "login": "Mon Dec 28 17:24:10 2020", "logout": "still logged in" }, { "user": "kbrazil", "tty": "ttys003", "hostname": null, - "login": "Thu Feb 27 10:38", - "logout": "10:38", - "duration": "00:00" + "login": "Mon Dec 28 17:24:10 2020", + "logout": "Mon Dec 28 17:25:01 2020", + "duration": "00:00", + "login_epoch": 1565891826, + "logout_epoch": 1565895404, + "duration_seconds": 3578 }, { "user": "kbrazil", "tty": "ttys003", "hostname": null, - "login": "Thu Feb 27 10:18", - "logout": "10:18", - "duration": "00:00" + "login": "Mon Dec 28 17:24:10 2020", + "logout": "Mon Dec 28 17:25:01 2020", + "duration": "00:00", + "login_epoch": 1565891826, + "logout_epoch": 1565895404, + "duration_seconds": 3578 }, ... ] @@ -104,12 +110,15 @@ Returns: [ { - "user": string, - "tty": string, - "hostname": string, - "login": string, - "logout": string, - "duration": string + "user": string, + "tty": string, + "hostname": string, + "login": string, + "logout": string, + "duration": string, + "login_epoch": integer, # available with last -F option + "logout_epoch": integer, # available with last -F option + "duration_seconds": integer # available with last -F option } ] diff --git a/jc/parsers/last.py b/jc/parsers/last.py index 39f04f9cd..eb312416e 100644 --- a/jc/parsers/last.py +++ b/jc/parsers/last.py @@ -21,30 +21,36 @@ Examples: - $ last | jc --last -p + $ last -F | jc --last -p [ { "user": "kbrazil", "tty": "ttys002", "hostname": null, - "login": "Thu Feb 27 14:31", + "login": "Mon Dec 28 17:24:10 2020", "logout": "still logged in" }, { "user": "kbrazil", "tty": "ttys003", "hostname": null, - "login": "Thu Feb 27 10:38", - "logout": "10:38", - "duration": "00:00" + "login": "Mon Dec 28 17:24:10 2020", + "logout": "Mon Dec 28 17:25:01 2020", + "duration": "00:00", + "login_epoch": 1565891826, + "logout_epoch": 1565895404, + "duration_seconds": 3578 }, { "user": "kbrazil", "tty": "ttys003", "hostname": null, - "login": "Thu Feb 27 10:18", - "logout": "10:18", - "duration": "00:00" + "login": "Mon Dec 28 17:24:10 2020", + "logout": "Mon Dec 28 17:25:01 2020", + "duration": "00:00", + "login_epoch": 1565891826, + "logout_epoch": 1565895404, + "duration_seconds": 3578 }, ... ] @@ -79,6 +85,7 @@ """ import re +from datetime import datetime import jc.utils @@ -87,7 +94,7 @@ class info(): description = 'last and lastb command parser' author = 'Kelly Brazil' author_email = 'kellyjonbrazil@gmail.com' - # details = 'enter any other details here' + details = 'Enhancements by https://github.com/zerolagtime' # compatible options: linux, darwin, cygwin, win32, aix, freebsd compatible = ['linux', 'darwin', 'aix', 'freebsd'] @@ -111,12 +118,15 @@ def process(proc_data): [ { - "user": string, - "tty": string, - "hostname": string, - "login": string, - "logout": string, - "duration": string + "user": string, + "tty": string, + "hostname": string, + "login": string, + "logout": string, + "duration": string, + "login_epoch": integer, # available with last -F option + "logout_epoch": integer, # available with last -F option + "duration_seconds": integer # available with last -F option } ] """ @@ -133,12 +143,29 @@ def process(proc_data): if 'hostname' in entry and entry['hostname'] == '-': entry['hostname'] = None + if 'hostname' in entry and entry['hostname'] is not None and entry['hostname'][0] == ":": + entry['hostname'] = f'CONSOLE{entry["hostname"]}' + if 'logout' in entry and entry['logout'] == 'still_logged_in': entry['logout'] = 'still logged in' if 'logout' in entry and entry['logout'] == 'gone_-_no_logout': entry['logout'] = 'gone - no logout' + if 'login' in entry and re.match(r'.*\d\d:\d\d:\d\d \d\d\d\d.*',entry['login']): + entry['login_epoch'] = int(datetime.strptime(entry['login'], '%a %b %d %H:%M:%S %Y').strftime('%s')) + + if 'logout' in entry and re.match(r'.*\d\d:\d\d:\d\d \d\d\d\d.*',entry['logout']): + entry['logout_epoch'] = int(datetime.strptime(entry['logout'], '%a %b %d %H:%M:%S %Y').strftime('%s')) + + if 'login_epoch' in entry and 'logout_epoch' in entry: + entry['duration_seconds'] = int(entry['logout_epoch']) - int(entry['login_epoch']) + + if 'duration' in entry and re.match(r'^\d+\+', entry['duration']): + m = re.match(r'^(?P\d+)\+(?P\d\d):(?P\d\d)', entry['duration']) + days, hours, minutes = m.groups() + entry['duration'] = f'{int(days)*24 + int(hours)}:{minutes}' + return proc_data diff --git a/tests/fixtures/centos-7.7/last-crash.json b/tests/fixtures/centos-7.7/last-crash.json index 46877f97d..6bd44436f 100644 --- a/tests/fixtures/centos-7.7/last-crash.json +++ b/tests/fixtures/centos-7.7/last-crash.json @@ -1 +1 @@ -[{"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Tue Jan 5 14:29", "logout": "still logged in"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jan 5 14:28", "logout": "still logged in"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Jan 5 14:28", "logout": "14:35", "duration": "00:07"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Mon Jan 4 12:29", "logout": "crash", "duration": "1+01:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Mon Jan 4 12:11", "logout": "14:35", "duration": "1+02:24"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Wed Dec 30 11:12", "logout": "crash", "duration": "5+00:58"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Wed Dec 30 10:59", "logout": "14:35", "duration": "6+03:35"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Tue Dec 29 10:14", "logout": "crash", "duration": "1+00:45"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Dec 29 10:11", "logout": "crash", "duration": "1+00:48"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Dec 29 10:11", "logout": "14:35", "duration": "7+04:24"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Wed Aug 12 15:21", "logout": "crash", "duration": "138+19:49"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Wed Aug 12 15:08", "logout": "crash", "duration": "138+20:03"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Wed Aug 12 15:07", "logout": "14:35", "duration": "146+00:28"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Tue Aug 4 09:39", "logout": "crash", "duration": "8+05:27"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Aug 4 09:39", "logout": "crash", "duration": "8+05:28"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Aug 4 09:30", "logout": "14:35", "duration": "154+06:05"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Sat Aug 1 08:58", "logout": "crash", "duration": "3+00:32"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri Jul 31 13:55", "logout": "crash", "duration": "3+19:34"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Jul 31 13:55", "logout": "14:35", "duration": "158+01:40"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Thu Jul 30 08:34", "logout": "crash", "duration": "1+05:21"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Thu Jul 30 08:31", "logout": "crash", "duration": "1+05:24"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Thu Jul 30 08:31", "logout": "14:35", "duration": "159+07:04"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Tue Jul 28 19:23", "logout": "crash", "duration": "1+13:07"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jul 28 19:23", "logout": "crash", "duration": "1+13:07"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Jul 28 19:22", "logout": "14:35", "duration": "160+20:13"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Tue Jul 28 16:27", "logout": "crash", "duration": "02:54"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jul 28 16:27", "logout": "crash", "duration": "02:55"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Jul 28 13:22", "logout": "14:35", "duration": "161+02:13"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Tue Jul 28 00:13", "logout": "crash", "duration": "13:08"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Mon Jul 27 20:23", "logout": "00:13", "duration": "03:49"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Mon Jul 27 20:23", "logout": "crash", "duration": "16:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Mon Jul 27 20:04", "logout": "14:35", "duration": "161+19:31"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Tue Jul 21 09:15", "logout": "crash", "duration": "6+10:49"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jul 21 09:15", "logout": "crash", "duration": "6+10:49"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Jul 21 09:14", "logout": "14:35", "duration": "168+06:21"}, {"user": "kbrazil", "tty": "pts/1", "hostname": "kbrazil-mac.attl", "login": "Fri Jul 17 19:12", "logout": "19:13", "duration": "00:00"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri Jul 17 15:49", "logout": "crash", "duration": "3+17:25"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri Jul 17 15:48", "logout": "crash", "duration": "3+17:26"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Jul 17 15:48", "logout": "14:35", "duration": "171+23:47"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Fri Jul 17 01:52", "logout": "crash", "duration": "13:56"}, {"user": "kbrazil", "tty": "pts/1", "hostname": "192.168.71.1", "login": "Thu Jul 16 14:48", "logout": "crash", "duration": "1+00:59"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Thu Jul 16 14:10", "logout": "16:26", "duration": "02:15"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Thu Jul 16 14:09", "logout": "crash", "duration": "1+01:38"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Thu Jul 16 08:35", "logout": "14:35", "duration": "173+07:00"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Jul 8 13:44", "logout": "crash", "duration": "7+18:50"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Wed Jul 8 13:12", "logout": "crash", "duration": "7+19:22"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Wed Jul 8 11:27", "logout": "14:35", "duration": "181+04:08"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Jun 26 11:53", "logout": "crash", "duration": "11+23:33"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Jun 26 11:52", "logout": "14:35", "duration": "193+03:43"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Jun 23 15:23", "logout": "15:27", "duration": "00:03"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Jun 23 15:23", "logout": "15:27", "duration": "00:04"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri Jun 19 10:47", "logout": "crash", "duration": "4+04:36"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri Jun 19 10:46", "logout": "crash", "duration": "4+04:36"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Jun 19 10:29", "logout": "15:27", "duration": "4+04:58"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Mon Jun 8 10:30", "logout": "crash", "duration": "10+23:58"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Mon Jun 8 10:30", "logout": "crash", "duration": "10+23:58"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Mon Jun 8 10:30", "logout": "15:27", "duration": "15+04:57"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Jun 2 12:05", "logout": "15:27", "duration": "21+03:21"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Tue Jun 2 08:38", "logout": "crash", "duration": "03:26"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jun 2 08:38", "logout": "crash", "duration": "03:27"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Jun 2 06:13", "logout": "15:27", "duration": "21+09:13"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sun May 24 16:10", "logout": "17:18", "duration": "01:08"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Sun May 24 15:34", "logout": "crash", "duration": "8+14:39"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Sun May 24 15:34", "logout": "15:27", "duration": "29+23:53"}, {"user": "kbrazil", "tty": "pts/1", "hostname": "192.168.71.1", "login": "Fri May 22 13:39", "logout": "crash", "duration": "2+01:54"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri May 22 13:11", "logout": "crash", "duration": "2+02:22"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri May 22 13:10", "logout": "crash", "duration": "2+02:23"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri May 22 12:49", "logout": "15:27", "duration": "32+02:37"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri May 22 08:44", "logout": "crash", "duration": "04:05"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri May 22 08:44", "logout": "crash", "duration": "04:05"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri May 22 08:43", "logout": "15:27", "duration": "32+06:43"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Thu May 14 16:39", "logout": "crash", "duration": "7+16:04"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Thu May 14 16:39", "logout": "15:27", "duration": "39+22:48"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Wed May 13 10:23", "logout": "crash", "duration": "1+06:15"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Wed May 13 10:22", "logout": "crash", "duration": "1+06:16"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Wed May 13 09:51", "logout": "15:27", "duration": "41+05:35"}, {"user": "kbrazil", "tty": "pts/1", "hostname": "192.168.71.1", "login": "Wed Apr 15 13:00", "logout": "crash", "duration": "27+20:51"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Wed Apr 15 12:38", "logout": "13:01", "duration": "00:22"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Wed Apr 15 12:28", "logout": "20:44", "duration": "08:15"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Wed Apr 15 04:02", "logout": "15:27", "duration": "69+11:25"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Apr 14 16:02", "logout": "crash", "duration": "11:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Apr 14 16:02", "logout": "15:27", "duration": "69+23:25"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Apr 14 08:44", "logout": "10:00", "duration": "01:16"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Apr 14 06:57", "logout": "08:44", "duration": "01:47"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Apr 14 06:56", "logout": "15:27", "duration": "70+08:31"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Apr 7 17:33", "logout": "crash", "duration": "6+13:22"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Mon Apr 6 21:22", "logout": "22:42", "duration": "01:19"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Mon Apr 6 19:43", "logout": "19:45", "duration": "00:01"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sat Apr 4 17:31", "logout": "crash", "duration": "9+13:24"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Sat Apr 4 17:17", "logout": "15:27", "duration": "79+22:10"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sun Mar 29 12:42", "logout": "crash", "duration": "6+04:34"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Mar 24 11:21", "logout": "12:42", "duration": "5+01:20"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Mar 24 11:18", "logout": "11:21", "duration": "00:03"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Mar 24 10:57", "logout": "15:27", "duration": "91+04:30"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Mar 17 06:56", "logout": "crash", "duration": "7+04:00"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Mar 17 05:12", "logout": "15:27", "duration": "98+10:15"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Mar 12 10:12", "logout": "crash", "duration": "4+18:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Thu Mar 12 09:22", "logout": "15:27", "duration": "103+06:05"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Mar 11 13:29", "logout": "crash", "duration": "19:52"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Wed Mar 11 12:19", "logout": "15:27", "duration": "104+03:07"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Mar 10 17:53", "logout": "crash", "duration": "18:26"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Mar 10 17:52", "logout": "15:27", "duration": "104+21:34"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Mar 10 13:09", "logout": "crash", "duration": "04:43"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Mar 10 13:08", "logout": "15:27", "duration": "105+02:18"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sat Mar 7 18:13", "logout": "crash", "duration": "2+17:55"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Sat Mar 7 18:13", "logout": "15:27", "duration": "107+20:14"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Mar 5 14:48", "logout": "crash", "duration": "2+03:24"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Thu Mar 5 03:02", "logout": "15:27", "duration": "110+11:25"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Mar 2 19:53", "logout": "crash", "duration": "2+07:08"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Mon Mar 2 19:53", "logout": "15:27", "duration": "112+18:34"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sat Feb 29 18:43", "logout": "crash", "duration": "2+01:09"}, {"user": "kbrazil", "tty": "pts/1", "hostname": "192.168.71.1", "login": "Sat Feb 29 18:08", "logout": "18:28", "duration": "00:20"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sat Feb 29 15:16", "logout": "18:42", "duration": "03:26"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sat Feb 29 12:14", "logout": "crash", "duration": "2+07:38"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Sat Feb 29 12:13", "logout": "15:27", "duration": "115+02:13"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Feb 28 13:49", "logout": "crash", "duration": "22:23"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Feb 28 12:56", "logout": "15:27", "duration": "116+01:31"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 27 16:01", "logout": "crash", "duration": "20:54"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Thu Feb 27 15:51", "logout": "15:27", "duration": "116+22:35"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 27 10:50", "logout": "crash", "duration": "05:01"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Wed Feb 26 20:05", "logout": "15:27", "duration": "117+18:22"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 20 14:42", "logout": "crash", "duration": "6+05:23"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Thu Feb 20 14:41", "logout": "15:27", "duration": "123+23:45"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Feb 17 17:48", "logout": "crash", "duration": "2+20:52"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Mon Feb 17 17:48", "logout": "15:27", "duration": "126+20:38"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 13 16:44", "logout": "crash", "duration": "4+01:03"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Thu Feb 13 16:44", "logout": "15:27", "duration": "130+21:42"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Feb 5 14:23", "logout": "crash", "duration": "8+02:20"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Wed Feb 5 11:43", "logout": "15:27", "duration": "139+02:44"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Feb 4 14:28", "logout": "crash", "duration": "21:15"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Feb 4 01:28", "logout": "15:27", "duration": "140+12:59"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Jan 13 17:28", "logout": "crash", "duration": "21+07:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Mon Jan 13 16:16", "logout": "15:27", "duration": "161+22:11"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Dec 16 11:15", "logout": "crash", "duration": "28+05:01"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Mon Dec 16 11:14", "logout": "15:27", "duration": "190+03:12"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Dec 4 21:41", "logout": "crash", "duration": "11+13:33"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Wed Dec 4 21:40", "logout": "15:27", "duration": "201+16:46"}, {"user": "kbrazil", "tty": "pts/1", "hostname": null, "login": "Sat Nov 16 14:40", "logout": "14:40", "duration": "00:00"}, {"user": "kbrazil", "tty": "pts/1", "hostname": null, "login": "Sat Nov 16 14:39", "logout": "14:39", "duration": "00:00"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "localhost", "login": "Tue Nov 12 07:19", "logout": "crash", "duration": "22+14:21"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Nov 12 07:18", "logout": "crash", "duration": "22+14:22"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "localhost", "login": "Sun Nov 10 08:21", "logout": "15:22", "duration": "1+07:01"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sat Nov 9 10:34", "logout": "07:16", "duration": "2+20:42"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Sat Nov 9 10:34", "logout": "15:27", "duration": "227+03:53"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri Nov 8 07:49", "logout": "crash", "duration": "1+02:45"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri Nov 8 06:29", "logout": "crash", "duration": "1+04:04"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Nov 8 06:24", "logout": "crash", "duration": "1+04:09"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Nov 8 06:14", "logout": "15:27", "duration": "228+08:13"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Sun Nov 3 12:20", "logout": "crash", "duration": "4+17:54"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sun Nov 3 11:04", "logout": "11:05", "duration": "00:01"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sat Nov 2 19:26", "logout": "crash", "duration": "5+11:47"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Nov 1 15:14", "logout": "11:03", "duration": "1+20:49"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Nov 1 15:13", "logout": "15:27", "duration": "235+00:14"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Nov 1 11:16", "logout": "11:36", "duration": "00:20"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Nov 1 06:00", "logout": "11:36", "duration": "05:36"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Oct 29 18:17", "logout": "crash", "duration": "2+11:43"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Oct 29 18:16", "logout": "11:36", "duration": "2+17:19"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sat Oct 26 09:53", "logout": "15:13", "duration": "05:19"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Oct 25 18:22", "logout": "crash", "duration": "3+23:54"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Oct 25 18:21", "logout": "11:36", "duration": "6+17:14"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Oct 25 17:14", "logout": "18:21", "duration": "01:06"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Oct 25 17:13", "logout": "11:36", "duration": "6+18:22"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Oct 25 15:43", "logout": "17:13", "duration": "01:29"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Oct 25 13:29", "logout": "17:13", "duration": "03:44"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Oct 21 13:19", "logout": "19:22", "duration": "2+06:03"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Mon Oct 21 13:17", "logout": "19:22", "duration": "2+06:05"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Oct 16 03:23", "logout": "crash", "duration": "5+09:54"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Oct 15 16:49", "logout": "03:23", "duration": "10:34"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Oct 15 10:39", "logout": "16:48", "duration": "06:09"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.", "login": "Tue Oct 15 10:39", "logout": "19:22", "duration": "8+08:43"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 16:05", "logout": "16:05", "duration": "00:00"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.", "login": "Thu Aug 15 16:05", "logout": "16:05", "duration": "00:00"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.", "login": "Thu Aug 15 16:00", "logout": "16:05", "duration": "00:05"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 14:25", "logout": "crash", "duration": "01:35"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.", "login": "Thu Aug 15 14:24", "logout": "16:05", "duration": "01:41"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 11:58", "logout": "crash", "duration": "02:25"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.el7.x", "login": "Thu Aug 15 11:58", "logout": "16:05", "duration": "04:07"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 11:57", "logout": "11:57", "duration": "00:00"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.el7.x", "login": "Thu Aug 15 11:57", "logout": "16:05", "duration": "04:08"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Thu Aug 15 10:58", "logout": "11:56", "duration": "00:58"}, {"user": "root", "tty": "tty1", "hostname": null, "login": "Thu Aug 15 10:57", "logout": "11:56", "duration": "00:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.el7.x", "login": "Thu Aug 15 10:57", "logout": "11:56", "duration": "00:59"}] +[{"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Tue Jan 5 14:29", "logout": "still logged in"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jan 5 14:28", "logout": "still logged in"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Jan 5 14:28", "logout": "14:35", "duration": "00:07"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Mon Jan 4 12:29", "logout": "crash", "duration": "25:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Mon Jan 4 12:11", "logout": "14:35", "duration": "26:24"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Wed Dec 30 11:12", "logout": "crash", "duration": "120:58"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Wed Dec 30 10:59", "logout": "14:35", "duration": "147:35"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Tue Dec 29 10:14", "logout": "crash", "duration": "24:45"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Dec 29 10:11", "logout": "crash", "duration": "24:48"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Dec 29 10:11", "logout": "14:35", "duration": "172:24"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Wed Aug 12 15:21", "logout": "crash", "duration": "3331:49"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Wed Aug 12 15:08", "logout": "crash", "duration": "3332:03"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Wed Aug 12 15:07", "logout": "14:35", "duration": "3504:28"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Tue Aug 4 09:39", "logout": "crash", "duration": "197:27"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Aug 4 09:39", "logout": "crash", "duration": "197:28"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Aug 4 09:30", "logout": "14:35", "duration": "3702:05"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Sat Aug 1 08:58", "logout": "crash", "duration": "72:32"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri Jul 31 13:55", "logout": "crash", "duration": "91:34"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Jul 31 13:55", "logout": "14:35", "duration": "3793:40"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Thu Jul 30 08:34", "logout": "crash", "duration": "29:21"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Thu Jul 30 08:31", "logout": "crash", "duration": "29:24"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Thu Jul 30 08:31", "logout": "14:35", "duration": "3823:04"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Tue Jul 28 19:23", "logout": "crash", "duration": "37:07"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jul 28 19:23", "logout": "crash", "duration": "37:07"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Jul 28 19:22", "logout": "14:35", "duration": "3860:13"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Tue Jul 28 16:27", "logout": "crash", "duration": "02:54"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jul 28 16:27", "logout": "crash", "duration": "02:55"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Jul 28 13:22", "logout": "14:35", "duration": "3866:13"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Tue Jul 28 00:13", "logout": "crash", "duration": "13:08"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Mon Jul 27 20:23", "logout": "00:13", "duration": "03:49"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Mon Jul 27 20:23", "logout": "crash", "duration": "16:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Mon Jul 27 20:04", "logout": "14:35", "duration": "3883:31"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Tue Jul 21 09:15", "logout": "crash", "duration": "154:49"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jul 21 09:15", "logout": "crash", "duration": "154:49"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Jul 21 09:14", "logout": "14:35", "duration": "4038:21"}, {"user": "kbrazil", "tty": "pts/1", "hostname": "kbrazil-mac.attl", "login": "Fri Jul 17 19:12", "logout": "19:13", "duration": "00:00"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri Jul 17 15:49", "logout": "crash", "duration": "89:25"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri Jul 17 15:48", "logout": "crash", "duration": "89:26"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Jul 17 15:48", "logout": "14:35", "duration": "4127:47"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attl", "login": "Fri Jul 17 01:52", "logout": "crash", "duration": "13:56"}, {"user": "kbrazil", "tty": "pts/1", "hostname": "192.168.71.1", "login": "Thu Jul 16 14:48", "logout": "crash", "duration": "24:59"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Thu Jul 16 14:10", "logout": "16:26", "duration": "02:15"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Thu Jul 16 14:09", "logout": "crash", "duration": "25:38"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Thu Jul 16 08:35", "logout": "14:35", "duration": "4159:00"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Jul 8 13:44", "logout": "crash", "duration": "186:50"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Wed Jul 8 13:12", "logout": "crash", "duration": "187:22"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Wed Jul 8 11:27", "logout": "14:35", "duration": "4348:08"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Jun 26 11:53", "logout": "crash", "duration": "287:33"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Jun 26 11:52", "logout": "14:35", "duration": "4635:43"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Jun 23 15:23", "logout": "15:27", "duration": "00:03"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Jun 23 15:23", "logout": "15:27", "duration": "00:04"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri Jun 19 10:47", "logout": "crash", "duration": "100:36"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri Jun 19 10:46", "logout": "crash", "duration": "100:36"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Jun 19 10:29", "logout": "15:27", "duration": "100:58"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Mon Jun 8 10:30", "logout": "crash", "duration": "263:58"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Mon Jun 8 10:30", "logout": "crash", "duration": "263:58"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Mon Jun 8 10:30", "logout": "15:27", "duration": "364:57"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Jun 2 12:05", "logout": "15:27", "duration": "507:21"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Tue Jun 2 08:38", "logout": "crash", "duration": "03:26"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jun 2 08:38", "logout": "crash", "duration": "03:27"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Jun 2 06:13", "logout": "15:27", "duration": "513:13"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sun May 24 16:10", "logout": "17:18", "duration": "01:08"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Sun May 24 15:34", "logout": "crash", "duration": "206:39"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Sun May 24 15:34", "logout": "15:27", "duration": "719:53"}, {"user": "kbrazil", "tty": "pts/1", "hostname": "192.168.71.1", "login": "Fri May 22 13:39", "logout": "crash", "duration": "49:54"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri May 22 13:11", "logout": "crash", "duration": "50:22"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri May 22 13:10", "logout": "crash", "duration": "50:23"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri May 22 12:49", "logout": "15:27", "duration": "770:37"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri May 22 08:44", "logout": "crash", "duration": "04:05"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri May 22 08:44", "logout": "crash", "duration": "04:05"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri May 22 08:43", "logout": "15:27", "duration": "774:43"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Thu May 14 16:39", "logout": "crash", "duration": "184:04"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Thu May 14 16:39", "logout": "15:27", "duration": "958:48"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Wed May 13 10:23", "logout": "crash", "duration": "30:15"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Wed May 13 10:22", "logout": "crash", "duration": "30:16"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Wed May 13 09:51", "logout": "15:27", "duration": "989:35"}, {"user": "kbrazil", "tty": "pts/1", "hostname": "192.168.71.1", "login": "Wed Apr 15 13:00", "logout": "crash", "duration": "668:51"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Wed Apr 15 12:38", "logout": "13:01", "duration": "00:22"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Wed Apr 15 12:28", "logout": "20:44", "duration": "08:15"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Wed Apr 15 04:02", "logout": "15:27", "duration": "1667:25"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Apr 14 16:02", "logout": "crash", "duration": "11:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Apr 14 16:02", "logout": "15:27", "duration": "1679:25"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Apr 14 08:44", "logout": "10:00", "duration": "01:16"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Apr 14 06:57", "logout": "08:44", "duration": "01:47"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Apr 14 06:56", "logout": "15:27", "duration": "1688:31"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Apr 7 17:33", "logout": "crash", "duration": "157:22"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Mon Apr 6 21:22", "logout": "22:42", "duration": "01:19"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Mon Apr 6 19:43", "logout": "19:45", "duration": "00:01"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sat Apr 4 17:31", "logout": "crash", "duration": "229:24"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Sat Apr 4 17:17", "logout": "15:27", "duration": "1918:10"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sun Mar 29 12:42", "logout": "crash", "duration": "148:34"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Mar 24 11:21", "logout": "12:42", "duration": "121:20"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Mar 24 11:18", "logout": "11:21", "duration": "00:03"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Mar 24 10:57", "logout": "15:27", "duration": "2188:30"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Mar 17 06:56", "logout": "crash", "duration": "172:00"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Mar 17 05:12", "logout": "15:27", "duration": "2362:15"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Mar 12 10:12", "logout": "crash", "duration": "114:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Thu Mar 12 09:22", "logout": "15:27", "duration": "2478:05"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Mar 11 13:29", "logout": "crash", "duration": "19:52"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Wed Mar 11 12:19", "logout": "15:27", "duration": "2499:07"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Mar 10 17:53", "logout": "crash", "duration": "18:26"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Mar 10 17:52", "logout": "15:27", "duration": "2517:34"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Mar 10 13:09", "logout": "crash", "duration": "04:43"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Mar 10 13:08", "logout": "15:27", "duration": "2522:18"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sat Mar 7 18:13", "logout": "crash", "duration": "65:55"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Sat Mar 7 18:13", "logout": "15:27", "duration": "2588:14"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Mar 5 14:48", "logout": "crash", "duration": "51:24"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Thu Mar 5 03:02", "logout": "15:27", "duration": "2651:25"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Mar 2 19:53", "logout": "crash", "duration": "55:08"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Mon Mar 2 19:53", "logout": "15:27", "duration": "2706:34"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sat Feb 29 18:43", "logout": "crash", "duration": "49:09"}, {"user": "kbrazil", "tty": "pts/1", "hostname": "192.168.71.1", "login": "Sat Feb 29 18:08", "logout": "18:28", "duration": "00:20"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sat Feb 29 15:16", "logout": "18:42", "duration": "03:26"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sat Feb 29 12:14", "logout": "crash", "duration": "55:38"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Sat Feb 29 12:13", "logout": "15:27", "duration": "2762:13"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Feb 28 13:49", "logout": "crash", "duration": "22:23"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Feb 28 12:56", "logout": "15:27", "duration": "2785:31"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 27 16:01", "logout": "crash", "duration": "20:54"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Thu Feb 27 15:51", "logout": "15:27", "duration": "2806:35"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 27 10:50", "logout": "crash", "duration": "05:01"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Wed Feb 26 20:05", "logout": "15:27", "duration": "2826:22"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 20 14:42", "logout": "crash", "duration": "149:23"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Thu Feb 20 14:41", "logout": "15:27", "duration": "2975:45"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Feb 17 17:48", "logout": "crash", "duration": "68:52"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Mon Feb 17 17:48", "logout": "15:27", "duration": "3044:38"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 13 16:44", "logout": "crash", "duration": "97:03"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Thu Feb 13 16:44", "logout": "15:27", "duration": "3141:42"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Feb 5 14:23", "logout": "crash", "duration": "194:20"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Wed Feb 5 11:43", "logout": "15:27", "duration": "3338:44"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Feb 4 14:28", "logout": "crash", "duration": "21:15"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Feb 4 01:28", "logout": "15:27", "duration": "3372:59"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Jan 13 17:28", "logout": "crash", "duration": "511:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Mon Jan 13 16:16", "logout": "15:27", "duration": "3886:11"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Dec 16 11:15", "logout": "crash", "duration": "677:01"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Mon Dec 16 11:14", "logout": "15:27", "duration": "4563:12"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Dec 4 21:41", "logout": "crash", "duration": "277:33"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Wed Dec 4 21:40", "logout": "15:27", "duration": "4840:46"}, {"user": "kbrazil", "tty": "pts/1", "hostname": null, "login": "Sat Nov 16 14:40", "logout": "14:40", "duration": "00:00"}, {"user": "kbrazil", "tty": "pts/1", "hostname": null, "login": "Sat Nov 16 14:39", "logout": "14:39", "duration": "00:00"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "localhost", "login": "Tue Nov 12 07:19", "logout": "crash", "duration": "542:21"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Nov 12 07:18", "logout": "crash", "duration": "542:22"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "localhost", "login": "Sun Nov 10 08:21", "logout": "15:22", "duration": "31:01"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sat Nov 9 10:34", "logout": "07:16", "duration": "68:42"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Sat Nov 9 10:34", "logout": "15:27", "duration": "5451:53"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri Nov 8 07:49", "logout": "crash", "duration": "26:45"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri Nov 8 06:29", "logout": "crash", "duration": "28:04"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Nov 8 06:24", "logout": "crash", "duration": "28:09"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Nov 8 06:14", "logout": "15:27", "duration": "5480:13"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Sun Nov 3 12:20", "logout": "crash", "duration": "113:54"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sun Nov 3 11:04", "logout": "11:05", "duration": "00:01"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sat Nov 2 19:26", "logout": "crash", "duration": "131:47"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Nov 1 15:14", "logout": "11:03", "duration": "44:49"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Nov 1 15:13", "logout": "15:27", "duration": "5640:14"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Nov 1 11:16", "logout": "11:36", "duration": "00:20"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Nov 1 06:00", "logout": "11:36", "duration": "05:36"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Oct 29 18:17", "logout": "crash", "duration": "59:43"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Oct 29 18:16", "logout": "11:36", "duration": "65:19"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sat Oct 26 09:53", "logout": "15:13", "duration": "05:19"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Oct 25 18:22", "logout": "crash", "duration": "95:54"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Oct 25 18:21", "logout": "11:36", "duration": "161:14"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Oct 25 17:14", "logout": "18:21", "duration": "01:06"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Oct 25 17:13", "logout": "11:36", "duration": "162:22"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Oct 25 15:43", "logout": "17:13", "duration": "01:29"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Oct 25 13:29", "logout": "17:13", "duration": "03:44"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Oct 21 13:19", "logout": "19:22", "duration": "54:03"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Mon Oct 21 13:17", "logout": "19:22", "duration": "54:05"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Oct 16 03:23", "logout": "crash", "duration": "129:54"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Oct 15 16:49", "logout": "03:23", "duration": "10:34"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Oct 15 10:39", "logout": "16:48", "duration": "06:09"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.", "login": "Tue Oct 15 10:39", "logout": "19:22", "duration": "200:43"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 16:05", "logout": "16:05", "duration": "00:00"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.", "login": "Thu Aug 15 16:05", "logout": "16:05", "duration": "00:00"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.", "login": "Thu Aug 15 16:00", "logout": "16:05", "duration": "00:05"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 14:25", "logout": "crash", "duration": "01:35"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.", "login": "Thu Aug 15 14:24", "logout": "16:05", "duration": "01:41"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 11:58", "logout": "crash", "duration": "02:25"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.el7.x", "login": "Thu Aug 15 11:58", "logout": "16:05", "duration": "04:07"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 11:57", "logout": "11:57", "duration": "00:00"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.el7.x", "login": "Thu Aug 15 11:57", "logout": "16:05", "duration": "04:08"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Thu Aug 15 10:58", "logout": "11:56", "duration": "00:58"}, {"user": "root", "tty": "tty1", "hostname": null, "login": "Thu Aug 15 10:57", "logout": "11:56", "duration": "00:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.el7.x", "login": "Thu Aug 15 10:57", "logout": "11:56", "duration": "00:59"}] diff --git a/tests/fixtures/centos-7.7/last-w.json b/tests/fixtures/centos-7.7/last-w.json index e892980a1..2c0dc40c9 100644 --- a/tests/fixtures/centos-7.7/last-w.json +++ b/tests/fixtures/centos-7.7/last-w.json @@ -1 +1 @@ -[{"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Feb 28 13:49", "logout": "still logged in"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Feb 28 12:56", "logout": "14:54", "duration": "01:58"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 27 16:01", "logout": "crash", "duration": "20:54"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Thu Feb 27 15:51", "logout": "14:54", "duration": "23:02"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 27 10:50", "logout": "crash", "duration": "05:01"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Wed Feb 26 20:05", "logout": "14:54", "duration": "1+18:49"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 20 14:42", "logout": "crash", "duration": "6+05:23"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Thu Feb 20 14:41", "logout": "14:54", "duration": "8+00:12"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Feb 17 17:48", "logout": "crash", "duration": "2+20:52"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Mon Feb 17 17:48", "logout": "14:54", "duration": "10+21:06"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 13 16:44", "logout": "crash", "duration": "4+01:03"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Thu Feb 13 16:44", "logout": "14:54", "duration": "14+22:10"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Feb 5 14:23", "logout": "crash", "duration": "8+02:20"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Wed Feb 5 11:43", "logout": "14:54", "duration": "23+03:11"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Feb 4 14:28", "logout": "crash", "duration": "21:15"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Feb 4 01:28", "logout": "14:54", "duration": "24+13:26"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Jan 13 17:28", "logout": "crash", "duration": "21+07:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Mon Jan 13 16:16", "logout": "14:54", "duration": "45+22:38"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Dec 16 11:15", "logout": "crash", "duration": "28+05:01"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Mon Dec 16 11:14", "logout": "14:54", "duration": "74+03:40"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Dec 4 21:41", "logout": "crash", "duration": "11+13:33"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Wed Dec 4 21:40", "logout": "14:54", "duration": "85+17:13"}, {"user": "kbrazil", "tty": "pts/1", "hostname": null, "login": "Sat Nov 16 14:40", "logout": "14:40", "duration": "00:00"}, {"user": "kbrazil", "tty": "pts/1", "hostname": null, "login": "Sat Nov 16 14:39", "logout": "14:39", "duration": "00:00"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "localhost", "login": "Tue Nov 12 07:19", "logout": "crash", "duration": "22+14:21"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Nov 12 07:18", "logout": "crash", "duration": "22+14:22"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "localhost", "login": "Sun Nov 10 08:21", "logout": "15:22", "duration": "1+07:01"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sat Nov 9 10:34", "logout": "07:16", "duration": "2+20:42"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Sat Nov 9 10:34", "logout": "14:54", "duration": "111+04:20"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri Nov 8 07:49", "logout": "crash", "duration": "1+02:45"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri Nov 8 06:29", "logout": "crash", "duration": "1+04:04"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Nov 8 06:24", "logout": "crash", "duration": "1+04:09"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Nov 8 06:14", "logout": "14:54", "duration": "112+08:40"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Sun Nov 3 12:20", "logout": "crash", "duration": "4+17:54"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sun Nov 3 11:04", "logout": "11:05", "duration": "00:01"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sat Nov 2 19:26", "logout": "crash", "duration": "5+11:47"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Nov 1 15:14", "logout": "11:03", "duration": "1+20:49"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Nov 1 15:13", "logout": "14:54", "duration": "119+00:41"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Nov 1 11:16", "logout": "11:36", "duration": "00:20"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Nov 1 06:00", "logout": "11:36", "duration": "05:36"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Oct 29 18:17", "logout": "crash", "duration": "2+11:43"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Oct 29 18:16", "logout": "11:36", "duration": "2+17:19"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sat Oct 26 09:53", "logout": "15:13", "duration": "05:19"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Oct 25 18:22", "logout": "crash", "duration": "3+23:54"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Oct 25 18:21", "logout": "11:36", "duration": "6+17:14"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Oct 25 17:14", "logout": "18:21", "duration": "01:06"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Oct 25 17:13", "logout": "11:36", "duration": "6+18:22"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Oct 25 15:43", "logout": "17:13", "duration": "01:29"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Oct 25 13:29", "logout": "17:13", "duration": "03:44"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Oct 21 13:19", "logout": "19:22", "duration": "2+06:03"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Mon Oct 21 13:17", "logout": "19:22", "duration": "2+06:05"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Oct 16 03:23", "logout": "crash", "duration": "5+09:54"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Oct 15 16:49", "logout": "03:23", "duration": "10:34"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Oct 15 10:39", "logout": "16:48", "duration": "06:09"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.el7.x86_64", "login": "Tue Oct 15 10:39", "logout": "19:22", "duration": "8+08:43"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 16:05", "logout": "16:05", "duration": "00:00"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.el7.x86_64", "login": "Thu Aug 15 16:05", "logout": "16:05", "duration": "00:00"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.el7.x86_64", "login": "Thu Aug 15 16:00", "logout": "16:05", "duration": "00:05"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 14:25", "logout": "crash", "duration": "01:35"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.el7.x86_64", "login": "Thu Aug 15 14:24", "logout": "16:05", "duration": "01:41"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 11:58", "logout": "crash", "duration": "02:25"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.el7.x86_64", "login": "Thu Aug 15 11:58", "logout": "16:05", "duration": "04:07"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 11:57", "logout": "11:57", "duration": "00:00"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.el7.x86_64", "login": "Thu Aug 15 11:57", "logout": "16:05", "duration": "04:08"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Thu Aug 15 10:58", "logout": "11:56", "duration": "00:58"}, {"user": "root", "tty": "tty1", "hostname": null, "login": "Thu Aug 15 10:57", "logout": "11:56", "duration": "00:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.el7.x86_64", "login": "Thu Aug 15 10:57", "logout": "11:56", "duration": "00:59"}] +[{"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Feb 28 13:49", "logout": "still logged in"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Feb 28 12:56", "logout": "14:54", "duration": "01:58"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 27 16:01", "logout": "crash", "duration": "20:54"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Thu Feb 27 15:51", "logout": "14:54", "duration": "23:02"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 27 10:50", "logout": "crash", "duration": "05:01"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Wed Feb 26 20:05", "logout": "14:54", "duration": "42:49"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 20 14:42", "logout": "crash", "duration": "149:23"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Thu Feb 20 14:41", "logout": "14:54", "duration": "192:12"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Feb 17 17:48", "logout": "crash", "duration": "68:52"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Mon Feb 17 17:48", "logout": "14:54", "duration": "261:06"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 13 16:44", "logout": "crash", "duration": "97:03"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Thu Feb 13 16:44", "logout": "14:54", "duration": "358:10"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Feb 5 14:23", "logout": "crash", "duration": "194:20"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Wed Feb 5 11:43", "logout": "14:54", "duration": "555:11"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Feb 4 14:28", "logout": "crash", "duration": "21:15"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Feb 4 01:28", "logout": "14:54", "duration": "589:26"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Jan 13 17:28", "logout": "crash", "duration": "511:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Mon Jan 13 16:16", "logout": "14:54", "duration": "1102:38"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Dec 16 11:15", "logout": "crash", "duration": "677:01"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Mon Dec 16 11:14", "logout": "14:54", "duration": "1779:40"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Dec 4 21:41", "logout": "crash", "duration": "277:33"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Wed Dec 4 21:40", "logout": "14:54", "duration": "2057:13"}, {"user": "kbrazil", "tty": "pts/1", "hostname": null, "login": "Sat Nov 16 14:40", "logout": "14:40", "duration": "00:00"}, {"user": "kbrazil", "tty": "pts/1", "hostname": null, "login": "Sat Nov 16 14:39", "logout": "14:39", "duration": "00:00"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "localhost", "login": "Tue Nov 12 07:19", "logout": "crash", "duration": "542:21"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Nov 12 07:18", "logout": "crash", "duration": "542:22"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "localhost", "login": "Sun Nov 10 08:21", "logout": "15:22", "duration": "31:01"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sat Nov 9 10:34", "logout": "07:16", "duration": "68:42"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Sat Nov 9 10:34", "logout": "14:54", "duration": "2668:20"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri Nov 8 07:49", "logout": "crash", "duration": "26:45"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri Nov 8 06:29", "logout": "crash", "duration": "28:04"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Nov 8 06:24", "logout": "crash", "duration": "28:09"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Nov 8 06:14", "logout": "14:54", "duration": "2696:40"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Sun Nov 3 12:20", "logout": "crash", "duration": "113:54"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sun Nov 3 11:04", "logout": "11:05", "duration": "00:01"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sat Nov 2 19:26", "logout": "crash", "duration": "131:47"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Nov 1 15:14", "logout": "11:03", "duration": "44:49"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Nov 1 15:13", "logout": "14:54", "duration": "2856:41"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Nov 1 11:16", "logout": "11:36", "duration": "00:20"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Nov 1 06:00", "logout": "11:36", "duration": "05:36"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Oct 29 18:17", "logout": "crash", "duration": "59:43"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Oct 29 18:16", "logout": "11:36", "duration": "65:19"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sat Oct 26 09:53", "logout": "15:13", "duration": "05:19"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Oct 25 18:22", "logout": "crash", "duration": "95:54"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Oct 25 18:21", "logout": "11:36", "duration": "161:14"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Oct 25 17:14", "logout": "18:21", "duration": "01:06"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Oct 25 17:13", "logout": "11:36", "duration": "162:22"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Oct 25 15:43", "logout": "17:13", "duration": "01:29"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Oct 25 13:29", "logout": "17:13", "duration": "03:44"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Oct 21 13:19", "logout": "19:22", "duration": "54:03"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Mon Oct 21 13:17", "logout": "19:22", "duration": "54:05"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Oct 16 03:23", "logout": "crash", "duration": "129:54"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Oct 15 16:49", "logout": "03:23", "duration": "10:34"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Oct 15 10:39", "logout": "16:48", "duration": "06:09"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.el7.x86_64", "login": "Tue Oct 15 10:39", "logout": "19:22", "duration": "200:43"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 16:05", "logout": "16:05", "duration": "00:00"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.el7.x86_64", "login": "Thu Aug 15 16:05", "logout": "16:05", "duration": "00:00"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.el7.x86_64", "login": "Thu Aug 15 16:00", "logout": "16:05", "duration": "00:05"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 14:25", "logout": "crash", "duration": "01:35"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.el7.x86_64", "login": "Thu Aug 15 14:24", "logout": "16:05", "duration": "01:41"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 11:58", "logout": "crash", "duration": "02:25"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.el7.x86_64", "login": "Thu Aug 15 11:58", "logout": "16:05", "duration": "04:07"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 11:57", "logout": "11:57", "duration": "00:00"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.el7.x86_64", "login": "Thu Aug 15 11:57", "logout": "16:05", "duration": "04:08"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Thu Aug 15 10:58", "logout": "11:56", "duration": "00:58"}, {"user": "root", "tty": "tty1", "hostname": null, "login": "Thu Aug 15 10:57", "logout": "11:56", "duration": "00:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.el7.x86_64", "login": "Thu Aug 15 10:57", "logout": "11:56", "duration": "00:59"}] diff --git a/tests/fixtures/centos-7.7/last-wF.json b/tests/fixtures/centos-7.7/last-wF.json index 35ae51325..3ac36d99a 100644 --- a/tests/fixtures/centos-7.7/last-wF.json +++ b/tests/fixtures/centos-7.7/last-wF.json @@ -1 +1 @@ -[{"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Tue Jan 5 14:29:24 2021", "logout": "still logged in"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jan 5 14:28:41 2021", "logout": "still logged in"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Jan 5 14:28:28 2021", "logout": "Tue Jan 5 14:29:36 2021", "duration": "00:01"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Mon Jan 4 12:29:04 2021", "logout": "crash", "duration": "1+01:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Mon Jan 4 12:11:44 2021", "logout": "Tue Jan 5 14:29:36 2021", "duration": "1+02:17"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Wed Dec 30 11:12:50 2020", "logout": "crash", "duration": "5+00:58"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Wed Dec 30 10:59:51 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "6+03:29"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Tue Dec 29 10:14:19 2020", "logout": "crash", "duration": "1+00:45"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Dec 29 10:11:44 2020", "logout": "crash", "duration": "1+00:48"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Dec 29 10:11:28 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "7+04:18"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Wed Aug 12 15:21:36 2020", "logout": "crash", "duration": "138+19:49"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Wed Aug 12 15:08:20 2020", "logout": "crash", "duration": "138+20:03"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Wed Aug 12 15:07:27 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "146+00:22"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Tue Aug 4 09:39:30 2020", "logout": "crash", "duration": "8+05:27"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Aug 4 09:39:01 2020", "logout": "crash", "duration": "8+05:28"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Aug 4 09:30:24 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "154+05:59"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Sat Aug 1 08:58:14 2020", "logout": "crash", "duration": "3+00:32"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri Jul 31 13:55:56 2020", "logout": "crash", "duration": "3+19:34"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Jul 31 13:55:35 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "158+01:34"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Thu Jul 30 08:34:03 2020", "logout": "crash", "duration": "1+05:21"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Thu Jul 30 08:31:17 2020", "logout": "crash", "duration": "1+05:24"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Thu Jul 30 08:31:03 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "159+06:58"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Tue Jul 28 19:23:39 2020", "logout": "crash", "duration": "1+13:07"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jul 28 19:23:23 2020", "logout": "crash", "duration": "1+13:07"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Jul 28 19:22:40 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "160+20:06"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Tue Jul 28 16:27:59 2020", "logout": "crash", "duration": "02:54"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jul 28 16:27:26 2020", "logout": "crash", "duration": "02:55"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Jul 28 13:22:23 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "161+02:07"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Tue Jul 28 00:13:44 2020", "logout": "crash", "duration": "13:08"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Mon Jul 27 20:23:44 2020", "logout": "Tue Jul 28 00:13:35 2020", "duration": "03:49"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Mon Jul 27 20:23:17 2020", "logout": "crash", "duration": "16:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Mon Jul 27 20:04:44 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "161+19:24"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Tue Jul 21 09:15:29 2020", "logout": "crash", "duration": "6+10:49"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jul 21 09:15:07 2020", "logout": "crash", "duration": "6+10:49"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Jul 21 09:14:38 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "168+06:14"}, {"user": "kbrazil", "tty": "pts/1", "hostname": "kbrazil-mac.attlocal.net", "login": "Fri Jul 17 19:12:43 2020", "logout": "Fri Jul 17 19:13:04 2020", "duration": "00:00"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri Jul 17 15:49:03 2020", "logout": "crash", "duration": "3+17:25"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri Jul 17 15:48:35 2020", "logout": "crash", "duration": "3+17:26"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Jul 17 15:48:11 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "171+23:41"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Fri Jul 17 01:52:05 2020", "logout": "crash", "duration": "13:56"}, {"user": "kbrazil", "tty": "pts/1", "hostname": "192.168.71.1", "login": "Thu Jul 16 14:48:42 2020", "logout": "crash", "duration": "1+00:59"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Thu Jul 16 14:10:31 2020", "logout": "Thu Jul 16 16:26:07 2020", "duration": "02:15"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Thu Jul 16 14:09:55 2020", "logout": "crash", "duration": "1+01:38"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Thu Jul 16 08:35:02 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "173+06:54"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Jul 8 13:44:04 2020", "logout": "crash", "duration": "7+18:50"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Wed Jul 8 13:12:29 2020", "logout": "crash", "duration": "7+19:22"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Wed Jul 8 11:27:06 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "181+04:02"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Jun 26 11:53:28 2020", "logout": "crash", "duration": "11+23:33"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Jun 26 11:52:15 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "193+03:37"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Jun 23 15:23:50 2020", "logout": "Tue Jun 23 15:27:26 2020", "duration": "00:03"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Jun 23 15:23:25 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "00:04"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri Jun 19 10:47:07 2020", "logout": "crash", "duration": "4+04:36"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri Jun 19 10:46:46 2020", "logout": "crash", "duration": "4+04:36"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Jun 19 10:29:25 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "4+04:58"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Mon Jun 8 10:30:52 2020", "logout": "crash", "duration": "10+23:58"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Mon Jun 8 10:30:29 2020", "logout": "crash", "duration": "10+23:58"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Mon Jun 8 10:30:06 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "15+04:57"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Jun 2 12:05:38 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "21+03:21"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Tue Jun 2 08:38:47 2020", "logout": "crash", "duration": "03:26"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jun 2 08:38:36 2020", "logout": "crash", "duration": "03:27"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Jun 2 06:13:40 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "21+09:13"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sun May 24 16:10:42 2020", "logout": "Sun May 24 17:18:58 2020", "duration": "01:08"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Sun May 24 15:34:27 2020", "logout": "crash", "duration": "8+14:39"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Sun May 24 15:34:01 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "29+23:53"}, {"user": "kbrazil", "tty": "pts/1", "hostname": "192.168.71.1", "login": "Fri May 22 13:39:48 2020", "logout": "crash", "duration": "2+01:54"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri May 22 13:11:05 2020", "logout": "crash", "duration": "2+02:22"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri May 22 13:10:36 2020", "logout": "crash", "duration": "2+02:23"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri May 22 12:49:57 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "32+02:37"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri May 22 08:44:51 2020", "logout": "crash", "duration": "04:05"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri May 22 08:44:09 2020", "logout": "crash", "duration": "04:05"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri May 22 08:43:50 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "32+06:43"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Thu May 14 16:39:13 2020", "logout": "crash", "duration": "7+16:04"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Thu May 14 16:39:00 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "39+22:48"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Wed May 13 10:23:33 2020", "logout": "crash", "duration": "1+06:15"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Wed May 13 10:22:38 2020", "logout": "crash", "duration": "1+06:16"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Wed May 13 09:51:51 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "41+05:35"}, {"user": "kbrazil", "tty": "pts/1", "hostname": "192.168.71.1", "login": "Wed Apr 15 13:00:16 2020", "logout": "crash", "duration": "27+20:51"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Wed Apr 15 12:38:34 2020", "logout": "Wed Apr 15 13:01:29 2020", "duration": "00:22"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Wed Apr 15 12:28:46 2020", "logout": "Wed Apr 15 20:44:22 2020", "duration": "08:15"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Wed Apr 15 04:02:22 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "69+11:25"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Apr 14 16:02:37 2020", "logout": "crash", "duration": "11:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Apr 14 16:02:17 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "69+23:25"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Apr 14 08:44:45 2020", "logout": "Tue Apr 14 10:00:46 2020", "duration": "01:16"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Apr 14 06:57:27 2020", "logout": "Tue Apr 14 08:44:39 2020", "duration": "01:47"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Apr 14 06:56:01 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "70+08:31"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Apr 7 17:33:04 2020", "logout": "crash", "duration": "6+13:22"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Mon Apr 6 21:22:49 2020", "logout": "Mon Apr 6 22:42:06 2020", "duration": "01:19"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Mon Apr 6 19:43:25 2020", "logout": "Mon Apr 6 19:45:24 2020", "duration": "00:01"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sat Apr 4 17:31:48 2020", "logout": "crash", "duration": "9+13:24"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Sat Apr 4 17:17:00 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "79+22:10"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sun Mar 29 12:42:56 2020", "logout": "crash", "duration": "6+04:34"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Mar 24 11:21:56 2020", "logout": "Sun Mar 29 12:42:50 2020", "duration": "5+01:20"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Mar 24 11:18:00 2020", "logout": "Tue Mar 24 11:21:51 2020", "duration": "00:03"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Mar 24 10:57:02 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "91+04:30"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Mar 17 06:56:55 2020", "logout": "crash", "duration": "7+04:00"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Mar 17 05:12:10 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "98+10:15"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Mar 12 10:12:42 2020", "logout": "crash", "duration": "4+18:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Thu Mar 12 09:22:03 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "103+06:05"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Mar 11 13:29:24 2020", "logout": "crash", "duration": "19:52"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Wed Mar 11 12:19:59 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "104+03:07"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Mar 10 17:53:11 2020", "logout": "crash", "duration": "18:26"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Mar 10 17:52:57 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "104+21:34"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Mar 10 13:09:01 2020", "logout": "crash", "duration": "04:43"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Mar 10 13:08:45 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "105+02:18"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sat Mar 7 18:13:19 2020", "logout": "crash", "duration": "2+17:55"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Sat Mar 7 18:13:04 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "107+20:14"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Mar 5 14:48:23 2020", "logout": "crash", "duration": "2+03:24"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Thu Mar 5 03:02:06 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "110+11:25"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Mar 2 19:53:22 2020", "logout": "crash", "duration": "2+07:08"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Mon Mar 2 19:53:07 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "112+18:34"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sat Feb 29 18:43:55 2020", "logout": "crash", "duration": "2+01:09"}, {"user": "kbrazil", "tty": "pts/1", "hostname": "192.168.71.1", "login": "Sat Feb 29 18:08:17 2020", "logout": "Sat Feb 29 18:28:47 2020", "duration": "00:20"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sat Feb 29 15:16:16 2020", "logout": "Sat Feb 29 18:42:49 2020", "duration": "03:26"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sat Feb 29 12:14:10 2020", "logout": "crash", "duration": "2+07:38"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Sat Feb 29 12:13:44 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "115+02:13"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Feb 28 13:49:56 2020", "logout": "crash", "duration": "22:23"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Feb 28 12:56:05 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "116+01:31"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 27 16:01:25 2020", "logout": "crash", "duration": "20:54"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Thu Feb 27 15:51:42 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "116+22:35"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 27 10:50:36 2020", "logout": "crash", "duration": "05:01"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Wed Feb 26 20:05:10 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "117+18:22"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 20 14:42:01 2020", "logout": "crash", "duration": "6+05:23"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Thu Feb 20 14:41:39 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "123+23:45"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Feb 17 17:48:58 2020", "logout": "crash", "duration": "2+20:52"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Mon Feb 17 17:48:37 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "126+20:38"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 13 16:44:51 2020", "logout": "crash", "duration": "4+01:03"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Thu Feb 13 16:44:31 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "130+21:42"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Feb 5 14:23:46 2020", "logout": "crash", "duration": "8+02:20"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Wed Feb 5 11:43:15 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "139+02:44"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Feb 4 14:28:14 2020", "logout": "crash", "duration": "21:15"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Feb 4 01:28:02 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "140+12:59"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Jan 13 17:28:13 2020", "logout": "crash", "duration": "21+07:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Mon Jan 13 16:16:04 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "161+22:11"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Dec 16 11:15:00 2019", "logout": "crash", "duration": "28+05:01"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Mon Dec 16 11:14:30 2019", "logout": "Tue Jun 23 15:27:28 2020", "duration": "190+03:12"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Dec 4 21:41:25 2019", "logout": "crash", "duration": "11+13:33"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Wed Dec 4 21:40:48 2019", "logout": "Tue Jun 23 15:27:28 2020", "duration": "201+16:46"}, {"user": "kbrazil", "tty": "pts/1", "hostname": null, "login": "Sat Nov 16 14:40:36 2019", "logout": "Sat Nov 16 14:40:41 2019", "duration": "00:00"}, {"user": "kbrazil", "tty": "pts/1", "hostname": null, "login": "Sat Nov 16 14:39:29 2019", "logout": "Sat Nov 16 14:39:42 2019", "duration": "00:00"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "localhost", "login": "Tue Nov 12 07:19:39 2019", "logout": "crash", "duration": "22+14:21"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Nov 12 07:18:40 2019", "logout": "crash", "duration": "22+14:22"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "localhost", "login": "Sun Nov 10 08:21:36 2019", "logout": "Mon Nov 11 15:22:36 2019", "duration": "1+07:01"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sat Nov 9 10:34:48 2019", "logout": "Tue Nov 12 07:16:59 2019", "duration": "2+20:42"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Sat Nov 9 10:34:26 2019", "logout": "Tue Jun 23 15:27:28 2020", "duration": "227+03:53"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri Nov 8 07:49:24 2019", "logout": "crash", "duration": "1+02:45"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri Nov 8 06:29:41 2019", "logout": "crash", "duration": "1+04:04"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Nov 8 06:24:27 2019", "logout": "crash", "duration": "1+04:09"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Nov 8 06:14:17 2019", "logout": "Tue Jun 23 15:27:28 2020", "duration": "228+08:13"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Sun Nov 3 12:20:05 2019", "logout": "crash", "duration": "4+17:54"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sun Nov 3 11:04:48 2019", "logout": "Sun Nov 3 11:05:50 2019", "duration": "00:01"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sat Nov 2 19:26:52 2019", "logout": "crash", "duration": "5+11:47"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Nov 1 15:14:12 2019", "logout": "Sun Nov 3 11:03:55 2019", "duration": "1+20:49"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Nov 1 15:13:19 2019", "logout": "Tue Jun 23 15:27:28 2020", "duration": "235+00:14"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Nov 1 11:16:36 2019", "logout": "Fri Nov 1 11:36:43 2019", "duration": "00:20"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Nov 1 06:00:15 2019", "logout": "Fri Nov 1 11:36:44 2019", "duration": "05:36"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Oct 29 18:17:00 2019", "logout": "crash", "duration": "2+11:43"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Oct 29 18:16:45 2019", "logout": "Fri Nov 1 11:36:44 2019", "duration": "2+17:19"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sat Oct 26 09:53:36 2019", "logout": "Sat Oct 26 15:13:20 2019", "duration": "05:19"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Oct 25 18:22:10 2019", "logout": "crash", "duration": "3+23:54"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Oct 25 18:21:45 2019", "logout": "Fri Nov 1 11:36:44 2019", "duration": "6+17:14"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Oct 25 17:14:54 2019", "logout": "Fri Oct 25 18:21:32 2019", "duration": "01:06"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Oct 25 17:13:49 2019", "logout": "Fri Nov 1 11:36:44 2019", "duration": "6+18:22"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Oct 25 15:43:55 2019", "logout": "Fri Oct 25 17:13:43 2019", "duration": "01:29"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Oct 25 13:29:01 2019", "logout": "Fri Oct 25 17:13:45 2019", "duration": "03:44"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Oct 21 13:19:30 2019", "logout": "Wed Oct 23 19:22:56 2019", "duration": "2+06:03"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Mon Oct 21 13:17:47 2019", "logout": "Wed Oct 23 19:22:58 2019", "duration": "2+06:05"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Oct 16 03:23:21 2019", "logout": "crash", "duration": "5+09:54"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Oct 15 16:49:02 2019", "logout": "Wed Oct 16 03:23:15 2019", "duration": "10:34"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Oct 15 10:39:44 2019", "logout": "Tue Oct 15 16:48:54 2019", "duration": "06:09"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.el7.x86_64", "login": "Tue Oct 15 10:39:10 2019", "logout": "Wed Oct 23 19:22:58 2019", "duration": "8+08:43"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 16:05:30 2019", "logout": "Thu Aug 15 16:05:50 2019", "duration": "00:00"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.el7.x86_64", "login": "Thu Aug 15 16:05:10 2019", "logout": "Thu Aug 15 16:05:52 2019", "duration": "00:00"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.el7.x86_64", "login": "Thu Aug 15 16:00:45 2019", "logout": "Thu Aug 15 16:05:52 2019", "duration": "00:05"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 14:25:00 2019", "logout": "crash", "duration": "01:35"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.el7.x86_64", "login": "Thu Aug 15 14:24:43 2019", "logout": "Thu Aug 15 16:05:52 2019", "duration": "01:41"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 11:58:46 2019", "logout": "crash", "duration": "02:25"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.el7.x86_64", "login": "Thu Aug 15 11:58:06 2019", "logout": "Thu Aug 15 16:05:52 2019", "duration": "04:07"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 11:57:28 2019", "logout": "Thu Aug 15 11:57:40 2019", "duration": "00:00"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.el7.x86_64", "login": "Thu Aug 15 11:57:07 2019", "logout": "Thu Aug 15 16:05:52 2019", "duration": "04:08"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Thu Aug 15 10:58:29 2019", "logout": "Thu Aug 15 11:56:42 2019", "duration": "00:58"}, {"user": "root", "tty": "tty1", "hostname": null, "login": "Thu Aug 15 10:57:26 2019", "logout": "Thu Aug 15 11:56:42 2019", "duration": "00:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.el7.x86_64", "login": "Thu Aug 15 10:57:06 2019", "logout": "Thu Aug 15 11:56:44 2019", "duration": "00:59"}] +[{"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Tue Jan 5 14:29:24 2021", "logout": "still logged in", "login_epoch": 1609885764}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jan 5 14:28:41 2021", "logout": "still logged in", "login_epoch": 1609885721}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Jan 5 14:28:28 2021", "logout": "Tue Jan 5 14:29:36 2021", "duration": "00:01", "login_epoch": 1609885708, "logout_epoch": 1609885776, "duration_seconds": 68}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Mon Jan 4 12:29:04 2021", "logout": "crash", "duration": "25:59", "login_epoch": 1609792144}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Mon Jan 4 12:11:44 2021", "logout": "Tue Jan 5 14:29:36 2021", "duration": "26:17", "login_epoch": 1609791104, "logout_epoch": 1609885776, "duration_seconds": 94672}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Wed Dec 30 11:12:50 2020", "logout": "crash", "duration": "120:58", "login_epoch": 1609355570}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Wed Dec 30 10:59:51 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "147:29", "login_epoch": 1609354791, "logout_epoch": 1609885776, "duration_seconds": 530985}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Tue Dec 29 10:14:19 2020", "logout": "crash", "duration": "24:45", "login_epoch": 1609265659}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Dec 29 10:11:44 2020", "logout": "crash", "duration": "24:48", "login_epoch": 1609265504}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Dec 29 10:11:28 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "172:18", "login_epoch": 1609265488, "logout_epoch": 1609885776, "duration_seconds": 620288}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Wed Aug 12 15:21:36 2020", "logout": "crash", "duration": "3331:49", "login_epoch": 1597270896}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Wed Aug 12 15:08:20 2020", "logout": "crash", "duration": "3332:03", "login_epoch": 1597270100}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Wed Aug 12 15:07:27 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "3504:22", "login_epoch": 1597270047, "logout_epoch": 1609885776, "duration_seconds": 12615729}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Tue Aug 4 09:39:30 2020", "logout": "crash", "duration": "197:27", "login_epoch": 1596559170}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Aug 4 09:39:01 2020", "logout": "crash", "duration": "197:28", "login_epoch": 1596559141}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Aug 4 09:30:24 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "3701:59", "login_epoch": 1596558624, "logout_epoch": 1609885776, "duration_seconds": 13327152}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Sat Aug 1 08:58:14 2020", "logout": "crash", "duration": "72:32", "login_epoch": 1596297494}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri Jul 31 13:55:56 2020", "logout": "crash", "duration": "91:34", "login_epoch": 1596228956}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Jul 31 13:55:35 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "3793:34", "login_epoch": 1596228935, "logout_epoch": 1609885776, "duration_seconds": 13656841}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Thu Jul 30 08:34:03 2020", "logout": "crash", "duration": "29:21", "login_epoch": 1596123243}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Thu Jul 30 08:31:17 2020", "logout": "crash", "duration": "29:24", "login_epoch": 1596123077}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Thu Jul 30 08:31:03 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "3822:58", "login_epoch": 1596123063, "logout_epoch": 1609885776, "duration_seconds": 13762713}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Tue Jul 28 19:23:39 2020", "logout": "crash", "duration": "37:07", "login_epoch": 1595989419}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jul 28 19:23:23 2020", "logout": "crash", "duration": "37:07", "login_epoch": 1595989403}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Jul 28 19:22:40 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "3860:06", "login_epoch": 1595989360, "logout_epoch": 1609885776, "duration_seconds": 13896416}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Tue Jul 28 16:27:59 2020", "logout": "crash", "duration": "02:54", "login_epoch": 1595978879}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jul 28 16:27:26 2020", "logout": "crash", "duration": "02:55", "login_epoch": 1595978846}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Jul 28 13:22:23 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "3866:07", "login_epoch": 1595967743, "logout_epoch": 1609885776, "duration_seconds": 13918033}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Tue Jul 28 00:13:44 2020", "logout": "crash", "duration": "13:08", "login_epoch": 1595920424}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Mon Jul 27 20:23:44 2020", "logout": "Tue Jul 28 00:13:35 2020", "duration": "03:49", "login_epoch": 1595906624, "logout_epoch": 1595920415, "duration_seconds": 13791}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Mon Jul 27 20:23:17 2020", "logout": "crash", "duration": "16:59", "login_epoch": 1595906597}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Mon Jul 27 20:04:44 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "3883:24", "login_epoch": 1595905484, "logout_epoch": 1609885776, "duration_seconds": 13980292}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Tue Jul 21 09:15:29 2020", "logout": "crash", "duration": "154:49", "login_epoch": 1595348129}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jul 21 09:15:07 2020", "logout": "crash", "duration": "154:49", "login_epoch": 1595348107}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Jul 21 09:14:38 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "4038:14", "login_epoch": 1595348078, "logout_epoch": 1609885776, "duration_seconds": 14537698}, {"user": "kbrazil", "tty": "pts/1", "hostname": "kbrazil-mac.attlocal.net", "login": "Fri Jul 17 19:12:43 2020", "logout": "Fri Jul 17 19:13:04 2020", "duration": "00:00", "login_epoch": 1595038363, "logout_epoch": 1595038384, "duration_seconds": 21}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri Jul 17 15:49:03 2020", "logout": "crash", "duration": "89:25", "login_epoch": 1595026143}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri Jul 17 15:48:35 2020", "logout": "crash", "duration": "89:26", "login_epoch": 1595026115}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Jul 17 15:48:11 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "4127:41", "login_epoch": 1595026091, "logout_epoch": 1609885776, "duration_seconds": 14859685}, {"user": "kbrazil", "tty": "pts/0", "hostname": "kbrazil-mac.attlocal.net", "login": "Fri Jul 17 01:52:05 2020", "logout": "crash", "duration": "13:56", "login_epoch": 1594975925}, {"user": "kbrazil", "tty": "pts/1", "hostname": "192.168.71.1", "login": "Thu Jul 16 14:48:42 2020", "logout": "crash", "duration": "24:59", "login_epoch": 1594936122}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Thu Jul 16 14:10:31 2020", "logout": "Thu Jul 16 16:26:07 2020", "duration": "02:15", "login_epoch": 1594933831, "logout_epoch": 1594941967, "duration_seconds": 8136}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Thu Jul 16 14:09:55 2020", "logout": "crash", "duration": "25:38", "login_epoch": 1594933795}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Thu Jul 16 08:35:02 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "4158:54", "login_epoch": 1594913702, "logout_epoch": 1609885776, "duration_seconds": 14972074}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Jul 8 13:44:04 2020", "logout": "crash", "duration": "186:50", "login_epoch": 1594241044}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Wed Jul 8 13:12:29 2020", "logout": "crash", "duration": "187:22", "login_epoch": 1594239149}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Wed Jul 8 11:27:06 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "4348:02", "login_epoch": 1594232826, "logout_epoch": 1609885776, "duration_seconds": 15652950}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Jun 26 11:53:28 2020", "logout": "crash", "duration": "287:33", "login_epoch": 1593197608}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Jun 26 11:52:15 2020", "logout": "Tue Jan 5 14:29:36 2021", "duration": "4635:37", "login_epoch": 1593197535, "logout_epoch": 1609885776, "duration_seconds": 16688241}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Jun 23 15:23:50 2020", "logout": "Tue Jun 23 15:27:26 2020", "duration": "00:03", "login_epoch": 1592951030, "logout_epoch": 1592951246, "duration_seconds": 216}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Jun 23 15:23:25 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "00:04", "login_epoch": 1592951005, "logout_epoch": 1592951248, "duration_seconds": 243}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri Jun 19 10:47:07 2020", "logout": "crash", "duration": "100:36", "login_epoch": 1592588827}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri Jun 19 10:46:46 2020", "logout": "crash", "duration": "100:36", "login_epoch": 1592588806}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Jun 19 10:29:25 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "100:58", "login_epoch": 1592587765, "logout_epoch": 1592951248, "duration_seconds": 363483}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Mon Jun 8 10:30:52 2020", "logout": "crash", "duration": "263:58", "login_epoch": 1591637452}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Mon Jun 8 10:30:29 2020", "logout": "crash", "duration": "263:58", "login_epoch": 1591637429}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Mon Jun 8 10:30:06 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "364:57", "login_epoch": 1591637406, "logout_epoch": 1592951248, "duration_seconds": 1313842}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Jun 2 12:05:38 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "507:21", "login_epoch": 1591124738, "logout_epoch": 1592951248, "duration_seconds": 1826510}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Tue Jun 2 08:38:47 2020", "logout": "crash", "duration": "03:26", "login_epoch": 1591112327}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jun 2 08:38:36 2020", "logout": "crash", "duration": "03:27", "login_epoch": 1591112316}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Jun 2 06:13:40 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "513:13", "login_epoch": 1591103620, "logout_epoch": 1592951248, "duration_seconds": 1847628}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sun May 24 16:10:42 2020", "logout": "Sun May 24 17:18:58 2020", "duration": "01:08", "login_epoch": 1590361842, "logout_epoch": 1590365938, "duration_seconds": 4096}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Sun May 24 15:34:27 2020", "logout": "crash", "duration": "206:39", "login_epoch": 1590359667}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Sun May 24 15:34:01 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "719:53", "login_epoch": 1590359641, "logout_epoch": 1592951248, "duration_seconds": 2591607}, {"user": "kbrazil", "tty": "pts/1", "hostname": "192.168.71.1", "login": "Fri May 22 13:39:48 2020", "logout": "crash", "duration": "49:54", "login_epoch": 1590179988}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri May 22 13:11:05 2020", "logout": "crash", "duration": "50:22", "login_epoch": 1590178265}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri May 22 13:10:36 2020", "logout": "crash", "duration": "50:23", "login_epoch": 1590178236}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri May 22 12:49:57 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "770:37", "login_epoch": 1590176997, "logout_epoch": 1592951248, "duration_seconds": 2774251}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri May 22 08:44:51 2020", "logout": "crash", "duration": "04:05", "login_epoch": 1590162291}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri May 22 08:44:09 2020", "logout": "crash", "duration": "04:05", "login_epoch": 1590162249}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri May 22 08:43:50 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "774:43", "login_epoch": 1590162230, "logout_epoch": 1592951248, "duration_seconds": 2789018}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Thu May 14 16:39:13 2020", "logout": "crash", "duration": "184:04", "login_epoch": 1589499553}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Thu May 14 16:39:00 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "958:48", "login_epoch": 1589499540, "logout_epoch": 1592951248, "duration_seconds": 3451708}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Wed May 13 10:23:33 2020", "logout": "crash", "duration": "30:15", "login_epoch": 1589390613}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Wed May 13 10:22:38 2020", "logout": "crash", "duration": "30:16", "login_epoch": 1589390558}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Wed May 13 09:51:51 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "989:35", "login_epoch": 1589388711, "logout_epoch": 1592951248, "duration_seconds": 3562537}, {"user": "kbrazil", "tty": "pts/1", "hostname": "192.168.71.1", "login": "Wed Apr 15 13:00:16 2020", "logout": "crash", "duration": "668:51", "login_epoch": 1586980816}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Wed Apr 15 12:38:34 2020", "logout": "Wed Apr 15 13:01:29 2020", "duration": "00:22", "login_epoch": 1586979514, "logout_epoch": 1586980889, "duration_seconds": 1375}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Wed Apr 15 12:28:46 2020", "logout": "Wed Apr 15 20:44:22 2020", "duration": "08:15", "login_epoch": 1586978926, "logout_epoch": 1587008662, "duration_seconds": 29736}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Wed Apr 15 04:02:22 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "1667:25", "login_epoch": 1586948542, "logout_epoch": 1592951248, "duration_seconds": 6002706}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Apr 14 16:02:37 2020", "logout": "crash", "duration": "11:59", "login_epoch": 1586905357}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Apr 14 16:02:17 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "1679:25", "login_epoch": 1586905337, "logout_epoch": 1592951248, "duration_seconds": 6045911}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Apr 14 08:44:45 2020", "logout": "Tue Apr 14 10:00:46 2020", "duration": "01:16", "login_epoch": 1586879085, "logout_epoch": 1586883646, "duration_seconds": 4561}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Apr 14 06:57:27 2020", "logout": "Tue Apr 14 08:44:39 2020", "duration": "01:47", "login_epoch": 1586872647, "logout_epoch": 1586879079, "duration_seconds": 6432}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Apr 14 06:56:01 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "1688:31", "login_epoch": 1586872561, "logout_epoch": 1592951248, "duration_seconds": 6078687}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Apr 7 17:33:04 2020", "logout": "crash", "duration": "157:22", "login_epoch": 1586305984}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Mon Apr 6 21:22:49 2020", "logout": "Mon Apr 6 22:42:06 2020", "duration": "01:19", "login_epoch": 1586233369, "logout_epoch": 1586238126, "duration_seconds": 4757}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Mon Apr 6 19:43:25 2020", "logout": "Mon Apr 6 19:45:24 2020", "duration": "00:01", "login_epoch": 1586227405, "logout_epoch": 1586227524, "duration_seconds": 119}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sat Apr 4 17:31:48 2020", "logout": "crash", "duration": "229:24", "login_epoch": 1586046708}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Sat Apr 4 17:17:00 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "1918:10", "login_epoch": 1586045820, "logout_epoch": 1592951248, "duration_seconds": 6905428}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sun Mar 29 12:42:56 2020", "logout": "crash", "duration": "148:34", "login_epoch": 1585510976}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Mar 24 11:21:56 2020", "logout": "Sun Mar 29 12:42:50 2020", "duration": "121:20", "login_epoch": 1585074116, "logout_epoch": 1585510970, "duration_seconds": 436854}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Mar 24 11:18:00 2020", "logout": "Tue Mar 24 11:21:51 2020", "duration": "00:03", "login_epoch": 1585073880, "logout_epoch": 1585074111, "duration_seconds": 231}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Mar 24 10:57:02 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "2188:30", "login_epoch": 1585072622, "logout_epoch": 1592951248, "duration_seconds": 7878626}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Mar 17 06:56:55 2020", "logout": "crash", "duration": "172:00", "login_epoch": 1584453415}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Mar 17 05:12:10 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "2362:15", "login_epoch": 1584447130, "logout_epoch": 1592951248, "duration_seconds": 8504118}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Mar 12 10:12:42 2020", "logout": "crash", "duration": "114:59", "login_epoch": 1584033162}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Thu Mar 12 09:22:03 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "2478:05", "login_epoch": 1584030123, "logout_epoch": 1592951248, "duration_seconds": 8921125}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Mar 11 13:29:24 2020", "logout": "crash", "duration": "19:52", "login_epoch": 1583958564}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Wed Mar 11 12:19:59 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "2499:07", "login_epoch": 1583954399, "logout_epoch": 1592951248, "duration_seconds": 8996849}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Mar 10 17:53:11 2020", "logout": "crash", "duration": "18:26", "login_epoch": 1583887991}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Mar 10 17:52:57 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "2517:34", "login_epoch": 1583887977, "logout_epoch": 1592951248, "duration_seconds": 9063271}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Mar 10 13:09:01 2020", "logout": "crash", "duration": "04:43", "login_epoch": 1583870941}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Mar 10 13:08:45 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "2522:18", "login_epoch": 1583870925, "logout_epoch": 1592951248, "duration_seconds": 9080323}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sat Mar 7 18:13:19 2020", "logout": "crash", "duration": "65:55", "login_epoch": 1583633599}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Sat Mar 7 18:13:04 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "2588:14", "login_epoch": 1583633584, "logout_epoch": 1592951248, "duration_seconds": 9317664}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Mar 5 14:48:23 2020", "logout": "crash", "duration": "51:24", "login_epoch": 1583448503}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Thu Mar 5 03:02:06 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "2651:25", "login_epoch": 1583406126, "logout_epoch": 1592951248, "duration_seconds": 9545122}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Mar 2 19:53:22 2020", "logout": "crash", "duration": "55:08", "login_epoch": 1583207602}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Mon Mar 2 19:53:07 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "2706:34", "login_epoch": 1583207587, "logout_epoch": 1592951248, "duration_seconds": 9743661}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sat Feb 29 18:43:55 2020", "logout": "crash", "duration": "49:09", "login_epoch": 1583030635}, {"user": "kbrazil", "tty": "pts/1", "hostname": "192.168.71.1", "login": "Sat Feb 29 18:08:17 2020", "logout": "Sat Feb 29 18:28:47 2020", "duration": "00:20", "login_epoch": 1583028497, "logout_epoch": 1583029727, "duration_seconds": 1230}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sat Feb 29 15:16:16 2020", "logout": "Sat Feb 29 18:42:49 2020", "duration": "03:26", "login_epoch": 1583018176, "logout_epoch": 1583030569, "duration_seconds": 12393}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sat Feb 29 12:14:10 2020", "logout": "crash", "duration": "55:38", "login_epoch": 1583007250}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Sat Feb 29 12:13:44 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "2762:13", "login_epoch": 1583007224, "logout_epoch": 1592951248, "duration_seconds": 9944024}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Feb 28 13:49:56 2020", "logout": "crash", "duration": "22:23", "login_epoch": 1582926596}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Feb 28 12:56:05 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "2785:31", "login_epoch": 1582923365, "logout_epoch": 1592951248, "duration_seconds": 10027883}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 27 16:01:25 2020", "logout": "crash", "duration": "20:54", "login_epoch": 1582848085}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Thu Feb 27 15:51:42 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "2806:35", "login_epoch": 1582847502, "logout_epoch": 1592951248, "duration_seconds": 10103746}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 27 10:50:36 2020", "logout": "crash", "duration": "05:01", "login_epoch": 1582829436}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Wed Feb 26 20:05:10 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "2826:22", "login_epoch": 1582776310, "logout_epoch": 1592951248, "duration_seconds": 10174938}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 20 14:42:01 2020", "logout": "crash", "duration": "149:23", "login_epoch": 1582238521}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Thu Feb 20 14:41:39 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "2975:45", "login_epoch": 1582238499, "logout_epoch": 1592951248, "duration_seconds": 10712749}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Feb 17 17:48:58 2020", "logout": "crash", "duration": "68:52", "login_epoch": 1581990538}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Mon Feb 17 17:48:37 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "3044:38", "login_epoch": 1581990517, "logout_epoch": 1592951248, "duration_seconds": 10960731}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 13 16:44:51 2020", "logout": "crash", "duration": "97:03", "login_epoch": 1581641091}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Thu Feb 13 16:44:31 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "3141:42", "login_epoch": 1581641071, "logout_epoch": 1592951248, "duration_seconds": 11310177}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Feb 5 14:23:46 2020", "logout": "crash", "duration": "194:20", "login_epoch": 1580941426}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Wed Feb 5 11:43:15 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "3338:44", "login_epoch": 1580931795, "logout_epoch": 1592951248, "duration_seconds": 12019453}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Feb 4 14:28:14 2020", "logout": "crash", "duration": "21:15", "login_epoch": 1580855294}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Feb 4 01:28:02 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "3372:59", "login_epoch": 1580808482, "logout_epoch": 1592951248, "duration_seconds": 12142766}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Jan 13 17:28:13 2020", "logout": "crash", "duration": "511:59", "login_epoch": 1578965293}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Mon Jan 13 16:16:04 2020", "logout": "Tue Jun 23 15:27:28 2020", "duration": "3886:11", "login_epoch": 1578960964, "logout_epoch": 1592951248, "duration_seconds": 13990284}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Dec 16 11:15:00 2019", "logout": "crash", "duration": "677:01", "login_epoch": 1576523700}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Mon Dec 16 11:14:30 2019", "logout": "Tue Jun 23 15:27:28 2020", "duration": "4563:12", "login_epoch": 1576523670, "logout_epoch": 1592951248, "duration_seconds": 16427578}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Dec 4 21:41:25 2019", "logout": "crash", "duration": "277:33", "login_epoch": 1575524485}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Wed Dec 4 21:40:48 2019", "logout": "Tue Jun 23 15:27:28 2020", "duration": "4840:46", "login_epoch": 1575524448, "logout_epoch": 1592951248, "duration_seconds": 17426800}, {"user": "kbrazil", "tty": "pts/1", "hostname": null, "login": "Sat Nov 16 14:40:36 2019", "logout": "Sat Nov 16 14:40:41 2019", "duration": "00:00", "login_epoch": 1573944036, "logout_epoch": 1573944041, "duration_seconds": 5}, {"user": "kbrazil", "tty": "pts/1", "hostname": null, "login": "Sat Nov 16 14:39:29 2019", "logout": "Sat Nov 16 14:39:42 2019", "duration": "00:00", "login_epoch": 1573943969, "logout_epoch": 1573943982, "duration_seconds": 13}, {"user": "kbrazil", "tty": "pts/0", "hostname": "localhost", "login": "Tue Nov 12 07:19:39 2019", "logout": "crash", "duration": "542:21", "login_epoch": 1573571979}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Nov 12 07:18:40 2019", "logout": "crash", "duration": "542:22", "login_epoch": 1573571920}, {"user": "kbrazil", "tty": "pts/0", "hostname": "localhost", "login": "Sun Nov 10 08:21:36 2019", "logout": "Mon Nov 11 15:22:36 2019", "duration": "31:01", "login_epoch": 1573402896, "logout_epoch": 1573514556, "duration_seconds": 111660}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sat Nov 9 10:34:48 2019", "logout": "Tue Nov 12 07:16:59 2019", "duration": "68:42", "login_epoch": 1573324488, "logout_epoch": 1573571819, "duration_seconds": 247331}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Sat Nov 9 10:34:26 2019", "logout": "Tue Jun 23 15:27:28 2020", "duration": "5451:53", "login_epoch": 1573324466, "logout_epoch": 1592951248, "duration_seconds": 19626782}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri Nov 8 07:49:24 2019", "logout": "crash", "duration": "26:45", "login_epoch": 1573228164}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri Nov 8 06:29:41 2019", "logout": "crash", "duration": "28:04", "login_epoch": 1573223381}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Nov 8 06:24:27 2019", "logout": "crash", "duration": "28:09", "login_epoch": 1573223067}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Nov 8 06:14:17 2019", "logout": "Tue Jun 23 15:27:28 2020", "duration": "5480:13", "login_epoch": 1573222457, "logout_epoch": 1592951248, "duration_seconds": 19728791}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Sun Nov 3 12:20:05 2019", "logout": "crash", "duration": "113:54", "login_epoch": 1572812405}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sun Nov 3 11:04:48 2019", "logout": "Sun Nov 3 11:05:50 2019", "duration": "00:01", "login_epoch": 1572807888, "logout_epoch": 1572807950, "duration_seconds": 62}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sat Nov 2 19:26:52 2019", "logout": "crash", "duration": "131:47", "login_epoch": 1572748012}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Nov 1 15:14:12 2019", "logout": "Sun Nov 3 11:03:55 2019", "duration": "44:49", "login_epoch": 1572646452, "logout_epoch": 1572807835, "duration_seconds": 161383}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Nov 1 15:13:19 2019", "logout": "Tue Jun 23 15:27:28 2020", "duration": "5640:14", "login_epoch": 1572646399, "logout_epoch": 1592951248, "duration_seconds": 20304849}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Nov 1 11:16:36 2019", "logout": "Fri Nov 1 11:36:43 2019", "duration": "00:20", "login_epoch": 1572632196, "logout_epoch": 1572633403, "duration_seconds": 1207}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Nov 1 06:00:15 2019", "logout": "Fri Nov 1 11:36:44 2019", "duration": "05:36", "login_epoch": 1572613215, "logout_epoch": 1572633404, "duration_seconds": 20189}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Oct 29 18:17:00 2019", "logout": "crash", "duration": "59:43", "login_epoch": 1572398220}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Tue Oct 29 18:16:45 2019", "logout": "Fri Nov 1 11:36:44 2019", "duration": "65:19", "login_epoch": 1572398205, "logout_epoch": 1572633404, "duration_seconds": 235199}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sat Oct 26 09:53:36 2019", "logout": "Sat Oct 26 15:13:20 2019", "duration": "05:19", "login_epoch": 1572108816, "logout_epoch": 1572128000, "duration_seconds": 19184}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Oct 25 18:22:10 2019", "logout": "crash", "duration": "95:54", "login_epoch": 1572052930}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Oct 25 18:21:45 2019", "logout": "Fri Nov 1 11:36:44 2019", "duration": "161:14", "login_epoch": 1572052905, "logout_epoch": 1572633404, "duration_seconds": 580499}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Oct 25 17:14:54 2019", "logout": "Fri Oct 25 18:21:32 2019", "duration": "01:06", "login_epoch": 1572048894, "logout_epoch": 1572052892, "duration_seconds": 3998}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Oct 25 17:13:49 2019", "logout": "Fri Nov 1 11:36:44 2019", "duration": "162:22", "login_epoch": 1572048829, "logout_epoch": 1572633404, "duration_seconds": 584575}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Oct 25 15:43:55 2019", "logout": "Fri Oct 25 17:13:43 2019", "duration": "01:29", "login_epoch": 1572043435, "logout_epoch": 1572048823, "duration_seconds": 5388}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Fri Oct 25 13:29:01 2019", "logout": "Fri Oct 25 17:13:45 2019", "duration": "03:44", "login_epoch": 1572035341, "logout_epoch": 1572048825, "duration_seconds": 13484}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Oct 21 13:19:30 2019", "logout": "Wed Oct 23 19:22:56 2019", "duration": "54:03", "login_epoch": 1571689170, "logout_epoch": 1571883776, "duration_seconds": 194606}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.el7.x86_64", "login": "Mon Oct 21 13:17:47 2019", "logout": "Wed Oct 23 19:22:58 2019", "duration": "54:05", "login_epoch": 1571689067, "logout_epoch": 1571883778, "duration_seconds": 194711}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Oct 16 03:23:21 2019", "logout": "crash", "duration": "129:54", "login_epoch": 1571221401}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Oct 15 16:49:02 2019", "logout": "Wed Oct 16 03:23:15 2019", "duration": "10:34", "login_epoch": 1571183342, "logout_epoch": 1571221395, "duration_seconds": 38053}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Oct 15 10:39:44 2019", "logout": "Tue Oct 15 16:48:54 2019", "duration": "06:09", "login_epoch": 1571161184, "logout_epoch": 1571183334, "duration_seconds": 22150}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.el7.x86_64", "login": "Tue Oct 15 10:39:10 2019", "logout": "Wed Oct 23 19:22:58 2019", "duration": "200:43", "login_epoch": 1571161150, "logout_epoch": 1571883778, "duration_seconds": 722628}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 16:05:30 2019", "logout": "Thu Aug 15 16:05:50 2019", "duration": "00:00", "login_epoch": 1565910330, "logout_epoch": 1565910350, "duration_seconds": 20}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.el7.x86_64", "login": "Thu Aug 15 16:05:10 2019", "logout": "Thu Aug 15 16:05:52 2019", "duration": "00:00", "login_epoch": 1565910310, "logout_epoch": 1565910352, "duration_seconds": 42}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.el7.x86_64", "login": "Thu Aug 15 16:00:45 2019", "logout": "Thu Aug 15 16:05:52 2019", "duration": "00:05", "login_epoch": 1565910045, "logout_epoch": 1565910352, "duration_seconds": 307}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 14:25:00 2019", "logout": "crash", "duration": "01:35", "login_epoch": 1565904300}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.el7.x86_64", "login": "Thu Aug 15 14:24:43 2019", "logout": "Thu Aug 15 16:05:52 2019", "duration": "01:41", "login_epoch": 1565904283, "logout_epoch": 1565910352, "duration_seconds": 6069}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 11:58:46 2019", "logout": "crash", "duration": "02:25", "login_epoch": 1565895526}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.el7.x86_64", "login": "Thu Aug 15 11:58:06 2019", "logout": "Thu Aug 15 16:05:52 2019", "duration": "04:07", "login_epoch": 1565895486, "logout_epoch": 1565910352, "duration_seconds": 14866}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 11:57:28 2019", "logout": "Thu Aug 15 11:57:40 2019", "duration": "00:00", "login_epoch": 1565895448, "logout_epoch": 1565895460, "duration_seconds": 12}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.el7.x86_64", "login": "Thu Aug 15 11:57:07 2019", "logout": "Thu Aug 15 16:05:52 2019", "duration": "04:08", "login_epoch": 1565895427, "logout_epoch": 1565910352, "duration_seconds": 14925}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Thu Aug 15 10:58:29 2019", "logout": "Thu Aug 15 11:56:42 2019", "duration": "00:58", "login_epoch": 1565891909, "logout_epoch": 1565895402, "duration_seconds": 3493}, {"user": "root", "tty": "tty1", "hostname": null, "login": "Thu Aug 15 10:57:26 2019", "logout": "Thu Aug 15 11:56:42 2019", "duration": "00:59", "login_epoch": 1565891846, "logout_epoch": 1565895402, "duration_seconds": 3556}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.el7.x86_64", "login": "Thu Aug 15 10:57:06 2019", "logout": "Thu Aug 15 11:56:44 2019", "duration": "00:59", "login_epoch": 1565891826, "logout_epoch": 1565895404, "duration_seconds": 3578}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1127.19.1", "login": "Tue Dec 29 08:53:03 2020", "logout": "Wed Jan 6 09:28:15 2021", "duration": "192:35", "login_epoch": 1609260783, "logout_epoch": 1609954095, "duration_seconds": 693312}, {"user": "user1234", "tty": "pts/0", "hostname": "CONSOLE:0", "login": "Tue Dec 29 13:50:50 2020", "logout": "crash", "duration": "-4:-57", "login_epoch": 1609278650}, {"user": "user1234", "tty": ":0", "hostname": "CONSOLE:0", "login": "Tue Dec 29 13:49:58 2020", "logout": "crash", "duration": "-4:-56", "login_epoch": 1609278598}, {"user": "user1234", "tty": "pts/1", "hostname": "CONSOLE:pts/0:S.0", "login": "Mon Dec 28 17:24:33 2020", "logout": "Mon Dec 28 17:24:46 2020", "duration": "00:00", "login_epoch": 1609205073, "logout_epoch": 1609205086, "duration_seconds": 13}, {"user": "user1234", "tty": "pts/0", "hostname": "CONSOLE:0", "login": "Mon Dec 28 17:24:10 2020", "logout": "Mon Dec 28 17:25:01 2020", "duration": "00:00", "login_epoch": 1609205050, "logout_epoch": 1609205101, "duration_seconds": 51}, {"user": "user1234", "tty": "pts/2", "hostname": "fe80::fd8:7309:4", "login": "Mon Dec 28 12:43:33 2020", "logout": "Mon Dec 28 13:14:22 2020", "duration": "00:30", "login_epoch": 1609188213, "logout_epoch": 1609190062, "duration_seconds": 1849}] diff --git a/tests/fixtures/centos-7.7/last-wF.out b/tests/fixtures/centos-7.7/last-wF.out index ac28f78cf..b2b11e99b 100644 --- a/tests/fixtures/centos-7.7/last-wF.out +++ b/tests/fixtures/centos-7.7/last-wF.out @@ -180,5 +180,11 @@ reboot system boot 3.10.0-957.el7.x86_64 Thu Aug 15 11:57:07 2019 - Thu Aug 1 kbrazil pts/0 192.168.71.1 Thu Aug 15 10:58:29 2019 - Thu Aug 15 11:56:42 2019 (00:58) root tty1 Thu Aug 15 10:57:26 2019 - Thu Aug 15 11:56:42 2019 (00:59) reboot system boot 3.10.0-957.el7.x86_64 Thu Aug 15 10:57:06 2019 - Thu Aug 15 11:56:44 2019 (00:59) +reboot system boot 3.10.0-1127.19.1 Tue Dec 29 08:53:03 2020 - Wed Jan 6 09:28:15 2021 (8+00:35) +user1234 pts/0 :0 Tue Dec 29 13:50:50 2020 - crash (-4:-57) +user1234 :0 :0 Tue Dec 29 13:49:58 2020 - crash (-4:-56) +user1234 pts/1 :pts/0:S.0 Mon Dec 28 17:24:33 2020 - Mon Dec 28 17:24:46 2020 (00:00) +user1234 pts/0 :0 Mon Dec 28 17:24:10 2020 - Mon Dec 28 17:25:01 2020 (00:00) +user1234 pts/2 fe80::fd8:7309:4 Mon Dec 28 12:43:33 2020 - Mon Dec 28 13:14:22 2020 (00:30) wtmp begins Thu Aug 15 10:57:06 2019 diff --git a/tests/fixtures/centos-7.7/last.json b/tests/fixtures/centos-7.7/last.json index 05ae4ec05..b946666ad 100644 --- a/tests/fixtures/centos-7.7/last.json +++ b/tests/fixtures/centos-7.7/last.json @@ -1 +1 @@ -[{"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Feb 28 13:49", "logout": "still logged in"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Feb 28 12:56", "logout": "14:52", "duration": "01:56"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 27 16:01", "logout": "crash", "duration": "20:54"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Thu Feb 27 15:51", "logout": "14:52", "duration": "23:01"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 27 10:50", "logout": "crash", "duration": "05:01"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Wed Feb 26 20:05", "logout": "14:52", "duration": "1+18:47"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 20 14:42", "logout": "crash", "duration": "6+05:23"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Thu Feb 20 14:41", "logout": "14:52", "duration": "8+00:11"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Feb 17 17:48", "logout": "crash", "duration": "2+20:52"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Mon Feb 17 17:48", "logout": "14:52", "duration": "10+21:04"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 13 16:44", "logout": "crash", "duration": "4+01:03"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Thu Feb 13 16:44", "logout": "14:52", "duration": "14+22:08"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Feb 5 14:23", "logout": "crash", "duration": "8+02:20"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Wed Feb 5 11:43", "logout": "14:52", "duration": "23+03:09"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Feb 4 14:28", "logout": "crash", "duration": "21:15"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Feb 4 01:28", "logout": "14:52", "duration": "24+13:24"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Jan 13 17:28", "logout": "crash", "duration": "21+07:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Mon Jan 13 16:16", "logout": "14:52", "duration": "45+22:36"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Dec 16 11:15", "logout": "crash", "duration": "28+05:01"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Mon Dec 16 11:14", "logout": "14:52", "duration": "74+03:38"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Dec 4 21:41", "logout": "crash", "duration": "11+13:33"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Wed Dec 4 21:40", "logout": "14:52", "duration": "85+17:12"}, {"user": "kbrazil", "tty": "pts/1", "hostname": null, "login": "Sat Nov 16 14:40", "logout": "14:40", "duration": "00:00"}, {"user": "kbrazil", "tty": "pts/1", "hostname": null, "login": "Sat Nov 16 14:39", "logout": "14:39", "duration": "00:00"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "localhost", "login": "Tue Nov 12 07:19", "logout": "crash", "duration": "22+14:21"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Nov 12 07:18", "logout": "crash", "duration": "22+14:22"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "localhost", "login": "Sun Nov 10 08:21", "logout": "15:22", "duration": "1+07:01"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sat Nov 9 10:34", "logout": "07:16", "duration": "2+20:42"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Sat Nov 9 10:34", "logout": "14:52", "duration": "111+04:18"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri Nov 8 07:49", "logout": "crash", "duration": "1+02:45"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri Nov 8 06:29", "logout": "crash", "duration": "1+04:04"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Nov 8 06:24", "logout": "crash", "duration": "1+04:09"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Nov 8 06:14", "logout": "14:52", "duration": "112+08:38"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Sun Nov 3 12:20", "logout": "crash", "duration": "4+17:54"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sun Nov 3 11:04", "logout": "11:05", "duration": "00:01"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sat Nov 2 19:26", "logout": "crash", "duration": "5+11:47"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Nov 1 15:14", "logout": "11:03", "duration": "1+20:49"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Nov 1 15:13", "logout": "14:52", "duration": "119+00:39"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Nov 1 11:16", "logout": "11:36", "duration": "00:20"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Nov 1 06:00", "logout": "11:36", "duration": "05:36"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Oct 29 18:17", "logout": "crash", "duration": "2+11:43"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Oct 29 18:16", "logout": "11:36", "duration": "2+17:19"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sat Oct 26 09:53", "logout": "15:13", "duration": "05:19"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Oct 25 18:22", "logout": "crash", "duration": "3+23:54"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Oct 25 18:21", "logout": "11:36", "duration": "6+17:14"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Oct 25 17:14", "logout": "18:21", "duration": "01:06"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Oct 25 17:13", "logout": "11:36", "duration": "6+18:22"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Oct 25 15:43", "logout": "17:13", "duration": "01:29"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Oct 25 13:29", "logout": "17:13", "duration": "03:44"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Oct 21 13:19", "logout": "19:22", "duration": "2+06:03"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Mon Oct 21 13:17", "logout": "19:22", "duration": "2+06:05"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Oct 16 03:23", "logout": "crash", "duration": "5+09:54"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Oct 15 16:49", "logout": "03:23", "duration": "10:34"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Oct 15 10:39", "logout": "16:48", "duration": "06:09"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.", "login": "Tue Oct 15 10:39", "logout": "19:22", "duration": "8+08:43"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 16:05", "logout": "16:05", "duration": "00:00"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.", "login": "Thu Aug 15 16:05", "logout": "16:05", "duration": "00:00"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.", "login": "Thu Aug 15 16:00", "logout": "16:05", "duration": "00:05"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 14:25", "logout": "crash", "duration": "01:35"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.", "login": "Thu Aug 15 14:24", "logout": "16:05", "duration": "01:41"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 11:58", "logout": "crash", "duration": "02:25"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.el7.x", "login": "Thu Aug 15 11:58", "logout": "16:05", "duration": "04:07"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 11:57", "logout": "11:57", "duration": "00:00"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.el7.x", "login": "Thu Aug 15 11:57", "logout": "16:05", "duration": "04:08"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Thu Aug 15 10:58", "logout": "11:56", "duration": "00:58"}, {"user": "root", "tty": "tty1", "hostname": null, "login": "Thu Aug 15 10:57", "logout": "11:56", "duration": "00:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.el7.x", "login": "Thu Aug 15 10:57", "logout": "11:56", "duration": "00:59"}] +[{"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Feb 28 13:49", "logout": "still logged in"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Feb 28 12:56", "logout": "14:52", "duration": "01:56"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 27 16:01", "logout": "crash", "duration": "20:54"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Thu Feb 27 15:51", "logout": "14:52", "duration": "23:01"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 27 10:50", "logout": "crash", "duration": "05:01"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Wed Feb 26 20:05", "logout": "14:52", "duration": "42:47"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 20 14:42", "logout": "crash", "duration": "149:23"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Thu Feb 20 14:41", "logout": "14:52", "duration": "192:11"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Feb 17 17:48", "logout": "crash", "duration": "68:52"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Mon Feb 17 17:48", "logout": "14:52", "duration": "261:04"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 13 16:44", "logout": "crash", "duration": "97:03"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Thu Feb 13 16:44", "logout": "14:52", "duration": "358:08"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Feb 5 14:23", "logout": "crash", "duration": "194:20"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Wed Feb 5 11:43", "logout": "14:52", "duration": "555:09"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Feb 4 14:28", "logout": "crash", "duration": "21:15"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Feb 4 01:28", "logout": "14:52", "duration": "589:24"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Jan 13 17:28", "logout": "crash", "duration": "511:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Mon Jan 13 16:16", "logout": "14:52", "duration": "1102:36"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Dec 16 11:15", "logout": "crash", "duration": "677:01"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Mon Dec 16 11:14", "logout": "14:52", "duration": "1779:38"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Dec 4 21:41", "logout": "crash", "duration": "277:33"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Wed Dec 4 21:40", "logout": "14:52", "duration": "2057:12"}, {"user": "kbrazil", "tty": "pts/1", "hostname": null, "login": "Sat Nov 16 14:40", "logout": "14:40", "duration": "00:00"}, {"user": "kbrazil", "tty": "pts/1", "hostname": null, "login": "Sat Nov 16 14:39", "logout": "14:39", "duration": "00:00"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "localhost", "login": "Tue Nov 12 07:19", "logout": "crash", "duration": "542:21"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Nov 12 07:18", "logout": "crash", "duration": "542:22"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "localhost", "login": "Sun Nov 10 08:21", "logout": "15:22", "duration": "31:01"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sat Nov 9 10:34", "logout": "07:16", "duration": "68:42"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Sat Nov 9 10:34", "logout": "14:52", "duration": "2668:18"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri Nov 8 07:49", "logout": "crash", "duration": "26:45"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri Nov 8 06:29", "logout": "crash", "duration": "28:04"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Nov 8 06:24", "logout": "crash", "duration": "28:09"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Nov 8 06:14", "logout": "14:52", "duration": "2696:38"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Sun Nov 3 12:20", "logout": "crash", "duration": "113:54"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Sun Nov 3 11:04", "logout": "11:05", "duration": "00:01"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sat Nov 2 19:26", "logout": "crash", "duration": "131:47"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Nov 1 15:14", "logout": "11:03", "duration": "44:49"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Nov 1 15:13", "logout": "14:52", "duration": "2856:39"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Nov 1 11:16", "logout": "11:36", "duration": "00:20"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Nov 1 06:00", "logout": "11:36", "duration": "05:36"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Oct 29 18:17", "logout": "crash", "duration": "59:43"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Tue Oct 29 18:16", "logout": "11:36", "duration": "65:19"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Sat Oct 26 09:53", "logout": "15:13", "duration": "05:19"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Oct 25 18:22", "logout": "crash", "duration": "95:54"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Oct 25 18:21", "logout": "11:36", "duration": "161:14"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Oct 25 17:14", "logout": "18:21", "duration": "01:06"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Oct 25 17:13", "logout": "11:36", "duration": "162:22"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Oct 25 15:43", "logout": "17:13", "duration": "01:29"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Fri Oct 25 13:29", "logout": "17:13", "duration": "03:44"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Mon Oct 21 13:19", "logout": "19:22", "duration": "54:03"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-1062.1.2.", "login": "Mon Oct 21 13:17", "logout": "19:22", "duration": "54:05"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Wed Oct 16 03:23", "logout": "crash", "duration": "129:54"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Oct 15 16:49", "logout": "03:23", "duration": "10:34"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Oct 15 10:39", "logout": "16:48", "duration": "06:09"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.", "login": "Tue Oct 15 10:39", "logout": "19:22", "duration": "200:43"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 16:05", "logout": "16:05", "duration": "00:00"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.", "login": "Thu Aug 15 16:05", "logout": "16:05", "duration": "00:00"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.", "login": "Thu Aug 15 16:00", "logout": "16:05", "duration": "00:05"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 14:25", "logout": "crash", "duration": "01:35"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.27.2.", "login": "Thu Aug 15 14:24", "logout": "16:05", "duration": "01:41"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 11:58", "logout": "crash", "duration": "02:25"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.el7.x", "login": "Thu Aug 15 11:58", "logout": "16:05", "duration": "04:07"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Aug 15 11:57", "logout": "11:57", "duration": "00:00"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.el7.x", "login": "Thu Aug 15 11:57", "logout": "16:05", "duration": "04:08"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Thu Aug 15 10:58", "logout": "11:56", "duration": "00:58"}, {"user": "root", "tty": "tty1", "hostname": null, "login": "Thu Aug 15 10:57", "logout": "11:56", "duration": "00:59"}, {"user": "reboot", "tty": "system boot", "hostname": "3.10.0-957.el7.x", "login": "Thu Aug 15 10:57", "logout": "11:56", "duration": "00:59"}] diff --git a/tests/fixtures/fedora32/last.json b/tests/fixtures/fedora32/last.json index 6de2f7675..756775246 100644 --- a/tests/fixtures/fedora32/last.json +++ b/tests/fixtures/fedora32/last.json @@ -1 +1 @@ -[{"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri May 1 15:25", "logout": "gone - no logout"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri May 1 15:24", "logout": "gone - no logout"}, {"user": "reboot", "tty": "system boot", "hostname": "5.6.6-300.fc32.x", "login": "Fri May 1 15:24", "logout": "running"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Thu Apr 30 15:27", "logout": "15:22", "duration": "23:55"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Thu Apr 30 15:25", "logout": "down", "duration": "23:57"}, {"user": "reboot", "tty": "system boot", "hostname": "5.6.6-300.fc32.x", "login": "Thu Apr 30 15:22", "logout": "15:22", "duration": "1+00:00"}] +[{"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Fri May 1 15:25", "logout": "gone - no logout"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Fri May 1 15:24", "logout": "gone - no logout"}, {"user": "reboot", "tty": "system boot", "hostname": "5.6.6-300.fc32.x", "login": "Fri May 1 15:24", "logout": "running"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Thu Apr 30 15:27", "logout": "15:22", "duration": "23:55"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Thu Apr 30 15:25", "logout": "down", "duration": "23:57"}, {"user": "reboot", "tty": "system boot", "hostname": "5.6.6-300.fc32.x", "login": "Thu Apr 30 15:22", "logout": "15:22", "duration": "24:00"}] diff --git a/tests/fixtures/osx-10.14.6/last.json b/tests/fixtures/osx-10.14.6/last.json index ed198ff14..3e2b81d49 100644 --- a/tests/fixtures/osx-10.14.6/last.json +++ b/tests/fixtures/osx-10.14.6/last.json @@ -1 +1 @@ -[{"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Fri Feb 28 14:45", "logout": "still logged in"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Fri Feb 28 08:59", "logout": "still logged in"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Thu Feb 27 14:31", "logout": "14:31", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Thu Feb 27 10:38", "logout": "10:38", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Thu Feb 27 10:18", "logout": "10:18", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Fri Feb 21 08:47", "logout": "08:47", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Thu Feb 20 14:53", "logout": "14:53", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Feb 13 16:44", "logout": "16:44", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Feb 11 21:25", "logout": "still logged in"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Feb 10 15:54", "logout": "15:54", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Feb 10 08:52", "logout": "08:52", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Fri Feb 7 23:32", "logout": "23:32", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Fri Feb 7 23:32", "logout": "23:32", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Fri Feb 7 23:32", "logout": "still logged in"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Fri Feb 7 23:31"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Fri Feb 7 23:26"}, {"user": "root", "tty": "console", "hostname": null, "login": "Fri Feb 7 23:25", "logout": "shutdown", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Fri Feb 7 11:19", "logout": "11:19", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Fri Feb 7 11:19", "logout": "11:19", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Fri Feb 7 07:51", "logout": "23:25", "duration": "15:34"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Fri Feb 7 07:51"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Fri Feb 7 07:50"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Wed Feb 5 11:42", "logout": "11:42", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Feb 4 14:23", "logout": "14:23", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Feb 3 15:22", "logout": "15:22", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Feb 3 08:58", "logout": "08:58", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Wed Jan 29 11:10", "logout": "11:10", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Jan 28 09:00", "logout": "09:00", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Jan 27 17:15", "logout": "17:15", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Sun Jan 26 19:13", "logout": "19:13", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Fri Jan 24 14:03", "logout": "14:03", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Wed Jan 22 09:17", "logout": "09:17", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Jan 21 11:56", "logout": "11:56", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Fri Jan 17 12:49", "logout": "12:49", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Fri Jan 17 11:32", "logout": "11:32", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Jan 16 14:51", "logout": "14:51", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Wed Jan 15 17:45", "logout": "17:45", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Jan 14 13:30", "logout": "13:30", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Jan 14 13:17", "logout": "13:17", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys004", "hostname": null, "login": "Tue Jan 14 11:55", "logout": "11:55", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Mon Jan 13 17:27", "logout": "17:27", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Jan 13 16:11", "logout": "16:11", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Jan 13 13:51", "logout": "13:51", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Fri Jan 10 13:21", "logout": "13:21", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Jan 9 12:38", "logout": "12:38", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Wed Jan 8 06:08", "logout": "06:08", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Jan 7 14:22", "logout": "14:22", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Jan 7 08:57", "logout": "08:57", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Fri Jan 3 13:24", "logout": "13:24", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Jan 2 14:05", "logout": "14:05", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Jan 2 10:07", "logout": "10:07", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys004", "hostname": null, "login": "Mon Dec 16 14:17", "logout": "14:17", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Mon Dec 16 11:14", "logout": "11:14", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Dec 12 12:10", "logout": "12:10", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Thu Dec 12 12:10", "logout": "07:50", "duration": "56+19:39"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Thu Dec 12 12:09"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Thu Dec 12 12:09"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Dec 12 00:15", "logout": "00:15", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Thu Dec 12 00:15", "logout": "12:09", "duration": "11:54"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Thu Dec 12 00:14"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Thu Dec 12 00:08"}, {"user": "root", "tty": "console", "hostname": null, "login": "Thu Dec 12 00:08", "logout": "shutdown", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Wed Dec 11 16:17", "logout": "16:17", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Wed Dec 11 16:16", "logout": "16:16", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Fri Dec 6 10:41", "logout": "10:41", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Fri Dec 6 07:32", "logout": "07:32", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Mon Dec 2 23:44", "logout": "23:44", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Mon Dec 2 23:39", "logout": "23:39", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Dec 2 23:07", "logout": "23:07", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Mon Dec 2 16:23", "logout": "16:23", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Mon Dec 2 16:22", "logout": "16:22", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Dec 2 15:50", "logout": "15:50", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Dec 2 13:50", "logout": "13:50", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Dec 2 12:47", "logout": "12:47", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Dec 2 12:06", "logout": "12:06", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys004", "hostname": null, "login": "Wed Nov 27 09:19", "logout": "09:19", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys005", "hostname": null, "login": "Mon Nov 25 08:08", "logout": "08:08", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys004", "hostname": null, "login": "Thu Nov 21 17:23", "logout": "17:23", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Thu Nov 21 10:28", "logout": "10:28", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Wed Nov 20 09:35", "logout": "09:35", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Mon Nov 11 12:49", "logout": "12:49", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Sun Nov 10 13:52", "logout": "13:52", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Sat Nov 9 10:34", "logout": "10:34", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Fri Nov 8 15:37", "logout": "15:37", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Fri Nov 8 14:01", "logout": "14:01", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Fri Nov 8 10:57", "logout": "10:57", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Fri Nov 8 06:29", "logout": "06:29", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Fri Nov 8 06:22", "logout": "06:22", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Nov 7 19:00", "logout": "19:00", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Wed Nov 6 15:19", "logout": "15:19", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys005", "hostname": null, "login": "Mon Nov 4 07:54", "logout": "07:54", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Fri Nov 1 15:13", "logout": "15:13", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Fri Nov 1 15:13", "logout": "15:13", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Fri Nov 1 11:55", "logout": "11:55", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Fri Nov 1 11:16", "logout": "11:16", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Fri Nov 1 06:31", "logout": "06:31", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Oct 31 14:13", "logout": "14:13", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Oct 31 11:57", "logout": "11:57", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Thu Oct 31 09:37", "logout": "00:08", "duration": "41+15:30"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Thu Oct 31 09:37"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Thu Oct 31 09:30"}, {"user": "root", "tty": "console", "hostname": null, "login": "Thu Oct 31 09:30", "logout": "shutdown", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys006", "hostname": null, "login": "Thu Oct 31 07:35", "logout": "07:35", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys004", "hostname": null, "login": "Wed Oct 30 13:25", "logout": "13:25", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Oct 29 18:16", "logout": "18:16", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys004", "hostname": null, "login": "Tue Oct 29 08:04", "logout": "08:04", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Mon Oct 28 21:58", "logout": "21:58", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Mon Oct 28 21:58", "logout": "21:58", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Oct 28 21:58", "logout": "21:58", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Mon Oct 28 21:58", "logout": "09:30", "duration": "2+11:31"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Mon Oct 28 21:57"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Mon Oct 28 21:57"}, {"user": "kbrazil", "tty": "ttys007", "hostname": null, "login": "Mon Oct 28 12:13", "logout": "12:13", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys006", "hostname": null, "login": "Thu Oct 24 15:57", "logout": "15:57", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys006", "hostname": null, "login": "Tue Oct 22 17:06", "logout": "17:06", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Mon Oct 21 12:08", "logout": "12:08", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Mon Oct 21 12:08", "logout": "12:08", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Oct 21 12:08", "logout": "12:08", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Mon Oct 21 12:04", "logout": "21:57", "duration": "7+09:52"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Mon Oct 21 12:03"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Mon Oct 21 12:00"}, {"user": "root", "tty": "console", "hostname": null, "login": "Mon Oct 21 11:59", "logout": "shutdown", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Oct 17 17:08", "logout": "17:08", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys004", "hostname": null, "login": "Tue Oct 15 11:36", "logout": "11:36", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Tue Oct 15 11:10", "logout": "11:10", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Fri Oct 4 15:07", "logout": "15:07", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Oct 3 11:45", "logout": "11:45", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Oct 3 07:33", "logout": "07:33", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Wed Oct 2 17:03", "logout": "17:03", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Wed Oct 2 15:39", "logout": "15:39", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Wed Oct 2 14:18", "logout": "14:18", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Wed Oct 2 12:47", "logout": "11:59", "duration": "18+23:12"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Wed Oct 2 12:47"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Wed Oct 2 12:46"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Wed Oct 2 12:15", "logout": "12:15", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Wed Oct 2 12:06", "logout": "12:06", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Wed Oct 2 11:54", "logout": "11:54", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Mon Sep 30 16:29", "logout": "16:29", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Fri Sep 27 15:55", "logout": "15:55", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Fri Sep 27 15:51", "logout": "15:51", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Fri Sep 27 15:18", "logout": "12:46", "duration": "4+21:28"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Fri Sep 27 15:17"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Fri Sep 27 15:15"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Fri Sep 27 06:44", "logout": "06:44", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Sep 26 15:22", "logout": "15:22", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Wed Sep 25 15:09", "logout": "15:09", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Wed Sep 25 08:16", "logout": "08:16", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Sep 24 16:42", "logout": "16:42", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Sep 24 14:20", "logout": "14:20", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Sep 24 10:03", "logout": "10:03", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Wed Sep 18 12:17", "logout": "12:17", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Wed Sep 18 12:14", "logout": "12:14", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Wed Sep 18 12:09", "logout": "12:09", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Wed Sep 18 12:09", "logout": "12:09", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys004", "hostname": null, "login": "Wed Sep 18 11:25", "logout": "11:25", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Wed Sep 18 11:13", "logout": "11:13", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Sep 17 16:31", "logout": "16:31", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Tue Sep 17 15:53", "logout": "15:53", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Sep 17 14:41", "logout": "14:41", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Sep 17 14:34", "logout": "14:34", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Tue Sep 17 13:54", "logout": "15:15", "duration": "10+01:20"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Tue Sep 17 13:54"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Tue Sep 17 13:53"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Sep 17 07:03", "logout": "07:03", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Mon Sep 16 08:50", "logout": "08:50", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Fri Sep 13 02:36", "logout": "02:36", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Fri Sep 13 02:10", "logout": "02:10", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Sep 12 05:15", "logout": "05:15", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Sep 10 04:42", "logout": "04:42", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Fri Sep 6 10:15", "logout": "10:15", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Fri Sep 6 09:20", "logout": "09:20", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Wed Sep 4 14:19", "logout": "14:19", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Wed Sep 4 13:54", "logout": "13:54", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Wed Sep 4 09:10", "logout": "09:10", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Sep 3 14:59", "logout": "14:59", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Sep 3 10:56", "logout": "10:56", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Sep 3 08:32", "logout": "08:32", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Thu Aug 29 17:21", "logout": "17:21", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Aug 29 17:13", "logout": "17:13", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Aug 29 14:48", "logout": "14:48", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Thu Aug 29 14:36", "logout": "14:36", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Thu Aug 29 14:35", "logout": "14:35", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Aug 29 14:28", "logout": "14:28", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Thu Aug 29 12:47", "logout": "12:47", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Thu Aug 29 09:47", "logout": "09:47", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Thu Aug 29 09:41", "logout": "09:41", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Aug 29 09:32", "logout": "09:32", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Aug 29 09:30", "logout": "09:30", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Wed Aug 28 14:29", "logout": "14:29", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Tue Aug 27 21:22", "logout": "13:53", "duration": "20+16:31"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Tue Aug 27 21:21"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Tue Aug 27 21:17"}, {"user": "root", "tty": "console", "hostname": null, "login": "Tue Aug 27 21:17", "logout": "shutdown", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Mon Aug 26 15:09", "logout": "15:09", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Mon Aug 26 07:54", "logout": "07:54", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Fri Aug 23 16:22", "logout": "16:22", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Fri Aug 23 15:21", "logout": "15:21", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Fri Aug 23 15:19", "logout": "15:19", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Fri Aug 23 06:46", "logout": "06:46", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Aug 22 17:48", "logout": "17:48", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Thu Aug 22 14:21", "logout": "14:21", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Thu Aug 22 14:21", "logout": "14:21", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Aug 22 14:21", "logout": "14:21", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Aug 22 14:21", "logout": "14:21", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Thu Aug 22 14:20", "logout": "21:17", "duration": "5+06:56"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Thu Aug 22 14:20"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Thu Aug 22 14:17"}, {"user": "kbrazil", "tty": "ttys004", "hostname": null, "login": "Wed Aug 21 15:24", "logout": "15:24", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Aug 20 19:52", "logout": "19:52", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Tue Aug 20 16:32", "logout": "16:32", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Mon Aug 19 17:51", "logout": "17:51", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Mon Aug 19 14:42", "logout": "14:42", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Aug 19 14:02", "logout": "14:02", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Sat Aug 17 10:02", "logout": "10:02", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Fri Aug 16 18:20", "logout": "18:20", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Fri Aug 16 06:46", "logout": "06:46", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Thu Aug 15 17:07", "logout": "17:07", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Aug 15 17:00", "logout": "17:00", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Thu Aug 15 16:01", "logout": "16:01", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Aug 15 15:55", "logout": "15:55", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys005", "hostname": null, "login": "Thu Aug 15 14:48", "logout": "14:48", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys005", "hostname": null, "login": "Thu Aug 15 14:45", "logout": "14:45", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Thu Aug 15 14:35", "logout": "14:35", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Aug 15 14:24", "logout": "14:24", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys005", "hostname": null, "login": "Thu Aug 15 10:57", "logout": "10:57", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Thu Aug 15 10:48", "logout": "10:48", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Thu Aug 15 10:43", "logout": "10:43", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Aug 15 10:39", "logout": "10:39", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Thu Aug 15 10:39", "logout": "14:17", "duration": "7+03:37"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Thu Aug 15 10:39"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Thu Aug 15 10:38"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Aug 15 08:56", "logout": "08:56", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys004", "hostname": null, "login": "Thu Aug 15 08:09", "logout": "08:09", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Thu Aug 15 08:08", "logout": "08:08", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Wed Aug 14 18:12", "logout": "18:12", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Wed Aug 14 15:08", "logout": "15:08", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys004", "hostname": null, "login": "Wed Aug 14 09:11", "logout": "09:11", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Wed Aug 14 09:03", "logout": "09:03", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Aug 13 14:47", "logout": "14:47", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Aug 13 11:14", "logout": "11:14", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Aug 13 11:14", "logout": "11:14", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Aug 13 10:54", "logout": "10:54", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Aug 13 10:43", "logout": "10:43", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Aug 13 10:29", "logout": "10:29", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Aug 13 09:27", "logout": "09:27", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Aug 13 05:40", "logout": "05:40", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Aug 12 14:11", "logout": "14:11", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Mon Aug 12 13:54", "logout": "13:54", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Mon Aug 12 13:54", "logout": "13:54", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Aug 12 13:54", "logout": "13:54", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Mon Aug 12 13:54", "logout": "10:38", "duration": "2+20:44"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Mon Aug 12 13:53"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Mon Aug 12 13:52"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Mon Aug 12 13:37", "logout": "13:37", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys004", "hostname": null, "login": "Thu Aug 8 09:15", "logout": "09:15", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Thu Aug 8 09:14", "logout": "09:14", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Thu Aug 8 09:03", "logout": "09:03", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Thu Aug 8 07:17", "logout": "07:17", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Aug 5 10:57", "logout": "10:57", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Aug 5 08:34", "logout": "08:34", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Mon Aug 5 08:29", "logout": "13:52", "duration": "7+05:23"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Mon Aug 5 08:28"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Mon Aug 5 08:25"}, {"user": "root", "tty": "console", "hostname": null, "login": "Mon Aug 5 08:24", "logout": "shutdown", "duration": "00:01"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Sat Aug 3 07:20", "logout": "07:20", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Sat Aug 3 06:54", "logout": "06:54", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys005", "hostname": null, "login": "Fri Aug 2 10:21", "logout": "10:21", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys004", "hostname": null, "login": "Fri Aug 2 10:21", "logout": "10:21", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Fri Aug 2 10:21", "logout": "10:21", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Fri Aug 2 10:21", "logout": "10:21", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Fri Aug 2 10:21", "logout": "10:21", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Fri Aug 2 07:00", "logout": "08:24", "duration": "3+01:23"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Fri Aug 2 07:00"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Fri Aug 2 06:59"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Fri Aug 2 06:06", "logout": "06:59", "duration": "00:53"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Fri Aug 2 06:06"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Fri Aug 2 06:05"}, {"user": "kbrazil", "tty": "ttys010", "hostname": null, "login": "Wed Jul 31 08:44", "logout": "08:44", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys010", "hostname": null, "login": "Tue Jul 30 14:48", "logout": "14:48", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys008", "hostname": null, "login": "Tue Jul 30 08:23", "logout": "08:23", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys006", "hostname": null, "login": "Tue Jul 30 07:24", "logout": "07:24", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys006", "hostname": null, "login": "Mon Jul 29 13:32", "logout": "13:32", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Mon Jul 29 12:50", "logout": "12:50", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Mon Jul 29 12:46", "logout": "12:46", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Sun Jul 28 14:12", "logout": "14:12", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Sun Jul 28 14:07", "logout": "06:04", "duration": "4+15:57"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Sun Jul 28 14:07"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Sun Jul 28 14:06"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Sun Jul 28 13:17", "logout": "13:17", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Sun Jul 28 13:17", "logout": "13:17", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Sun Jul 28 13:16", "logout": "13:16", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Sun Jul 28 13:16", "logout": "13:16", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Sun Jul 28 13:16", "logout": "13:16", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Sun Jul 28 13:16", "logout": "14:06", "duration": "00:50"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Sun Jul 28 13:16"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Sun Jul 28 13:15"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Sun Jul 28 13:12", "logout": "13:12", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Sun Jul 28 13:10", "logout": "13:10", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys005", "hostname": null, "login": "Sun Jul 28 12:38", "logout": "12:38", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys005", "hostname": null, "login": "Sun Jul 28 12:01", "logout": "12:01", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys005", "hostname": null, "login": "Sun Jul 28 08:17", "logout": "08:17", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys005", "hostname": null, "login": "Sat Jul 27 18:36", "logout": "18:36", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Sat Jul 27 18:25", "logout": "18:25", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Sat Jul 27 18:19", "logout": "18:19", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Fri Jul 26 10:58", "logout": "10:58", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Fri Jul 26 08:16", "logout": "08:16", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Thu Jul 25 18:38", "logout": "13:15", "duration": "2+18:36"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Thu Jul 25 18:38"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Thu Jul 25 18:37"}, {"user": "kbrazil", "tty": "ttys004", "hostname": null, "login": "Thu Jul 25 10:57", "logout": "10:57", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys004", "hostname": null, "login": "Thu Jul 25 08:33", "logout": "08:33", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Wed Jul 24 14:39", "logout": "14:39", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys005", "hostname": null, "login": "Wed Jul 24 12:13", "logout": "12:13", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys004", "hostname": null, "login": "Wed Jul 24 10:51", "logout": "10:51", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Wed Jul 24 10:17", "logout": "10:17", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Wed Jul 24 02:54", "logout": "02:54", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Tue Jul 23 20:16", "logout": "18:37", "duration": "1+22:21"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Tue Jul 23 20:15"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Tue Jul 23 20:09"}, {"user": "root", "tty": "console", "hostname": null, "login": "Tue Jul 23 20:07", "logout": "shutdown", "duration": "00:01"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Jul 23 07:03", "logout": "07:03", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys007", "hostname": null, "login": "Tue Jul 16 14:57", "logout": "14:57", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys007", "hostname": null, "login": "Mon Jul 15 14:45", "logout": "14:45", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys005", "hostname": null, "login": "Mon Jul 15 14:38", "logout": "14:38", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys004", "hostname": null, "login": "Mon Jul 15 12:12", "logout": "12:12", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Fri Jul 12 15:42", "logout": "15:42", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Fri Jul 12 14:40", "logout": "14:40", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Fri Jul 12 08:45", "logout": "08:45", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Jul 11 14:42", "logout": "14:42", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Jul 11 12:03", "logout": "12:03", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Jul 11 11:41", "logout": "11:41", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Thu Jul 11 11:41", "logout": "20:07", "duration": "12+08:25"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Thu Jul 11 11:41"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Thu Jul 11 11:41"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Jul 11 11:38", "logout": "11:38", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Thu Jul 11 10:32", "logout": "10:32", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Jul 11 08:24", "logout": "08:24", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Jul 11 08:17", "logout": "08:17", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Jul 11 08:09", "logout": "08:09", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Jul 11 08:07", "logout": "08:07", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Jul 11 08:03", "logout": "08:03", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Jul 11 07:57", "logout": "07:57", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Jul 11 07:52", "logout": "07:52", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Wed Jul 10 17:35", "logout": "17:35", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Wed Jul 10 16:58", "logout": "16:58", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Wed Jul 10 16:39", "logout": "16:39", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Wed Jul 10 07:51", "logout": "07:51", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Jul 9 22:30", "logout": "22:30", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Jul 9 22:14", "logout": "22:14", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Jul 9 22:14", "logout": "22:14", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Jul 9 22:14", "logout": "22:14", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Jul 9 22:12", "logout": "22:12", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Tue Jul 9 22:11", "logout": "22:11", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Tue Jul 9 22:11", "logout": "22:11", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Jul 9 22:11", "logout": "22:11", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Jul 9 22:11", "logout": "22:11", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Jul 9 22:10", "logout": "22:10", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Jul 9 22:04", "logout": "22:04", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Tue Jul 9 08:29", "logout": "11:41", "duration": "2+03:11"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Tue Jul 9 08:29"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Tue Jul 9 08:27"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Mon Jul 8 18:07", "logout": "08:27", "duration": "14:20"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Mon Jul 8 18:07"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Mon Jul 8 18:06"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Mon Jul 8 17:47", "logout": "18:06", "duration": "00:18"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Mon Jul 8 17:47"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Mon Jul 8 17:47"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Tue Jul 2 11:49", "logout": "17:47", "duration": "6+05:58"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Tue Jul 2 11:48"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Tue Jul 2 11:44"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Tue Jul 2 10:44", "logout": "11:44", "duration": "00:59"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Tue Jul 2 10:43"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Tue Jul 2 10:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Tue Jul 2 09:52", "logout": "10:00", "duration": "00:08"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Tue Jul 2 09:50"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Tue Jul 2 09:37"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Tue Jul 2 08:56", "logout": "09:37", "duration": "00:40"}, {"user": "_mbsetupuser", "tty": "console", "hostname": null, "login": "Tue Jul 2 08:52", "logout": "08:57", "duration": "00:05"}, {"user": "root", "tty": "console", "hostname": null, "login": "Tue Jul 2 08:52", "logout": "08:52", "duration": "00:00"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Tue Jul 2 08:51"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Fri Jun 21 15:54"}] +[{"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Fri Feb 28 14:45", "logout": "still logged in"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Fri Feb 28 08:59", "logout": "still logged in"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Thu Feb 27 14:31", "logout": "14:31", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Thu Feb 27 10:38", "logout": "10:38", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Thu Feb 27 10:18", "logout": "10:18", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Fri Feb 21 08:47", "logout": "08:47", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Thu Feb 20 14:53", "logout": "14:53", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Feb 13 16:44", "logout": "16:44", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Feb 11 21:25", "logout": "still logged in"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Feb 10 15:54", "logout": "15:54", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Feb 10 08:52", "logout": "08:52", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Fri Feb 7 23:32", "logout": "23:32", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Fri Feb 7 23:32", "logout": "23:32", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Fri Feb 7 23:32", "logout": "still logged in"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Fri Feb 7 23:31"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Fri Feb 7 23:26"}, {"user": "root", "tty": "console", "hostname": null, "login": "Fri Feb 7 23:25", "logout": "shutdown", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Fri Feb 7 11:19", "logout": "11:19", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Fri Feb 7 11:19", "logout": "11:19", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Fri Feb 7 07:51", "logout": "23:25", "duration": "15:34"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Fri Feb 7 07:51"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Fri Feb 7 07:50"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Wed Feb 5 11:42", "logout": "11:42", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Feb 4 14:23", "logout": "14:23", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Feb 3 15:22", "logout": "15:22", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Feb 3 08:58", "logout": "08:58", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Wed Jan 29 11:10", "logout": "11:10", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Jan 28 09:00", "logout": "09:00", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Jan 27 17:15", "logout": "17:15", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Sun Jan 26 19:13", "logout": "19:13", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Fri Jan 24 14:03", "logout": "14:03", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Wed Jan 22 09:17", "logout": "09:17", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Jan 21 11:56", "logout": "11:56", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Fri Jan 17 12:49", "logout": "12:49", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Fri Jan 17 11:32", "logout": "11:32", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Jan 16 14:51", "logout": "14:51", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Wed Jan 15 17:45", "logout": "17:45", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Jan 14 13:30", "logout": "13:30", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Jan 14 13:17", "logout": "13:17", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys004", "hostname": null, "login": "Tue Jan 14 11:55", "logout": "11:55", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Mon Jan 13 17:27", "logout": "17:27", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Jan 13 16:11", "logout": "16:11", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Jan 13 13:51", "logout": "13:51", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Fri Jan 10 13:21", "logout": "13:21", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Jan 9 12:38", "logout": "12:38", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Wed Jan 8 06:08", "logout": "06:08", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Jan 7 14:22", "logout": "14:22", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Jan 7 08:57", "logout": "08:57", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Fri Jan 3 13:24", "logout": "13:24", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Jan 2 14:05", "logout": "14:05", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Jan 2 10:07", "logout": "10:07", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys004", "hostname": null, "login": "Mon Dec 16 14:17", "logout": "14:17", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Mon Dec 16 11:14", "logout": "11:14", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Dec 12 12:10", "logout": "12:10", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Thu Dec 12 12:10", "logout": "07:50", "duration": "1363:39"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Thu Dec 12 12:09"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Thu Dec 12 12:09"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Dec 12 00:15", "logout": "00:15", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Thu Dec 12 00:15", "logout": "12:09", "duration": "11:54"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Thu Dec 12 00:14"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Thu Dec 12 00:08"}, {"user": "root", "tty": "console", "hostname": null, "login": "Thu Dec 12 00:08", "logout": "shutdown", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Wed Dec 11 16:17", "logout": "16:17", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Wed Dec 11 16:16", "logout": "16:16", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Fri Dec 6 10:41", "logout": "10:41", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Fri Dec 6 07:32", "logout": "07:32", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Mon Dec 2 23:44", "logout": "23:44", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Mon Dec 2 23:39", "logout": "23:39", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Dec 2 23:07", "logout": "23:07", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Mon Dec 2 16:23", "logout": "16:23", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Mon Dec 2 16:22", "logout": "16:22", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Dec 2 15:50", "logout": "15:50", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Dec 2 13:50", "logout": "13:50", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Dec 2 12:47", "logout": "12:47", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Dec 2 12:06", "logout": "12:06", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys004", "hostname": null, "login": "Wed Nov 27 09:19", "logout": "09:19", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys005", "hostname": null, "login": "Mon Nov 25 08:08", "logout": "08:08", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys004", "hostname": null, "login": "Thu Nov 21 17:23", "logout": "17:23", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Thu Nov 21 10:28", "logout": "10:28", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Wed Nov 20 09:35", "logout": "09:35", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Mon Nov 11 12:49", "logout": "12:49", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Sun Nov 10 13:52", "logout": "13:52", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Sat Nov 9 10:34", "logout": "10:34", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Fri Nov 8 15:37", "logout": "15:37", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Fri Nov 8 14:01", "logout": "14:01", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Fri Nov 8 10:57", "logout": "10:57", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Fri Nov 8 06:29", "logout": "06:29", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Fri Nov 8 06:22", "logout": "06:22", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Nov 7 19:00", "logout": "19:00", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Wed Nov 6 15:19", "logout": "15:19", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys005", "hostname": null, "login": "Mon Nov 4 07:54", "logout": "07:54", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Fri Nov 1 15:13", "logout": "15:13", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Fri Nov 1 15:13", "logout": "15:13", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Fri Nov 1 11:55", "logout": "11:55", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Fri Nov 1 11:16", "logout": "11:16", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Fri Nov 1 06:31", "logout": "06:31", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Oct 31 14:13", "logout": "14:13", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Oct 31 11:57", "logout": "11:57", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Thu Oct 31 09:37", "logout": "00:08", "duration": "999:30"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Thu Oct 31 09:37"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Thu Oct 31 09:30"}, {"user": "root", "tty": "console", "hostname": null, "login": "Thu Oct 31 09:30", "logout": "shutdown", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys006", "hostname": null, "login": "Thu Oct 31 07:35", "logout": "07:35", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys004", "hostname": null, "login": "Wed Oct 30 13:25", "logout": "13:25", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Oct 29 18:16", "logout": "18:16", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys004", "hostname": null, "login": "Tue Oct 29 08:04", "logout": "08:04", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Mon Oct 28 21:58", "logout": "21:58", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Mon Oct 28 21:58", "logout": "21:58", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Oct 28 21:58", "logout": "21:58", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Mon Oct 28 21:58", "logout": "09:30", "duration": "59:31"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Mon Oct 28 21:57"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Mon Oct 28 21:57"}, {"user": "kbrazil", "tty": "ttys007", "hostname": null, "login": "Mon Oct 28 12:13", "logout": "12:13", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys006", "hostname": null, "login": "Thu Oct 24 15:57", "logout": "15:57", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys006", "hostname": null, "login": "Tue Oct 22 17:06", "logout": "17:06", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Mon Oct 21 12:08", "logout": "12:08", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Mon Oct 21 12:08", "logout": "12:08", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Oct 21 12:08", "logout": "12:08", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Mon Oct 21 12:04", "logout": "21:57", "duration": "177:52"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Mon Oct 21 12:03"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Mon Oct 21 12:00"}, {"user": "root", "tty": "console", "hostname": null, "login": "Mon Oct 21 11:59", "logout": "shutdown", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Oct 17 17:08", "logout": "17:08", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys004", "hostname": null, "login": "Tue Oct 15 11:36", "logout": "11:36", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Tue Oct 15 11:10", "logout": "11:10", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Fri Oct 4 15:07", "logout": "15:07", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Oct 3 11:45", "logout": "11:45", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Oct 3 07:33", "logout": "07:33", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Wed Oct 2 17:03", "logout": "17:03", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Wed Oct 2 15:39", "logout": "15:39", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Wed Oct 2 14:18", "logout": "14:18", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Wed Oct 2 12:47", "logout": "11:59", "duration": "455:12"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Wed Oct 2 12:47"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Wed Oct 2 12:46"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Wed Oct 2 12:15", "logout": "12:15", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Wed Oct 2 12:06", "logout": "12:06", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Wed Oct 2 11:54", "logout": "11:54", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Mon Sep 30 16:29", "logout": "16:29", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Fri Sep 27 15:55", "logout": "15:55", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Fri Sep 27 15:51", "logout": "15:51", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Fri Sep 27 15:18", "logout": "12:46", "duration": "117:28"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Fri Sep 27 15:17"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Fri Sep 27 15:15"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Fri Sep 27 06:44", "logout": "06:44", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Sep 26 15:22", "logout": "15:22", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Wed Sep 25 15:09", "logout": "15:09", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Wed Sep 25 08:16", "logout": "08:16", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Sep 24 16:42", "logout": "16:42", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Sep 24 14:20", "logout": "14:20", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Sep 24 10:03", "logout": "10:03", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Wed Sep 18 12:17", "logout": "12:17", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Wed Sep 18 12:14", "logout": "12:14", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Wed Sep 18 12:09", "logout": "12:09", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Wed Sep 18 12:09", "logout": "12:09", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys004", "hostname": null, "login": "Wed Sep 18 11:25", "logout": "11:25", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Wed Sep 18 11:13", "logout": "11:13", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Sep 17 16:31", "logout": "16:31", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Tue Sep 17 15:53", "logout": "15:53", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Sep 17 14:41", "logout": "14:41", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Sep 17 14:34", "logout": "14:34", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Tue Sep 17 13:54", "logout": "15:15", "duration": "241:20"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Tue Sep 17 13:54"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Tue Sep 17 13:53"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Sep 17 07:03", "logout": "07:03", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Mon Sep 16 08:50", "logout": "08:50", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Fri Sep 13 02:36", "logout": "02:36", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Fri Sep 13 02:10", "logout": "02:10", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Sep 12 05:15", "logout": "05:15", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Sep 10 04:42", "logout": "04:42", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Fri Sep 6 10:15", "logout": "10:15", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Fri Sep 6 09:20", "logout": "09:20", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Wed Sep 4 14:19", "logout": "14:19", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Wed Sep 4 13:54", "logout": "13:54", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Wed Sep 4 09:10", "logout": "09:10", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Sep 3 14:59", "logout": "14:59", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Sep 3 10:56", "logout": "10:56", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Sep 3 08:32", "logout": "08:32", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Thu Aug 29 17:21", "logout": "17:21", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Aug 29 17:13", "logout": "17:13", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Aug 29 14:48", "logout": "14:48", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Thu Aug 29 14:36", "logout": "14:36", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Thu Aug 29 14:35", "logout": "14:35", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Aug 29 14:28", "logout": "14:28", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Thu Aug 29 12:47", "logout": "12:47", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Thu Aug 29 09:47", "logout": "09:47", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Thu Aug 29 09:41", "logout": "09:41", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Aug 29 09:32", "logout": "09:32", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Aug 29 09:30", "logout": "09:30", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Wed Aug 28 14:29", "logout": "14:29", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Tue Aug 27 21:22", "logout": "13:53", "duration": "496:31"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Tue Aug 27 21:21"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Tue Aug 27 21:17"}, {"user": "root", "tty": "console", "hostname": null, "login": "Tue Aug 27 21:17", "logout": "shutdown", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Mon Aug 26 15:09", "logout": "15:09", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Mon Aug 26 07:54", "logout": "07:54", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Fri Aug 23 16:22", "logout": "16:22", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Fri Aug 23 15:21", "logout": "15:21", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Fri Aug 23 15:19", "logout": "15:19", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Fri Aug 23 06:46", "logout": "06:46", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Aug 22 17:48", "logout": "17:48", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Thu Aug 22 14:21", "logout": "14:21", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Thu Aug 22 14:21", "logout": "14:21", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Aug 22 14:21", "logout": "14:21", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Aug 22 14:21", "logout": "14:21", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Thu Aug 22 14:20", "logout": "21:17", "duration": "126:56"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Thu Aug 22 14:20"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Thu Aug 22 14:17"}, {"user": "kbrazil", "tty": "ttys004", "hostname": null, "login": "Wed Aug 21 15:24", "logout": "15:24", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Aug 20 19:52", "logout": "19:52", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Tue Aug 20 16:32", "logout": "16:32", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Mon Aug 19 17:51", "logout": "17:51", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Mon Aug 19 14:42", "logout": "14:42", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Aug 19 14:02", "logout": "14:02", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Sat Aug 17 10:02", "logout": "10:02", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Fri Aug 16 18:20", "logout": "18:20", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Fri Aug 16 06:46", "logout": "06:46", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Thu Aug 15 17:07", "logout": "17:07", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Aug 15 17:00", "logout": "17:00", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Thu Aug 15 16:01", "logout": "16:01", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Aug 15 15:55", "logout": "15:55", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys005", "hostname": null, "login": "Thu Aug 15 14:48", "logout": "14:48", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys005", "hostname": null, "login": "Thu Aug 15 14:45", "logout": "14:45", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Thu Aug 15 14:35", "logout": "14:35", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Aug 15 14:24", "logout": "14:24", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys005", "hostname": null, "login": "Thu Aug 15 10:57", "logout": "10:57", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Thu Aug 15 10:48", "logout": "10:48", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Thu Aug 15 10:43", "logout": "10:43", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Aug 15 10:39", "logout": "10:39", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Thu Aug 15 10:39", "logout": "14:17", "duration": "171:37"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Thu Aug 15 10:39"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Thu Aug 15 10:38"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Aug 15 08:56", "logout": "08:56", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys004", "hostname": null, "login": "Thu Aug 15 08:09", "logout": "08:09", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Thu Aug 15 08:08", "logout": "08:08", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Wed Aug 14 18:12", "logout": "18:12", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Wed Aug 14 15:08", "logout": "15:08", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys004", "hostname": null, "login": "Wed Aug 14 09:11", "logout": "09:11", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Wed Aug 14 09:03", "logout": "09:03", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Aug 13 14:47", "logout": "14:47", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Aug 13 11:14", "logout": "11:14", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Aug 13 11:14", "logout": "11:14", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Aug 13 10:54", "logout": "10:54", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Aug 13 10:43", "logout": "10:43", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Aug 13 10:29", "logout": "10:29", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Aug 13 09:27", "logout": "09:27", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Aug 13 05:40", "logout": "05:40", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Aug 12 14:11", "logout": "14:11", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Mon Aug 12 13:54", "logout": "13:54", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Mon Aug 12 13:54", "logout": "13:54", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Aug 12 13:54", "logout": "13:54", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Mon Aug 12 13:54", "logout": "10:38", "duration": "68:44"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Mon Aug 12 13:53"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Mon Aug 12 13:52"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Mon Aug 12 13:37", "logout": "13:37", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys004", "hostname": null, "login": "Thu Aug 8 09:15", "logout": "09:15", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Thu Aug 8 09:14", "logout": "09:14", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Thu Aug 8 09:03", "logout": "09:03", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Thu Aug 8 07:17", "logout": "07:17", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Aug 5 10:57", "logout": "10:57", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Mon Aug 5 08:34", "logout": "08:34", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Mon Aug 5 08:29", "logout": "13:52", "duration": "173:23"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Mon Aug 5 08:28"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Mon Aug 5 08:25"}, {"user": "root", "tty": "console", "hostname": null, "login": "Mon Aug 5 08:24", "logout": "shutdown", "duration": "00:01"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Sat Aug 3 07:20", "logout": "07:20", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Sat Aug 3 06:54", "logout": "06:54", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys005", "hostname": null, "login": "Fri Aug 2 10:21", "logout": "10:21", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys004", "hostname": null, "login": "Fri Aug 2 10:21", "logout": "10:21", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Fri Aug 2 10:21", "logout": "10:21", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Fri Aug 2 10:21", "logout": "10:21", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Fri Aug 2 10:21", "logout": "10:21", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Fri Aug 2 07:00", "logout": "08:24", "duration": "73:23"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Fri Aug 2 07:00"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Fri Aug 2 06:59"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Fri Aug 2 06:06", "logout": "06:59", "duration": "00:53"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Fri Aug 2 06:06"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Fri Aug 2 06:05"}, {"user": "kbrazil", "tty": "ttys010", "hostname": null, "login": "Wed Jul 31 08:44", "logout": "08:44", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys010", "hostname": null, "login": "Tue Jul 30 14:48", "logout": "14:48", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys008", "hostname": null, "login": "Tue Jul 30 08:23", "logout": "08:23", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys006", "hostname": null, "login": "Tue Jul 30 07:24", "logout": "07:24", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys006", "hostname": null, "login": "Mon Jul 29 13:32", "logout": "13:32", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Mon Jul 29 12:50", "logout": "12:50", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Mon Jul 29 12:46", "logout": "12:46", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Sun Jul 28 14:12", "logout": "14:12", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Sun Jul 28 14:07", "logout": "06:04", "duration": "111:57"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Sun Jul 28 14:07"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Sun Jul 28 14:06"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Sun Jul 28 13:17", "logout": "13:17", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Sun Jul 28 13:17", "logout": "13:17", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Sun Jul 28 13:16", "logout": "13:16", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Sun Jul 28 13:16", "logout": "13:16", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Sun Jul 28 13:16", "logout": "13:16", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Sun Jul 28 13:16", "logout": "14:06", "duration": "00:50"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Sun Jul 28 13:16"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Sun Jul 28 13:15"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Sun Jul 28 13:12", "logout": "13:12", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Sun Jul 28 13:10", "logout": "13:10", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys005", "hostname": null, "login": "Sun Jul 28 12:38", "logout": "12:38", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys005", "hostname": null, "login": "Sun Jul 28 12:01", "logout": "12:01", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys005", "hostname": null, "login": "Sun Jul 28 08:17", "logout": "08:17", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys005", "hostname": null, "login": "Sat Jul 27 18:36", "logout": "18:36", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Sat Jul 27 18:25", "logout": "18:25", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Sat Jul 27 18:19", "logout": "18:19", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Fri Jul 26 10:58", "logout": "10:58", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Fri Jul 26 08:16", "logout": "08:16", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Thu Jul 25 18:38", "logout": "13:15", "duration": "66:36"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Thu Jul 25 18:38"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Thu Jul 25 18:37"}, {"user": "kbrazil", "tty": "ttys004", "hostname": null, "login": "Thu Jul 25 10:57", "logout": "10:57", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys004", "hostname": null, "login": "Thu Jul 25 08:33", "logout": "08:33", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Wed Jul 24 14:39", "logout": "14:39", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys005", "hostname": null, "login": "Wed Jul 24 12:13", "logout": "12:13", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys004", "hostname": null, "login": "Wed Jul 24 10:51", "logout": "10:51", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Wed Jul 24 10:17", "logout": "10:17", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Wed Jul 24 02:54", "logout": "02:54", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Tue Jul 23 20:16", "logout": "18:37", "duration": "46:21"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Tue Jul 23 20:15"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Tue Jul 23 20:09"}, {"user": "root", "tty": "console", "hostname": null, "login": "Tue Jul 23 20:07", "logout": "shutdown", "duration": "00:01"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Jul 23 07:03", "logout": "07:03", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys007", "hostname": null, "login": "Tue Jul 16 14:57", "logout": "14:57", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys007", "hostname": null, "login": "Mon Jul 15 14:45", "logout": "14:45", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys005", "hostname": null, "login": "Mon Jul 15 14:38", "logout": "14:38", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys004", "hostname": null, "login": "Mon Jul 15 12:12", "logout": "12:12", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Fri Jul 12 15:42", "logout": "15:42", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Fri Jul 12 14:40", "logout": "14:40", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Fri Jul 12 08:45", "logout": "08:45", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Jul 11 14:42", "logout": "14:42", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Jul 11 12:03", "logout": "12:03", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Thu Jul 11 11:41", "logout": "11:41", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Thu Jul 11 11:41", "logout": "20:07", "duration": "296:25"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Thu Jul 11 11:41"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Thu Jul 11 11:41"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Jul 11 11:38", "logout": "11:38", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Thu Jul 11 10:32", "logout": "10:32", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Jul 11 08:24", "logout": "08:24", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Jul 11 08:17", "logout": "08:17", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Jul 11 08:09", "logout": "08:09", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Jul 11 08:07", "logout": "08:07", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Jul 11 08:03", "logout": "08:03", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Jul 11 07:57", "logout": "07:57", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Thu Jul 11 07:52", "logout": "07:52", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Wed Jul 10 17:35", "logout": "17:35", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Wed Jul 10 16:58", "logout": "16:58", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Wed Jul 10 16:39", "logout": "16:39", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Wed Jul 10 07:51", "logout": "07:51", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Jul 9 22:30", "logout": "22:30", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Jul 9 22:14", "logout": "22:14", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Jul 9 22:14", "logout": "22:14", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Jul 9 22:14", "logout": "22:14", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Jul 9 22:12", "logout": "22:12", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys003", "hostname": null, "login": "Tue Jul 9 22:11", "logout": "22:11", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys002", "hostname": null, "login": "Tue Jul 9 22:11", "logout": "22:11", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Jul 9 22:11", "logout": "22:11", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Jul 9 22:11", "logout": "22:11", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys001", "hostname": null, "login": "Tue Jul 9 22:10", "logout": "22:10", "duration": "00:00"}, {"user": "kbrazil", "tty": "ttys000", "hostname": null, "login": "Tue Jul 9 22:04", "logout": "22:04", "duration": "00:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Tue Jul 9 08:29", "logout": "11:41", "duration": "51:11"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Tue Jul 9 08:29"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Tue Jul 9 08:27"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Mon Jul 8 18:07", "logout": "08:27", "duration": "14:20"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Mon Jul 8 18:07"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Mon Jul 8 18:06"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Mon Jul 8 17:47", "logout": "18:06", "duration": "00:18"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Mon Jul 8 17:47"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Mon Jul 8 17:47"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Tue Jul 2 11:49", "logout": "17:47", "duration": "149:58"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Tue Jul 2 11:48"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Tue Jul 2 11:44"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Tue Jul 2 10:44", "logout": "11:44", "duration": "00:59"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Tue Jul 2 10:43"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Tue Jul 2 10:00"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Tue Jul 2 09:52", "logout": "10:00", "duration": "00:08"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Tue Jul 2 09:50"}, {"user": "shutdown", "tty": null, "hostname": null, "login": "Tue Jul 2 09:37"}, {"user": "kbrazil", "tty": "console", "hostname": null, "login": "Tue Jul 2 08:56", "logout": "09:37", "duration": "00:40"}, {"user": "_mbsetupuser", "tty": "console", "hostname": null, "login": "Tue Jul 2 08:52", "logout": "08:57", "duration": "00:05"}, {"user": "root", "tty": "console", "hostname": null, "login": "Tue Jul 2 08:52", "logout": "08:52", "duration": "00:00"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Tue Jul 2 08:51"}, {"user": "reboot", "tty": null, "hostname": null, "login": "Fri Jun 21 15:54"}] diff --git a/tests/fixtures/ubuntu-18.04/last-w.json b/tests/fixtures/ubuntu-18.04/last-w.json index f75d8b8ed..c7e4a1ee1 100644 --- a/tests/fixtures/ubuntu-18.04/last-w.json +++ b/tests/fixtures/ubuntu-18.04/last-w.json @@ -1 +1 @@ -[{"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Feb 28 23:03", "logout": "still logged in"}, {"user": "reboot", "tty": "system boot", "hostname": "4.15.0-88-generic", "login": "Fri Feb 28 23:03", "logout": "running"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Feb 28 14:56", "logout": "down", "duration": "06:51"}, {"user": "reboot", "tty": "system boot", "hostname": "4.15.0-88-generic", "login": "Fri Feb 28 14:55", "logout": "21:47", "duration": "06:52"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 27 23:50", "logout": "down", "duration": "00:10"}, {"user": "reboot", "tty": "system boot", "hostname": "4.15.0-88-generic", "login": "Thu Feb 27 23:49", "logout": "00:00", "duration": "00:11"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 27 18:07", "logout": "down", "duration": "00:04"}, {"user": "reboot", "tty": "system boot", "hostname": "4.15.0-76-generic", "login": "Thu Feb 27 18:07", "logout": "18:12", "duration": "00:04"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Feb 18 02:50", "logout": "down", "duration": "1+13:58"}, {"user": "reboot", "tty": "system boot", "hostname": "4.15.0-76-generic", "login": "Tue Feb 18 02:50", "logout": "16:48", "duration": "1+13:58"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Feb 14 02:06", "logout": "01:48", "duration": "3+23:41"}, {"user": "reboot", "tty": "system boot", "hostname": "4.15.0-76-generic", "login": "Fri Feb 14 02:06", "logout": "01:48", "duration": "3+23:41"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 6 01:05", "logout": "down", "duration": "1+14:43"}, {"user": "reboot", "tty": "system boot", "hostname": "4.15.0-76-generic", "login": "Thu Feb 6 01:04", "logout": "15:48", "duration": "1+14:43"}] +[{"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Feb 28 23:03", "logout": "still logged in"}, {"user": "reboot", "tty": "system boot", "hostname": "4.15.0-88-generic", "login": "Fri Feb 28 23:03", "logout": "running"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Feb 28 14:56", "logout": "down", "duration": "06:51"}, {"user": "reboot", "tty": "system boot", "hostname": "4.15.0-88-generic", "login": "Fri Feb 28 14:55", "logout": "21:47", "duration": "06:52"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 27 23:50", "logout": "down", "duration": "00:10"}, {"user": "reboot", "tty": "system boot", "hostname": "4.15.0-88-generic", "login": "Thu Feb 27 23:49", "logout": "00:00", "duration": "00:11"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 27 18:07", "logout": "down", "duration": "00:04"}, {"user": "reboot", "tty": "system boot", "hostname": "4.15.0-76-generic", "login": "Thu Feb 27 18:07", "logout": "18:12", "duration": "00:04"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Feb 18 02:50", "logout": "down", "duration": "37:58"}, {"user": "reboot", "tty": "system boot", "hostname": "4.15.0-76-generic", "login": "Tue Feb 18 02:50", "logout": "16:48", "duration": "37:58"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Feb 14 02:06", "logout": "01:48", "duration": "95:41"}, {"user": "reboot", "tty": "system boot", "hostname": "4.15.0-76-generic", "login": "Fri Feb 14 02:06", "logout": "01:48", "duration": "95:41"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 6 01:05", "logout": "down", "duration": "38:43"}, {"user": "reboot", "tty": "system boot", "hostname": "4.15.0-76-generic", "login": "Thu Feb 6 01:04", "logout": "15:48", "duration": "38:43"}] diff --git a/tests/fixtures/ubuntu-18.04/last.json b/tests/fixtures/ubuntu-18.04/last.json index 4a6a5072b..2688b1c8e 100644 --- a/tests/fixtures/ubuntu-18.04/last.json +++ b/tests/fixtures/ubuntu-18.04/last.json @@ -1 +1 @@ -[{"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Feb 28 23:03", "logout": "still logged in"}, {"user": "reboot", "tty": "system boot", "hostname": "4.15.0-88-generi", "login": "Fri Feb 28 23:03", "logout": "running"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Feb 28 14:56", "logout": "down", "duration": "06:51"}, {"user": "reboot", "tty": "system boot", "hostname": "4.15.0-88-generi", "login": "Fri Feb 28 14:55", "logout": "21:47", "duration": "06:52"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 27 23:50", "logout": "down", "duration": "00:10"}, {"user": "reboot", "tty": "system boot", "hostname": "4.15.0-88-generi", "login": "Thu Feb 27 23:49", "logout": "00:00", "duration": "00:11"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 27 18:07", "logout": "down", "duration": "00:04"}, {"user": "reboot", "tty": "system boot", "hostname": "4.15.0-76-generi", "login": "Thu Feb 27 18:07", "logout": "18:12", "duration": "00:04"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Feb 18 02:50", "logout": "down", "duration": "1+13:58"}, {"user": "reboot", "tty": "system boot", "hostname": "4.15.0-76-generi", "login": "Tue Feb 18 02:50", "logout": "16:48", "duration": "1+13:58"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Feb 14 02:06", "logout": "01:48", "duration": "3+23:41"}, {"user": "reboot", "tty": "system boot", "hostname": "4.15.0-76-generi", "login": "Fri Feb 14 02:06", "logout": "01:48", "duration": "3+23:41"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 6 01:05", "logout": "down", "duration": "1+14:43"}, {"user": "reboot", "tty": "system boot", "hostname": "4.15.0-76-generi", "login": "Thu Feb 6 01:04", "logout": "15:48", "duration": "1+14:43"}] +[{"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Feb 28 23:03", "logout": "still logged in"}, {"user": "reboot", "tty": "system boot", "hostname": "4.15.0-88-generi", "login": "Fri Feb 28 23:03", "logout": "running"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Feb 28 14:56", "logout": "down", "duration": "06:51"}, {"user": "reboot", "tty": "system boot", "hostname": "4.15.0-88-generi", "login": "Fri Feb 28 14:55", "logout": "21:47", "duration": "06:52"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 27 23:50", "logout": "down", "duration": "00:10"}, {"user": "reboot", "tty": "system boot", "hostname": "4.15.0-88-generi", "login": "Thu Feb 27 23:49", "logout": "00:00", "duration": "00:11"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 27 18:07", "logout": "down", "duration": "00:04"}, {"user": "reboot", "tty": "system boot", "hostname": "4.15.0-76-generi", "login": "Thu Feb 27 18:07", "logout": "18:12", "duration": "00:04"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Tue Feb 18 02:50", "logout": "down", "duration": "37:58"}, {"user": "reboot", "tty": "system boot", "hostname": "4.15.0-76-generi", "login": "Tue Feb 18 02:50", "logout": "16:48", "duration": "37:58"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Fri Feb 14 02:06", "logout": "01:48", "duration": "95:41"}, {"user": "reboot", "tty": "system boot", "hostname": "4.15.0-76-generi", "login": "Fri Feb 14 02:06", "logout": "01:48", "duration": "95:41"}, {"user": "kbrazil", "tty": "ttyS0", "hostname": null, "login": "Thu Feb 6 01:05", "logout": "down", "duration": "38:43"}, {"user": "reboot", "tty": "system boot", "hostname": "4.15.0-76-generi", "login": "Thu Feb 6 01:04", "logout": "15:48", "duration": "38:43"}] diff --git a/tests/fixtures/ubuntu-20.04/last-F.json b/tests/fixtures/ubuntu-20.04/last-F.json index 6d9c294b5..c7034d7c8 100644 --- a/tests/fixtures/ubuntu-20.04/last-F.json +++ b/tests/fixtures/ubuntu-20.04/last-F.json @@ -1 +1 @@ -[{"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Tue Jan 5 20:03:51 2021", "logout": "still logged in"}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Tue Jan 5 00:17:29 2021", "logout": "Tue Jan 5 20:03:47 2021", "duration": "19:46"}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jan 5 00:08:46 2021", "logout": "gone - no logout"}, {"user": "root", "tty": "pts/0", "hostname": "developer-pc.exa", "login": "Mon Mar 23 16:44:55 2020", "logout": "down", "duration": "00:00"}, {"user": "reboot", "tty": "system boot", "hostname": "5.8.0-34-generic", "login": "Tue Jan 5 00:08:28 2021", "logout": "running"}] +[{"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Tue Jan 5 20:03:51 2021", "logout": "still logged in", "login_epoch": 1609905831}, {"user": "kbrazil", "tty": "pts/0", "hostname": "192.168.71.1", "login": "Tue Jan 5 00:17:29 2021", "logout": "Tue Jan 5 20:03:47 2021", "duration": "19:46", "login_epoch": 1609834649, "logout_epoch": 1609905827, "duration_seconds": 71178}, {"user": "kbrazil", "tty": "tty1", "hostname": null, "login": "Tue Jan 5 00:08:46 2021", "logout": "gone - no logout", "login_epoch": 1609834126}, {"user": "root", "tty": "pts/0", "hostname": "developer-pc.exa", "login": "Mon Mar 23 16:44:55 2020", "logout": "down", "duration": "00:00", "login_epoch": 1585007095}, {"user": "reboot", "tty": "system boot", "hostname": "5.8.0-34-generic", "login": "Tue Jan 5 00:08:28 2021", "logout": "running", "login_epoch": 1609834108}] From 2fde4a4e2299b98a9958e3a55849c6791e4b17dc Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Wed, 6 Jan 2021 12:07:58 -0800 Subject: [PATCH 23/25] doc updates --- EXAMPLES.md | 2 +- docs/parsers/iw_scan.md | 2 +- jc/parsers/iw_scan.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/EXAMPLES.md b/EXAMPLES.md index c59104004..4adf945a8 100644 --- a/EXAMPLES.md +++ b/EXAMPLES.md @@ -1203,7 +1203,7 @@ iw dev wlan0 scan | jc --iw-scan -p # or: jc -p iw dev wlan0 scan ```json [ { - "mac_address": "71:31:72:65:e1:a2", + "bssid": "71:31:72:65:e1:a2", "interface": "wlan0", "freq": 2462, "capability": "ESS Privacy ShortSlotTime (0x0411)", diff --git a/docs/parsers/iw_scan.md b/docs/parsers/iw_scan.md index 66e66cbac..6acd59be5 100644 --- a/docs/parsers/iw_scan.md +++ b/docs/parsers/iw_scan.md @@ -26,7 +26,7 @@ Examples: $ iw dev wlan0 scan | jc --iw-scan -p [ { - "mac_address": "71:31:72:65:e1:a2", + "bssid": "71:31:72:65:e1:a2", "interface": "wlan0", "freq": 2462, "capability": "ESS Privacy ShortSlotTime (0x0411)", diff --git a/jc/parsers/iw_scan.py b/jc/parsers/iw_scan.py index 7470be574..65cc33993 100644 --- a/jc/parsers/iw_scan.py +++ b/jc/parsers/iw_scan.py @@ -24,7 +24,7 @@ $ iw dev wlan0 scan | jc --iw-scan -p [ { - "mac_address": "71:31:72:65:e1:a2", + "bssid": "71:31:72:65:e1:a2", "interface": "wlan0", "freq": 2462, "capability": "ESS Privacy ShortSlotTime (0x0411)", From 8b1407c7068e2105a83992bbb026138ea67bc07c Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Wed, 6 Jan 2021 14:22:26 -0800 Subject: [PATCH 24/25] pull env-specific tests from CI/CD and run locally only --- runtests.sh | 6 ++++++ tests/localtest_last.py | 41 +++++++++++++++++++++++++++++++++++++++++ tests/test_last.py | 22 ++++++++++++---------- 3 files changed, 59 insertions(+), 10 deletions(-) create mode 100644 tests/localtest_last.py diff --git a/runtests.sh b/runtests.sh index 2f592d3e0..492759eee 100755 --- a/runtests.sh +++ b/runtests.sh @@ -1,3 +1,9 @@ #!/bin/bash python3 -m unittest -v + +echo +echo "Running local-only tests:" +echo + +python3 -m unittest tests.localtest_last -v diff --git a/tests/localtest_last.py b/tests/localtest_last.py new file mode 100644 index 000000000..6776777bc --- /dev/null +++ b/tests/localtest_last.py @@ -0,0 +1,41 @@ +import os +import json +import unittest +import jc.parsers.last + +THIS_DIR = os.path.dirname(os.path.abspath(__file__)) + + +class MyTests(unittest.TestCase): + + def setUp(self): + # input + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/ubuntu-20.04/last-F.out'), 'r', encoding='utf-8') as f: + self.ubuntu_20_4_last_F = f.read() + + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/last-wF.out'), 'r', encoding='utf-8') as f: + self.centos_7_7_last_wF = f.read() + + # output + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/ubuntu-20.04/last-F.json'), 'r', encoding='utf-8') as f: + self.ubuntu_20_4_last_F_json = json.loads(f.read()) + + with open(os.path.join(THIS_DIR, os.pardir, 'tests/fixtures/centos-7.7/last-wF.json'), 'r', encoding='utf-8') as f: + self.centos_7_7_last_wF_json = json.loads(f.read()) + + + def test_last_F_ubuntu_20_4(self): + """ + Test 'last -F' on Ubuntu 20.4 + """ + self.assertEqual(jc.parsers.last.parse(self.ubuntu_20_4_last_F, quiet=True), self.ubuntu_20_4_last_F_json) + + def test_last_wF_centos_7_7(self): + """ + Test 'last -wF' on Centos 7.7 + """ + self.assertEqual(jc.parsers.last.parse(self.centos_7_7_last_wF, quiet=True), self.centos_7_7_last_wF_json) + + +if __name__ == '__main__': + unittest.main() diff --git a/tests/test_last.py b/tests/test_last.py index 63df44bba..a8d393ce3 100644 --- a/tests/test_last.py +++ b/tests/test_last.py @@ -131,11 +131,12 @@ def test_last_w_ubuntu_18_4(self): """ self.assertEqual(jc.parsers.last.parse(self.ubuntu_18_4_last_w, quiet=True), self.ubuntu_18_4_last_w_json) - def test_last_F_ubuntu_20_4(self): - """ - Test 'last -F' on Ubuntu 20.4 - """ - self.assertEqual(jc.parsers.last.parse(self.ubuntu_20_4_last_F, quiet=True), self.ubuntu_20_4_last_F_json) + # Run this test locally only since environment differences can cause test failures + # def test_last_F_ubuntu_20_4(self): + # """ + # Test 'last -F' on Ubuntu 20.4 + # """ + # self.assertEqual(jc.parsers.last.parse(self.ubuntu_20_4_last_F, quiet=True), self.ubuntu_20_4_last_F_json) def test_last_fedora32(self): """ @@ -155,11 +156,12 @@ def test_last_crash_centos_7_7(self): """ self.assertEqual(jc.parsers.last.parse(self.centos_7_7_last_crash, quiet=True), self.centos_7_7_last_crash_json) - def test_last_wF_centos_7_7(self): - """ - Test 'last -wF' on Centos 7.7 - """ - self.assertEqual(jc.parsers.last.parse(self.centos_7_7_last_wF, quiet=True), self.centos_7_7_last_wF_json) + # Run this test locally only since environment differences can cause test failures + # def test_last_wF_centos_7_7(self): + # """ + # Test 'last -wF' on Centos 7.7 + # """ + # self.assertEqual(jc.parsers.last.parse(self.centos_7_7_last_wF, quiet=True), self.centos_7_7_last_wF_json) if __name__ == '__main__': unittest.main() From 58246e33b71bae0ca4a42ad5bdf31134948b1014 Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Wed, 6 Jan 2021 14:33:38 -0800 Subject: [PATCH 25/25] update compatibility info and changelog date --- CHANGELOG | 2 +- README.md | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index dde77d5a8..511b29694 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,6 @@ jc changelog -20210105 v1.14.1 +20210106 v1.14.1 - Add iw-scan parser tested on linux (beta) - Update date parser for Ubuntu 20.04 support - Update last parser for last -F support diff --git a/README.md b/README.md index 01a96913c..332f6b3b1 100644 --- a/README.md +++ b/README.md @@ -229,7 +229,8 @@ cat lsof.out | jc --lsof -q Tested on: - Centos 7.7 -- Ubuntu 18.4 +- Ubuntu 18.04 +- Ubuntu 20.04 - Fedora32 - OSX 10.11.6 - OSX 10.14.6