diff --git a/docs/parsers/netstat.md b/docs/parsers/netstat.md index 62cc6154..a230849a 100644 --- a/docs/parsers/netstat.md +++ b/docs/parsers/netstat.md @@ -374,16 +374,19 @@ Returns: "sndbuf": integer, "rxbytes": integer, "txbytes": integer, - - "destination": string, "gateway": string, "route_flags": string, "route_refs": integer, "use": integer, "mtu": integer, - "netif": string, - "expire": string + "expire": string, + "genmask": string, + "mss": integer, + "window": integer, + "irtt": integer, + "iface": string, + "metric": integer } ] diff --git a/jc/parsers/netstat.py b/jc/parsers/netstat.py index a34e27e0..b750c195 100644 --- a/jc/parsers/netstat.py +++ b/jc/parsers/netstat.py @@ -381,16 +381,19 @@ def process(proc_data): "sndbuf": integer, "rxbytes": integer, "txbytes": integer, - - "destination": string, "gateway": string, "route_flags": string, "route_refs": integer, "use": integer, "mtu": integer, - "netif": string, - "expire": string + "expire": string, + "genmask": string, + "mss": integer, + "window": integer, + "irtt": integer, + "iface": string, + "metric": integer } ] """ @@ -398,7 +401,7 @@ def process(proc_data): # integer changes int_list = ['recv_q', 'send_q', 'pid', 'refcnt', 'inode', 'unit', 'vendor', 'class', 'osx_flags', 'subcla', 'pcbcount', 'rcvbuf', 'sndbuf', 'rxbytes', 'txbytes', - 'route_refs', 'use', 'mtu'] + 'route_refs', 'use', 'mtu', 'mss', 'window', 'irtt', 'metric'] for key in int_list: if key in entry: try: diff --git a/jc/parsers/netstat_linux.py b/jc/parsers/netstat_linux.py index 2d55d42a..d090731e 100644 --- a/jc/parsers/netstat_linux.py +++ b/jc/parsers/netstat_linux.py @@ -14,6 +14,15 @@ def normalize_headers(header): return header +def normalize_route_headers(header): + header = header.lower() + header = header.replace('flags', 'route_flags') + header = header.replace('ref', 'route_refs') + header = header.replace('-', '_') + + return header + + def parse_network(headers, entry): # Count words in header # if len of line is one less than len of header, then insert None in field 5 @@ -62,6 +71,14 @@ def parse_socket(header_text, headers, entry): return output_line +def parse_route(headers, entry): + entry = entry.split(maxsplit=len(headers) - 1) + output_line = dict(zip(headers, entry)) + output_line['kind'] = 'route' + + return output_line + + def parse_post(raw_data): # clean up trailing whitespace on each item in each entry # flags --- = null @@ -139,6 +156,7 @@ def parse(cleandata): network = False socket = False bluetooth = False + routing_table = False headers = None for line in cleandata: @@ -147,18 +165,28 @@ def parse(cleandata): network = True socket = False bluetooth = False + routing_table = False continue if line.startswith('Active UNIX'): network = False socket = True bluetooth = False + routing_table = False continue if line.startswith('Active Bluetooth'): network = False socket = False bluetooth = True + routing_table = False + continue + + if line.startswith('Kernel IP routing table'): + network = False + socket = False + bluetooth = False + routing_table = True continue if line.startswith('Proto'): @@ -166,6 +194,11 @@ def parse(cleandata): headers = header_text.split() continue + if line.startswith('Destination '): + header_text = normalize_route_headers(line) + headers = header_text.split() + continue + if network: raw_output.append(parse_network(headers, line)) continue @@ -178,4 +211,8 @@ def parse(cleandata): # not implemented continue + if routing_table: + raw_output.append(parse_route(headers, line)) + continue + return parse_post(raw_output) diff --git a/jc/parsers/netstat_osx.py b/jc/parsers/netstat_osx.py index 0febb801..634880bd 100644 --- a/jc/parsers/netstat_osx.py +++ b/jc/parsers/netstat_osx.py @@ -17,6 +17,7 @@ def normalize_route_headers(header): header = header.lower() header = header.replace('flags', 'route_flags') header = header.replace('refs', 'route_refs') + header = header.replace('netif', 'iface') header = header.replace('-', '_') return header diff --git a/tests/fixtures/centos-7.7/netstat-r.out b/tests/fixtures/centos-7.7/netstat-r.out new file mode 100644 index 00000000..5deb575c --- /dev/null +++ b/tests/fixtures/centos-7.7/netstat-r.out @@ -0,0 +1,5 @@ +Kernel IP routing table +Destination Gateway Genmask Flags MSS Window irtt Iface +default gateway 0.0.0.0 UG 0 0 0 ens33 +172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0 +192.168.71.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33 diff --git a/tests/fixtures/centos-7.7/netstat-rne.out b/tests/fixtures/centos-7.7/netstat-rne.out new file mode 100644 index 00000000..4622a5c9 --- /dev/null +++ b/tests/fixtures/centos-7.7/netstat-rne.out @@ -0,0 +1,5 @@ +Kernel IP routing table +Destination Gateway Genmask Flags Metric Ref Use Iface +0.0.0.0 192.168.71.2 0.0.0.0 UG 100 0 0 ens33 +172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0 +192.168.71.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33 diff --git a/tests/fixtures/centos-7.7/netstat-rnee.out b/tests/fixtures/centos-7.7/netstat-rnee.out new file mode 100644 index 00000000..c8af9463 --- /dev/null +++ b/tests/fixtures/centos-7.7/netstat-rnee.out @@ -0,0 +1,5 @@ +Kernel IP routing table +Destination Gateway Genmask Flags Metric Ref Use Iface MSS Window irtt +0.0.0.0 192.168.71.2 0.0.0.0 UG 100 0 0 ens33 0 0 0 +172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker 0 0 0 +192.168.71.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33 0 0 0 diff --git a/tests/fixtures/osx-10.14.6/netstat-r.json b/tests/fixtures/osx-10.14.6/netstat-r.json index 7b70df05..69e0146a 100644 --- a/tests/fixtures/osx-10.14.6/netstat-r.json +++ b/tests/fixtures/osx-10.14.6/netstat-r.json @@ -1 +1 @@ -[{"destination": "default", "gateway": "dsldevice.attlocal", "route_flags": "UGSc", "route_refs": 85, "use": 24, "netif": "en0", "kind": "route"}, {"destination": "127", "gateway": "localhost", "route_flags": "UCS", "route_refs": 0, "use": 0, "netif": "lo0", "kind": "route"}, {"destination": "localhost", "gateway": "localhost", "route_flags": "UH", "route_refs": 20, "use": 1266183, "netif": "lo0", "kind": "route"}, {"destination": "169.254", "gateway": "link#10", "route_flags": "UCS", "route_refs": 1, "use": 0, "netif": "en0", "expire": "!", "kind": "route"}, {"destination": "192.168.1", "gateway": "link#10", "route_flags": "UCS", "route_refs": 11, "use": 0, "netif": "en0", "expire": "!", "kind": "route"}, {"destination": "kellys-iphone.attl", "gateway": "e0:33:8e:68:38:d6", "route_flags": "UHLWIi", "route_refs": 2, "use": 466, "netif": "en0", "expire": "866", "kind": "route"}, {"destination": "kellys-mbp.attloca", "gateway": "f0:18:98:3:d8:39", "route_flags": "UHLWIi", "route_refs": 2, "use": 8877, "netif": "en0", "expire": "187", "kind": "route"}, {"destination": "ipad.attlocal.net", "gateway": "4c:56:9d:5f:b7:4c", "route_flags": "UHLWI", "route_refs": 0, "use": 600, "netif": "en0", "expire": "786", "kind": "route"}, {"destination": "mycloudex2ultra.at", "gateway": "0:90:a9:ed:e4:35", "route_flags": "UHLWIi", "route_refs": 1, "use": 265596, "netif": "en0", "expire": "1044", "kind": "route"}, {"destination": "family-room-5.attl", "gateway": "c8:d0:83:cd:e3:2d", "route_flags": "UHLWIi", "route_refs": 1, "use": 4308, "netif": "en0", "expire": "391", "kind": "route"}, {"destination": "bedroom.attlocal.n", "gateway": "d0:3:4b:3b:28:d5", "route_flags": "UHLWIi", "route_refs": 1, "use": 4586, "netif": "en0", "expire": "36", "kind": "route"}, {"destination": "upstairs.attlocal.", "gateway": "50:32:37:d7:f5:9b", "route_flags": "UHLWIi", "route_refs": 1, "use": 6117, "netif": "en0", "expire": "1161", "kind": "route"}, {"destination": "rbr50.attlocal.net", "gateway": "3c:37:86:15:ad:f7", "route_flags": "UHLWI", "route_refs": 0, "use": 16, "netif": "en0", "expire": "678", "kind": "route"}, {"destination": "192.168.1.221/32", "gateway": "link#10", "route_flags": "UCS", "route_refs": 1, "use": 0, "netif": "en0", "expire": "!", "kind": "route"}, {"destination": "kbrazil-mac.attloc", "gateway": "a4:83:e7:2d:62:8f", "route_flags": "UHLWI", "route_refs": 0, "use": 36, "netif": "lo0", "kind": "route"}, {"destination": "irobot-f5788f2e24e", "gateway": "50:14:79:12:42:3e", "route_flags": "UHLWI", "route_refs": 0, "use": 0, "netif": "en0", "expire": "1173", "kind": "route"}, {"destination": "victoriasiphone.at", "gateway": "14:60:cb:10:ec:17", "route_flags": "UHLWI", "route_refs": 0, "use": 54, "netif": "en0", "expire": "64", "kind": "route"}, {"destination": "rbs50.attlocal.net", "gateway": "3c:37:86:15:dd:b3", "route_flags": "UHLWI", "route_refs": 0, "use": 3300, "netif": "en0", "expire": "952", "kind": "route"}, {"destination": "192.168.1.254/32", "gateway": "link#10", "route_flags": "UCS", "route_refs": 1, "use": 0, "netif": "en0", "expire": "!", "kind": "route"}, {"destination": "dsldevice.attlocal", "gateway": "fc:ae:34:a1:3a:80", "route_flags": "UHLWIir", "route_refs": 30, "use": 69452, "netif": "en0", "expire": "1180", "kind": "route"}, {"destination": "192.168.71", "gateway": "link#20", "route_flags": "UC", "route_refs": 2, "use": 0, "netif": "vmnet8", "expire": "!", "kind": "route"}, {"destination": "192.168.71.160", "gateway": "link#20", "route_flags": "UHLWIi", "route_refs": 1, "use": 1708, "netif": "vmnet8", "expire": "!", "kind": "route"}, {"destination": "192.168.101", "gateway": "link#19", "route_flags": "UC", "route_refs": 1, "use": 0, "netif": "vmnet1", "expire": "!", "kind": "route"}, {"destination": "224.0.0/4", "gateway": "link#10", "route_flags": "UmCS", "route_refs": 2, "use": 0, "netif": "en0", "expire": "!", "kind": "route"}, {"destination": "224.0.0.251", "gateway": "1:0:5e:0:0:fb", "route_flags": "UHmLWI", "route_refs": 0, "use": 312, "netif": "en0", "kind": "route"}, {"destination": "239.255.255.250", "gateway": "1:0:5e:7f:ff:fa", "route_flags": "UHmLWI", "route_refs": 0, "use": 9914, "netif": "en0", "kind": "route"}, {"destination": "255.255.255.255/32", "gateway": "link#10", "route_flags": "UCS", "route_refs": 0, "use": 0, "netif": "en0", "expire": "!", "kind": "route"}, {"destination": "default", "gateway": "fe80::feae:34ff:fe", "route_flags": "UGc", "netif": "en0", "kind": "route"}, {"destination": "default", "gateway": "fe80::%utun0", "route_flags": "UGcI", "netif": "utun0", "kind": "route"}, {"destination": "default", "gateway": "fe80::%utun1", "route_flags": "UGcI", "netif": "utun1", "kind": "route"}, {"destination": "default", "gateway": "fe80::%utun2", "route_flags": "UGcI", "netif": "utun2", "kind": "route"}, {"destination": "default", "gateway": "fe80::%utun3", "route_flags": "UGcI", "netif": "utun3", "kind": "route"}, {"destination": "localhost", "gateway": "localhost", "route_flags": "UHL", "netif": "lo0", "kind": "route"}, {"destination": "2600:1700:bab0:d40", "gateway": "link#10", "route_flags": "UC", "netif": "en0", "kind": "route"}, {"destination": "dsldevice6.attloca", "gateway": "fc:ae:34:a1:3a:80", "route_flags": "UHLWIi", "netif": "en0", "kind": "route"}, {"destination": "2600:1700:bab0:d40", "gateway": "a4:83:e7:2d:62:8f", "route_flags": "UHL", "netif": "lo0", "kind": "route"}, {"destination": "2600:1700:bab0:d40", "gateway": "a4:83:e7:2d:62:8f", "route_flags": "UHL", "netif": "lo0", "kind": "route"}, {"destination": "2600:1700:bab0:d40", "gateway": "a4:83:e7:2d:62:8f", "route_flags": "UHL", "netif": "lo0", "kind": "route"}, {"destination": "kbrazil-mac.attloc", "gateway": "a4:83:e7:2d:62:8f", "route_flags": "UHL", "netif": "lo0", "kind": "route"}, {"destination": "kbrazil-mac.attloc", "gateway": "a4:83:e7:2d:62:8f", "route_flags": "UHL", "netif": "lo0", "kind": "route"}, {"destination": "kbrazil-mac.attloc", "gateway": "a4:83:e7:2d:62:8f", "route_flags": "UHL", "netif": "lo0", "kind": "route"}, {"destination": "fe80::%lo0", "gateway": "fe80::1%lo0", "route_flags": "UcI", "netif": "lo0", "kind": "route"}, {"destination": "fe80::1%lo0", "gateway": "link#1", "route_flags": "UHLI", "netif": "lo0", "kind": "route"}, {"destination": "fe80::%en5", "gateway": "link#8", "route_flags": "UCI", "netif": "en5", "kind": "route"}, {"destination": "fe80::aede:48ff:fe", "gateway": "ac:de:48:0:11:22", "route_flags": "UHLI", "netif": "lo0", "kind": "route"}, {"destination": "fe80::aede:48ff:fe", "gateway": "ac:de:48:33:44:55", "route_flags": "UHLWIi", "netif": "en5", "kind": "route"}, {"destination": "fe80::%en0", "gateway": "link#10", "route_flags": "UCI", "netif": "en0", "kind": "route"}, {"destination": "fe80::df:eea7:d8e0", "gateway": "14:60:cb:10:ec:17", "route_flags": "UHLWI", "netif": "en0", "kind": "route"}, {"destination": "fe80::472:ae33:7f7", "gateway": "b4:18:d1:9d:bc:2d", "route_flags": "UHLWI", "netif": "en0", "kind": "route"}, {"destination": "ipad.local", "gateway": "4c:56:9d:5f:b7:4c", "route_flags": "UHLWI", "netif": "en0", "kind": "route"}, {"destination": "fe80::ced:5f18:1d1", "gateway": "14:60:cb:10:ec:17", "route_flags": "UHLWI", "netif": "en0", "kind": "route"}, {"destination": "kbrazil-mac.local", "gateway": "a4:83:e7:2d:62:8f", "route_flags": "UHLI", "netif": "lo0", "kind": "route"}, {"destination": "fe80::10f2:d51c:68", "gateway": "e0:33:8e:68:38:d6", "route_flags": "UHLWI", "netif": "en0", "kind": "route"}, {"destination": "upstairs.local", "gateway": "50:32:37:d7:f5:9b", "route_flags": "UHLWIi", "netif": "en0", "kind": "route"}, {"destination": "fe80::1899:d8f6:dc", "gateway": "50:32:37:d7:f5:9b", "route_flags": "UHLWI", "netif": "en0", "kind": "route"}, {"destination": "kellys-macbook-pro", "gateway": "f0:18:98:3:d8:39", "route_flags": "UHLWI", "netif": "en0", "kind": "route"}, {"destination": "bedroom.local", "gateway": "d0:3:4b:3b:28:d5", "route_flags": "UHLWI", "netif": "en0", "kind": "route"}, {"destination": "kellys-airport-exp", "gateway": "48:d7:5:f1:86:e8", "route_flags": "UHLWI", "netif": "en0", "kind": "route"}, {"destination": "hp9cb654545bb9.loc", "gateway": "9c:b6:54:5a:5a:7c", "route_flags": "UHLWI", "netif": "en0", "kind": "route"}, {"destination": "fe80::feae:34ff:fe", "gateway": "fc:ae:34:a1:3a:80", "route_flags": "UHLWIir", "netif": "en0", "kind": "route"}, {"destination": "fe80::%awdl0", "gateway": "link#12", "route_flags": "UCI", "netif": "awdl0", "kind": "route"}, {"destination": "fe80::b41f:b7ff:fe", "gateway": "b6:1f:b7:57:a5:4f", "route_flags": "UHLI", "netif": "lo0", "kind": "route"}, {"destination": "fe80::%utun0", "gateway": "kbrazil-mac.local", "route_flags": "UcI", "netif": "utun0", "kind": "route"}, {"destination": "kbrazil-mac.local", "gateway": "link#18", "route_flags": "UHLI", "netif": "lo0", "kind": "route"}, {"destination": "fe80::%utun1", "gateway": "kbrazil-mac.local", "route_flags": "UcI", "netif": "utun1", "kind": "route"}, {"destination": "kbrazil-mac.local", "gateway": "link#21", "route_flags": "UHLI", "netif": "lo0", "kind": "route"}, {"destination": "fe80::%utun2", "gateway": "kbrazil-mac.local", "route_flags": "UcI", "netif": "utun2", "kind": "route"}, {"destination": "kbrazil-mac.local", "gateway": "link#22", "route_flags": "UHLI", "netif": "lo0", "kind": "route"}, {"destination": "fe80::%utun3", "gateway": "kbrazil-mac.local", "route_flags": "UcI", "netif": "utun3", "kind": "route"}, {"destination": "kbrazil-mac.local", "gateway": "link#23", "route_flags": "UHLI", "netif": "lo0", "kind": "route"}, {"destination": "ff01::%lo0", "gateway": "localhost", "route_flags": "UmCI", "netif": "lo0", "kind": "route"}, {"destination": "ff01::%en5", "gateway": "link#8", "route_flags": "UmCI", "netif": "en5", "kind": "route"}, {"destination": "ff01::%en0", "gateway": "link#10", "route_flags": "UmCI", "netif": "en0", "kind": "route"}, {"destination": "ff01::%awdl0", "gateway": "link#12", "route_flags": "UmCI", "netif": "awdl0", "kind": "route"}, {"destination": "ff01::%utun0", "gateway": "kbrazil-mac.local", "route_flags": "UmCI", "netif": "utun0", "kind": "route"}, {"destination": "ff01::%utun1", "gateway": "kbrazil-mac.local", "route_flags": "UmCI", "netif": "utun1", "kind": "route"}, {"destination": "ff01::%utun2", "gateway": "kbrazil-mac.local", "route_flags": "UmCI", "netif": "utun2", "kind": "route"}, {"destination": "ff01::%utun3", "gateway": "kbrazil-mac.local", "route_flags": "UmCI", "netif": "utun3", "kind": "route"}, {"destination": "ff02::%lo0", "gateway": "localhost", "route_flags": "UmCI", "netif": "lo0", "kind": "route"}, {"destination": "ff02::%en5", "gateway": "link#8", "route_flags": "UmCI", "netif": "en5", "kind": "route"}, {"destination": "ff02::%en0", "gateway": "link#10", "route_flags": "UmCI", "netif": "en0", "kind": "route"}, {"destination": "ff02::%awdl0", "gateway": "link#12", "route_flags": "UmCI", "netif": "awdl0", "kind": "route"}, {"destination": "ff02::%utun0", "gateway": "kbrazil-mac.local", "route_flags": "UmCI", "netif": "utun0", "kind": "route"}, {"destination": "ff02::%utun1", "gateway": "kbrazil-mac.local", "route_flags": "UmCI", "netif": "utun1", "kind": "route"}, {"destination": "ff02::%utun2", "gateway": "kbrazil-mac.local", "route_flags": "UmCI", "netif": "utun2", "kind": "route"}, {"destination": "ff02::%utun3", "gateway": "kbrazil-mac.local", "route_flags": "UmCI", "netif": "utun3", "kind": "route"}] +[{"destination": "default", "gateway": "dsldevice.attlocal", "route_flags": "UGSc", "route_refs": 85, "use": 24, "iface": "en0", "kind": "route"}, {"destination": "127", "gateway": "localhost", "route_flags": "UCS", "route_refs": 0, "use": 0, "iface": "lo0", "kind": "route"}, {"destination": "localhost", "gateway": "localhost", "route_flags": "UH", "route_refs": 20, "use": 1266183, "iface": "lo0", "kind": "route"}, {"destination": "169.254", "gateway": "link#10", "route_flags": "UCS", "route_refs": 1, "use": 0, "iface": "en0", "expire": "!", "kind": "route"}, {"destination": "192.168.1", "gateway": "link#10", "route_flags": "UCS", "route_refs": 11, "use": 0, "iface": "en0", "expire": "!", "kind": "route"}, {"destination": "kellys-iphone.attl", "gateway": "e0:33:8e:68:38:d6", "route_flags": "UHLWIi", "route_refs": 2, "use": 466, "iface": "en0", "expire": "866", "kind": "route"}, {"destination": "kellys-mbp.attloca", "gateway": "f0:18:98:3:d8:39", "route_flags": "UHLWIi", "route_refs": 2, "use": 8877, "iface": "en0", "expire": "187", "kind": "route"}, {"destination": "ipad.attlocal.net", "gateway": "4c:56:9d:5f:b7:4c", "route_flags": "UHLWI", "route_refs": 0, "use": 600, "iface": "en0", "expire": "786", "kind": "route"}, {"destination": "mycloudex2ultra.at", "gateway": "0:90:a9:ed:e4:35", "route_flags": "UHLWIi", "route_refs": 1, "use": 265596, "iface": "en0", "expire": "1044", "kind": "route"}, {"destination": "family-room-5.attl", "gateway": "c8:d0:83:cd:e3:2d", "route_flags": "UHLWIi", "route_refs": 1, "use": 4308, "iface": "en0", "expire": "391", "kind": "route"}, {"destination": "bedroom.attlocal.n", "gateway": "d0:3:4b:3b:28:d5", "route_flags": "UHLWIi", "route_refs": 1, "use": 4586, "iface": "en0", "expire": "36", "kind": "route"}, {"destination": "upstairs.attlocal.", "gateway": "50:32:37:d7:f5:9b", "route_flags": "UHLWIi", "route_refs": 1, "use": 6117, "iface": "en0", "expire": "1161", "kind": "route"}, {"destination": "rbr50.attlocal.net", "gateway": "3c:37:86:15:ad:f7", "route_flags": "UHLWI", "route_refs": 0, "use": 16, "iface": "en0", "expire": "678", "kind": "route"}, {"destination": "192.168.1.221/32", "gateway": "link#10", "route_flags": "UCS", "route_refs": 1, "use": 0, "iface": "en0", "expire": "!", "kind": "route"}, {"destination": "kbrazil-mac.attloc", "gateway": "a4:83:e7:2d:62:8f", "route_flags": "UHLWI", "route_refs": 0, "use": 36, "iface": "lo0", "kind": "route"}, {"destination": "irobot-f5788f2e24e", "gateway": "50:14:79:12:42:3e", "route_flags": "UHLWI", "route_refs": 0, "use": 0, "iface": "en0", "expire": "1173", "kind": "route"}, {"destination": "victoriasiphone.at", "gateway": "14:60:cb:10:ec:17", "route_flags": "UHLWI", "route_refs": 0, "use": 54, "iface": "en0", "expire": "64", "kind": "route"}, {"destination": "rbs50.attlocal.net", "gateway": "3c:37:86:15:dd:b3", "route_flags": "UHLWI", "route_refs": 0, "use": 3300, "iface": "en0", "expire": "952", "kind": "route"}, {"destination": "192.168.1.254/32", "gateway": "link#10", "route_flags": "UCS", "route_refs": 1, "use": 0, "iface": "en0", "expire": "!", "kind": "route"}, {"destination": "dsldevice.attlocal", "gateway": "fc:ae:34:a1:3a:80", "route_flags": "UHLWIir", "route_refs": 30, "use": 69452, "iface": "en0", "expire": "1180", "kind": "route"}, {"destination": "192.168.71", "gateway": "link#20", "route_flags": "UC", "route_refs": 2, "use": 0, "iface": "vmnet8", "expire": "!", "kind": "route"}, {"destination": "192.168.71.160", "gateway": "link#20", "route_flags": "UHLWIi", "route_refs": 1, "use": 1708, "iface": "vmnet8", "expire": "!", "kind": "route"}, {"destination": "192.168.101", "gateway": "link#19", "route_flags": "UC", "route_refs": 1, "use": 0, "iface": "vmnet1", "expire": "!", "kind": "route"}, {"destination": "224.0.0/4", "gateway": "link#10", "route_flags": "UmCS", "route_refs": 2, "use": 0, "iface": "en0", "expire": "!", "kind": "route"}, {"destination": "224.0.0.251", "gateway": "1:0:5e:0:0:fb", "route_flags": "UHmLWI", "route_refs": 0, "use": 312, "iface": "en0", "kind": "route"}, {"destination": "239.255.255.250", "gateway": "1:0:5e:7f:ff:fa", "route_flags": "UHmLWI", "route_refs": 0, "use": 9914, "iface": "en0", "kind": "route"}, {"destination": "255.255.255.255/32", "gateway": "link#10", "route_flags": "UCS", "route_refs": 0, "use": 0, "iface": "en0", "expire": "!", "kind": "route"}, {"destination": "default", "gateway": "fe80::feae:34ff:fe", "route_flags": "UGc", "iface": "en0", "kind": "route"}, {"destination": "default", "gateway": "fe80::%utun0", "route_flags": "UGcI", "iface": "utun0", "kind": "route"}, {"destination": "default", "gateway": "fe80::%utun1", "route_flags": "UGcI", "iface": "utun1", "kind": "route"}, {"destination": "default", "gateway": "fe80::%utun2", "route_flags": "UGcI", "iface": "utun2", "kind": "route"}, {"destination": "default", "gateway": "fe80::%utun3", "route_flags": "UGcI", "iface": "utun3", "kind": "route"}, {"destination": "localhost", "gateway": "localhost", "route_flags": "UHL", "iface": "lo0", "kind": "route"}, {"destination": "2600:1700:bab0:d40", "gateway": "link#10", "route_flags": "UC", "iface": "en0", "kind": "route"}, {"destination": "dsldevice6.attloca", "gateway": "fc:ae:34:a1:3a:80", "route_flags": "UHLWIi", "iface": "en0", "kind": "route"}, {"destination": "2600:1700:bab0:d40", "gateway": "a4:83:e7:2d:62:8f", "route_flags": "UHL", "iface": "lo0", "kind": "route"}, {"destination": "2600:1700:bab0:d40", "gateway": "a4:83:e7:2d:62:8f", "route_flags": "UHL", "iface": "lo0", "kind": "route"}, {"destination": "2600:1700:bab0:d40", "gateway": "a4:83:e7:2d:62:8f", "route_flags": "UHL", "iface": "lo0", "kind": "route"}, {"destination": "kbrazil-mac.attloc", "gateway": "a4:83:e7:2d:62:8f", "route_flags": "UHL", "iface": "lo0", "kind": "route"}, {"destination": "kbrazil-mac.attloc", "gateway": "a4:83:e7:2d:62:8f", "route_flags": "UHL", "iface": "lo0", "kind": "route"}, {"destination": "kbrazil-mac.attloc", "gateway": "a4:83:e7:2d:62:8f", "route_flags": "UHL", "iface": "lo0", "kind": "route"}, {"destination": "fe80::%lo0", "gateway": "fe80::1%lo0", "route_flags": "UcI", "iface": "lo0", "kind": "route"}, {"destination": "fe80::1%lo0", "gateway": "link#1", "route_flags": "UHLI", "iface": "lo0", "kind": "route"}, {"destination": "fe80::%en5", "gateway": "link#8", "route_flags": "UCI", "iface": "en5", "kind": "route"}, {"destination": "fe80::aede:48ff:fe", "gateway": "ac:de:48:0:11:22", "route_flags": "UHLI", "iface": "lo0", "kind": "route"}, {"destination": "fe80::aede:48ff:fe", "gateway": "ac:de:48:33:44:55", "route_flags": "UHLWIi", "iface": "en5", "kind": "route"}, {"destination": "fe80::%en0", "gateway": "link#10", "route_flags": "UCI", "iface": "en0", "kind": "route"}, {"destination": "fe80::df:eea7:d8e0", "gateway": "14:60:cb:10:ec:17", "route_flags": "UHLWI", "iface": "en0", "kind": "route"}, {"destination": "fe80::472:ae33:7f7", "gateway": "b4:18:d1:9d:bc:2d", "route_flags": "UHLWI", "iface": "en0", "kind": "route"}, {"destination": "ipad.local", "gateway": "4c:56:9d:5f:b7:4c", "route_flags": "UHLWI", "iface": "en0", "kind": "route"}, {"destination": "fe80::ced:5f18:1d1", "gateway": "14:60:cb:10:ec:17", "route_flags": "UHLWI", "iface": "en0", "kind": "route"}, {"destination": "kbrazil-mac.local", "gateway": "a4:83:e7:2d:62:8f", "route_flags": "UHLI", "iface": "lo0", "kind": "route"}, {"destination": "fe80::10f2:d51c:68", "gateway": "e0:33:8e:68:38:d6", "route_flags": "UHLWI", "iface": "en0", "kind": "route"}, {"destination": "upstairs.local", "gateway": "50:32:37:d7:f5:9b", "route_flags": "UHLWIi", "iface": "en0", "kind": "route"}, {"destination": "fe80::1899:d8f6:dc", "gateway": "50:32:37:d7:f5:9b", "route_flags": "UHLWI", "iface": "en0", "kind": "route"}, {"destination": "kellys-macbook-pro", "gateway": "f0:18:98:3:d8:39", "route_flags": "UHLWI", "iface": "en0", "kind": "route"}, {"destination": "bedroom.local", "gateway": "d0:3:4b:3b:28:d5", "route_flags": "UHLWI", "iface": "en0", "kind": "route"}, {"destination": "kellys-airport-exp", "gateway": "48:d7:5:f1:86:e8", "route_flags": "UHLWI", "iface": "en0", "kind": "route"}, {"destination": "hp9cb654545bb9.loc", "gateway": "9c:b6:54:5a:5a:7c", "route_flags": "UHLWI", "iface": "en0", "kind": "route"}, {"destination": "fe80::feae:34ff:fe", "gateway": "fc:ae:34:a1:3a:80", "route_flags": "UHLWIir", "iface": "en0", "kind": "route"}, {"destination": "fe80::%awdl0", "gateway": "link#12", "route_flags": "UCI", "iface": "awdl0", "kind": "route"}, {"destination": "fe80::b41f:b7ff:fe", "gateway": "b6:1f:b7:57:a5:4f", "route_flags": "UHLI", "iface": "lo0", "kind": "route"}, {"destination": "fe80::%utun0", "gateway": "kbrazil-mac.local", "route_flags": "UcI", "iface": "utun0", "kind": "route"}, {"destination": "kbrazil-mac.local", "gateway": "link#18", "route_flags": "UHLI", "iface": "lo0", "kind": "route"}, {"destination": "fe80::%utun1", "gateway": "kbrazil-mac.local", "route_flags": "UcI", "iface": "utun1", "kind": "route"}, {"destination": "kbrazil-mac.local", "gateway": "link#21", "route_flags": "UHLI", "iface": "lo0", "kind": "route"}, {"destination": "fe80::%utun2", "gateway": "kbrazil-mac.local", "route_flags": "UcI", "iface": "utun2", "kind": "route"}, {"destination": "kbrazil-mac.local", "gateway": "link#22", "route_flags": "UHLI", "iface": "lo0", "kind": "route"}, {"destination": "fe80::%utun3", "gateway": "kbrazil-mac.local", "route_flags": "UcI", "iface": "utun3", "kind": "route"}, {"destination": "kbrazil-mac.local", "gateway": "link#23", "route_flags": "UHLI", "iface": "lo0", "kind": "route"}, {"destination": "ff01::%lo0", "gateway": "localhost", "route_flags": "UmCI", "iface": "lo0", "kind": "route"}, {"destination": "ff01::%en5", "gateway": "link#8", "route_flags": "UmCI", "iface": "en5", "kind": "route"}, {"destination": "ff01::%en0", "gateway": "link#10", "route_flags": "UmCI", "iface": "en0", "kind": "route"}, {"destination": "ff01::%awdl0", "gateway": "link#12", "route_flags": "UmCI", "iface": "awdl0", "kind": "route"}, {"destination": "ff01::%utun0", "gateway": "kbrazil-mac.local", "route_flags": "UmCI", "iface": "utun0", "kind": "route"}, {"destination": "ff01::%utun1", "gateway": "kbrazil-mac.local", "route_flags": "UmCI", "iface": "utun1", "kind": "route"}, {"destination": "ff01::%utun2", "gateway": "kbrazil-mac.local", "route_flags": "UmCI", "iface": "utun2", "kind": "route"}, {"destination": "ff01::%utun3", "gateway": "kbrazil-mac.local", "route_flags": "UmCI", "iface": "utun3", "kind": "route"}, {"destination": "ff02::%lo0", "gateway": "localhost", "route_flags": "UmCI", "iface": "lo0", "kind": "route"}, {"destination": "ff02::%en5", "gateway": "link#8", "route_flags": "UmCI", "iface": "en5", "kind": "route"}, {"destination": "ff02::%en0", "gateway": "link#10", "route_flags": "UmCI", "iface": "en0", "kind": "route"}, {"destination": "ff02::%awdl0", "gateway": "link#12", "route_flags": "UmCI", "iface": "awdl0", "kind": "route"}, {"destination": "ff02::%utun0", "gateway": "kbrazil-mac.local", "route_flags": "UmCI", "iface": "utun0", "kind": "route"}, {"destination": "ff02::%utun1", "gateway": "kbrazil-mac.local", "route_flags": "UmCI", "iface": "utun1", "kind": "route"}, {"destination": "ff02::%utun2", "gateway": "kbrazil-mac.local", "route_flags": "UmCI", "iface": "utun2", "kind": "route"}, {"destination": "ff02::%utun3", "gateway": "kbrazil-mac.local", "route_flags": "UmCI", "iface": "utun3", "kind": "route"}] diff --git a/tests/fixtures/osx-10.14.6/netstat-rnl.json b/tests/fixtures/osx-10.14.6/netstat-rnl.json index bb7f9502..02a09eae 100644 --- a/tests/fixtures/osx-10.14.6/netstat-rnl.json +++ b/tests/fixtures/osx-10.14.6/netstat-rnl.json @@ -1 +1 @@ -[{"destination": "default", "gateway": "192.168.1.254", "route_flags": "UGSc", "route_refs": 83, "use": 24, "mtu": 1500, "netif": "en0", "kind": "route"}, {"destination": "127", "gateway": "127.0.0.1", "route_flags": "UCS", "route_refs": 0, "use": 0, "mtu": 16384, "netif": "lo0", "kind": "route"}, {"destination": "127.0.0.1", "gateway": "127.0.0.1", "route_flags": "UH", "route_refs": 18, "use": 1266231, "mtu": 16384, "netif": "lo0", "kind": "route"}, {"destination": "169.254", "gateway": "link#10", "route_flags": "UCS", "route_refs": 1, "use": 0, "mtu": 1500, "netif": "en0", "expire": "!", "kind": "route"}, {"destination": "192.168.1", "gateway": "link#10", "route_flags": "UCS", "route_refs": 12, "use": 0, "mtu": 1500, "netif": "en0", "expire": "!", "kind": "route"}, {"destination": "192.168.1.64", "gateway": "e0:33:8e:68:38:d6", "route_flags": "UHLWIi", "route_refs": 2, "use": 470, "mtu": 1500, "netif": "en0", "expire": "753", "kind": "route"}, {"destination": "192.168.1.72", "gateway": "f0:18:98:3:d8:39", "route_flags": "UHLWIi", "route_refs": 1, "use": 8878, "mtu": 1500, "netif": "en0", "expire": "1105", "kind": "route"}, {"destination": "192.168.1.75", "gateway": "4c:56:9d:5f:b7:4c", "route_flags": "UHLWIi", "route_refs": 1, "use": 600, "mtu": 1500, "netif": "en0", "expire": "673", "kind": "route"}, {"destination": "192.168.1.80", "gateway": "0:90:a9:ed:e4:35", "route_flags": "UHLWIi", "route_refs": 1, "use": 265604, "mtu": 1500, "netif": "en0", "expire": "931", "kind": "route"}, {"destination": "192.168.1.88", "gateway": "c8:d0:83:cd:e3:2d", "route_flags": "UHLWIi", "route_refs": 1, "use": 4310, "mtu": 1500, "netif": "en0", "expire": "278", "kind": "route"}, {"destination": "192.168.1.89", "gateway": "d0:3:4b:3b:28:d5", "route_flags": "UHLWIi", "route_refs": 1, "use": 4588, "mtu": 1500, "netif": "en0", "expire": "1132", "kind": "route"}, {"destination": "192.168.1.186", "gateway": "50:32:37:d7:f5:9b", "route_flags": "UHLWIi", "route_refs": 1, "use": 6123, "mtu": 1500, "netif": "en0", "expire": "1181", "kind": "route"}, {"destination": "192.168.1.216", "gateway": "3c:37:86:15:ad:f7", "route_flags": "UHLWI", "route_refs": 0, "use": 16, "mtu": 1500, "netif": "en0", "expire": "565", "kind": "route"}, {"destination": "192.168.1.221/32", "gateway": "link#10", "route_flags": "UCS", "route_refs": 1, "use": 0, "mtu": 1500, "netif": "en0", "expire": "!", "kind": "route"}, {"destination": "192.168.1.221", "gateway": "a4:83:e7:2d:62:8f", "route_flags": "UHLWI", "route_refs": 0, "use": 36, "mtu": 16384, "netif": "lo0", "kind": "route"}, {"destination": "192.168.1.242", "gateway": "50:14:79:12:42:3e", "route_flags": "UHLWI", "route_refs": 0, "use": 0, "mtu": 1500, "netif": "en0", "expire": "1182", "kind": "route"}, {"destination": "192.168.1.251", "gateway": "14:60:cb:10:ec:17", "route_flags": "UHLWI", "route_refs": 0, "use": 54, "mtu": 1500, "netif": "en0", "expire": "1157", "kind": "route"}, {"destination": "192.168.1.253", "gateway": "3c:37:86:15:dd:b3", "route_flags": "UHLWI", "route_refs": 0, "use": 3300, "mtu": 1500, "netif": "en0", "expire": "839", "kind": "route"}, {"destination": "192.168.1.254/32", "gateway": "link#10", "route_flags": "UCS", "route_refs": 1, "use": 0, "mtu": 1500, "netif": "en0", "expire": "!", "kind": "route"}, {"destination": "192.168.1.254", "gateway": "fc:ae:34:a1:3a:80", "route_flags": "UHLWIir", "route_refs": 29, "use": 69464, "mtu": 1500, "netif": "en0", "expire": "1200", "kind": "route"}, {"destination": "192.168.1.255", "gateway": "ff:ff:ff:ff:ff:ff", "route_flags": "UHLWbI", "route_refs": 0, "use": 4, "mtu": 1500, "netif": "en0", "expire": "!", "kind": "route"}, {"destination": "192.168.71", "gateway": "link#20", "route_flags": "UC", "route_refs": 3, "use": 0, "mtu": 1500, "netif": "vmnet8", "expire": "!", "kind": "route"}, {"destination": "192.168.71.160", "gateway": "link#20", "route_flags": "UHLWIi", "route_refs": 1, "use": 1708, "mtu": 1500, "netif": "vmnet8", "expire": "!", "kind": "route"}, {"destination": "192.168.71.255", "gateway": "ff:ff:ff:ff:ff:ff", "route_flags": "UHLWbI", "route_refs": 0, "use": 4, "mtu": 1500, "netif": "vmnet8", "expire": "!", "kind": "route"}, {"destination": "192.168.101", "gateway": "link#19", "route_flags": "UC", "route_refs": 2, "use": 0, "mtu": 1500, "netif": "vmnet1", "expire": "!", "kind": "route"}, {"destination": "192.168.101.255", "gateway": "ff:ff:ff:ff:ff:ff", "route_flags": "UHLWbI", "route_refs": 0, "use": 4, "mtu": 1500, "netif": "vmnet1", "expire": "!", "kind": "route"}, {"destination": "224.0.0/4", "gateway": "link#10", "route_flags": "UmCS", "route_refs": 2, "use": 0, "mtu": 1500, "netif": "en0", "expire": "!", "kind": "route"}, {"destination": "224.0.0.251", "gateway": "1:0:5e:0:0:fb", "route_flags": "UHmLWI", "route_refs": 0, "use": 312, "mtu": 1500, "netif": "en0", "kind": "route"}, {"destination": "239.255.255.250", "gateway": "1:0:5e:7f:ff:fa", "route_flags": "UHmLWI", "route_refs": 0, "use": 9918, "mtu": 1500, "netif": "en0", "kind": "route"}, {"destination": "255.255.255.255/32", "gateway": "link#10", "route_flags": "UCS", "route_refs": 0, "use": 0, "mtu": 1500, "netif": "en0", "expire": "!", "kind": "route"}, {"destination": "default", "gateway": "fe80::feae:34ff:fea1:3a80%en0", "route_flags": "UGc", "route_refs": 7, "use": 0, "mtu": 1500, "netif": "en0", "kind": "route"}, {"destination": "default", "gateway": "fe80::%utun0", "route_flags": "UGcI", "route_refs": 0, "use": 0, "mtu": 2000, "netif": "utun0", "kind": "route"}, {"destination": "default", "gateway": "fe80::%utun1", "route_flags": "UGcI", "route_refs": 0, "use": 0, "mtu": 1380, "netif": "utun1", "kind": "route"}, {"destination": "default", "gateway": "fe80::%utun2", "route_flags": "UGcI", "route_refs": 0, "use": 0, "mtu": 1380, "netif": "utun2", "kind": "route"}, {"destination": "default", "gateway": "fe80::%utun3", "route_flags": "UGcI", "route_refs": 0, "use": 0, "mtu": 1380, "netif": "utun3", "kind": "route"}, {"destination": "::1", "gateway": "::1", "route_flags": "UHL", "route_refs": 1, "use": 4513, "mtu": 16384, "netif": "lo0", "kind": "route"}, {"destination": "2600:1700:bab0:d40::/64", "gateway": "link#10", "route_flags": "UC", "route_refs": 2, "use": 0, "mtu": 1500, "netif": "en0", "kind": "route"}, {"destination": "2600:1700:bab0:d40::1", "gateway": "fc:ae:34:a1:3a:80", "route_flags": "UHLWIi", "route_refs": 12, "use": 68412, "mtu": 1500, "netif": "en0", "kind": "route"}, {"destination": "2600:1700:bab0:d40::39", "gateway": "a4:83:e7:2d:62:8f", "route_flags": "UHL", "route_refs": 0, "use": 0, "mtu": 16384, "netif": "lo0", "kind": "route"}, {"destination": "2600:1700:bab0:d40:1874:4566:6499:f3d1", "gateway": "a4:83:e7:2d:62:8f", "route_flags": "UHL", "route_refs": 0, "use": 0, "mtu": 16384, "netif": "lo0", "kind": "route"}, {"destination": "2600:1700:bab0:d40:5894:f4c5:a982:26be", "gateway": "a4:83:e7:2d:62:8f", "route_flags": "UHL", "route_refs": 0, "use": 0, "mtu": 16384, "netif": "lo0", "kind": "route"}, {"destination": "2600:1700:bab0:d40:c9de:af8a:762c:422c", "gateway": "a4:83:e7:2d:62:8f", "route_flags": "UHL", "route_refs": 0, "use": 0, "mtu": 16384, "netif": "lo0", "kind": "route"}, {"destination": "2600:1700:bab0:d40:edd2:2cbf:f03a:d14f", "gateway": "a4:83:e7:2d:62:8f", "route_flags": "UHL", "route_refs": 0, "use": 0, "mtu": 16384, "netif": "lo0", "kind": "route"}, {"destination": "2600:1700:bab0:d40:f078:690e:f0ba:dfb", "gateway": "a4:83:e7:2d:62:8f", "route_flags": "UHL", "route_refs": 0, "use": 0, "mtu": 16384, "netif": "lo0", "kind": "route"}, {"destination": "fe80::%lo0/64", "gateway": "fe80::1%lo0", "route_flags": "UcI", "route_refs": 1, "use": 0, "mtu": 16384, "netif": "lo0", "kind": "route"}, {"destination": "fe80::1%lo0", "gateway": "link#1", "route_flags": "UHLI", "route_refs": 0, "use": 0, "mtu": 16384, "netif": "lo0", "kind": "route"}, {"destination": "fe80::%en5/64", "gateway": "link#8", "route_flags": "UCI", "route_refs": 2, "use": 0, "mtu": 1500, "netif": "en5", "kind": "route"}, {"destination": "fe80::aede:48ff:fe00:1122%en5", "gateway": "ac:de:48:0:11:22", "route_flags": "UHLI", "route_refs": 0, "use": 0, "mtu": 16384, "netif": "lo0", "kind": "route"}, {"destination": "fe80::aede:48ff:fe33:4455%en5", "gateway": "ac:de:48:33:44:55", "route_flags": "UHLWIi", "route_refs": 77, "use": 826, "mtu": 1500, "netif": "en5", "kind": "route"}, {"destination": "fe80::%en0/64", "gateway": "link#10", "route_flags": "UCI", "route_refs": 13, "use": 0, "mtu": 1500, "netif": "en0", "kind": "route"}, {"destination": "fe80::df:eea7:d8e0:237a%en0", "gateway": "14:60:cb:10:ec:17", "route_flags": "UHLWI", "route_refs": 0, "use": 293, "mtu": 1500, "netif": "en0", "kind": "route"}, {"destination": "fe80::472:ae33:7f74:8baf%en0", "gateway": "b4:18:d1:9d:bc:2d", "route_flags": "UHLWI", "route_refs": 0, "use": 2, "mtu": 1500, "netif": "en0", "kind": "route"}, {"destination": "fe80::c73:1ab9:79c2:c193%en0", "gateway": "4c:56:9d:5f:b7:4c", "route_flags": "UHLWI", "route_refs": 0, "use": 1597, "mtu": 1500, "netif": "en0", "kind": "route"}, {"destination": "fe80::ced:5f18:1d1e:2d6b%en0", "gateway": "14:60:cb:10:ec:17", "route_flags": "UHLWI", "route_refs": 0, "use": 14, "mtu": 1500, "netif": "en0", "kind": "route"}, {"destination": "fe80::cf9:ca6f:7d7a:50a2%en0", "gateway": "a4:83:e7:2d:62:8f", "route_flags": "UHLI", "route_refs": 0, "use": 0, "mtu": 16384, "netif": "lo0", "kind": "route"}, {"destination": "fe80::10f2:d51c:68e3:bfbb%en0", "gateway": "e0:33:8e:68:38:d6", "route_flags": "UHLWI", "route_refs": 0, "use": 656, "mtu": 1500, "netif": "en0", "kind": "route"}, {"destination": "fe80::1406:1bd5:a957:6df2%en0", "gateway": "50:32:37:d7:f5:9b", "route_flags": "UHLWI", "route_refs": 0, "use": 2100, "mtu": 1500, "netif": "en0", "kind": "route"}, {"destination": "fe80::1899:d8f6:dca5:207%en0", "gateway": "50:32:37:d7:f5:9b", "route_flags": "UHLWI", "route_refs": 0, "use": 4619, "mtu": 1500, "netif": "en0", "kind": "route"}, {"destination": "fe80::1c4d:12ea:5e57:24ad%en0", "gateway": "f0:18:98:3:d8:39", "route_flags": "UHLWIi", "route_refs": 1, "use": 8, "mtu": 1500, "netif": "en0", "kind": "route"}, {"destination": "fe80::1cff:a835:c99b:22c1%en0", "gateway": "d0:3:4b:3b:28:d5", "route_flags": "UHLWI", "route_refs": 0, "use": 477, "mtu": 1500, "netif": "en0", "kind": "route"}, {"destination": "fe80::4ad7:5ff:fef1:86e8%en0", "gateway": "48:d7:5:f1:86:e8", "route_flags": "UHLWI", "route_refs": 0, "use": 862, "mtu": 1500, "netif": "en0", "kind": "route"}, {"destination": "fe80::9eb6:54ff:fe5a:5a7c%en0", "gateway": "9c:b6:54:5a:5a:7c", "route_flags": "UHLWI", "route_refs": 0, "use": 322, "mtu": 1500, "netif": "en0", "kind": "route"}, {"destination": "fe80::feae:34ff:fea1:3a80%en0", "gateway": "fc:ae:34:a1:3a:80", "route_flags": "UHLWIir", "route_refs": 7, "use": 27100, "mtu": 1500, "netif": "en0", "kind": "route"}, {"destination": "fe80::%awdl0/64", "gateway": "link#12", "route_flags": "UCI", "route_refs": 1, "use": 0, "mtu": 1484, "netif": "awdl0", "kind": "route"}, {"destination": "fe80::b41f:b7ff:fe57:a54f%awdl0", "gateway": "b6:1f:b7:57:a5:4f", "route_flags": "UHLI", "route_refs": 1, "use": 0, "mtu": 16384, "netif": "lo0", "kind": "route"}, {"destination": "fe80::%utun0/64", "gateway": "fe80::30fe:52f1:103c:c66c%utun0", "route_flags": "UcI", "route_refs": 2, "use": 0, "mtu": 2000, "netif": "utun0", "kind": "route"}, {"destination": "fe80::30fe:52f1:103c:c66c%utun0", "gateway": "link#18", "route_flags": "UHLI", "route_refs": 1, "use": 0, "mtu": 16384, "netif": "lo0", "kind": "route"}, {"destination": "fe80::%utun1/64", "gateway": "fe80::aaf6:1785:571a:57a9%utun1", "route_flags": "UcI", "route_refs": 2, "use": 0, "mtu": 1380, "netif": "utun1", "kind": "route"}, {"destination": "fe80::aaf6:1785:571a:57a9%utun1", "gateway": "link#21", "route_flags": "UHLI", "route_refs": 0, "use": 0, "mtu": 16384, "netif": "lo0", "kind": "route"}, {"destination": "fe80::%utun2/64", "gateway": "fe80::ce02:efdc:708:5411%utun2", "route_flags": "UcI", "route_refs": 2, "use": 0, "mtu": 1380, "netif": "utun2", "kind": "route"}, {"destination": "fe80::ce02:efdc:708:5411%utun2", "gateway": "link#22", "route_flags": "UHLI", "route_refs": 0, "use": 0, "mtu": 16384, "netif": "lo0", "kind": "route"}, {"destination": "fe80::%utun3/64", "gateway": "fe80::1188:a032:c478:4b13%utun3", "route_flags": "UcI", "route_refs": 2, "use": 0, "mtu": 1380, "netif": "utun3", "kind": "route"}, {"destination": "fe80::1188:a032:c478:4b13%utun3", "gateway": "link#23", "route_flags": "UHLI", "route_refs": 0, "use": 0, "mtu": 16384, "netif": "lo0", "kind": "route"}, {"destination": "ff01::%lo0/32", "gateway": "::1", "route_flags": "UmCI", "route_refs": 0, "use": 0, "mtu": 16384, "netif": "lo0", "kind": "route"}, {"destination": "ff01::%en5/32", "gateway": "link#8", "route_flags": "UmCI", "route_refs": 0, "use": 0, "mtu": 1500, "netif": "en5", "kind": "route"}, {"destination": "ff01::%en0/32", "gateway": "link#10", "route_flags": "UmCI", "route_refs": 0, "use": 0, "mtu": 1500, "netif": "en0", "kind": "route"}, {"destination": "ff01::%awdl0/32", "gateway": "link#12", "route_flags": "UmCI", "route_refs": 0, "use": 0, "mtu": 1484, "netif": "awdl0", "kind": "route"}, {"destination": "ff01::%utun0/32", "gateway": "fe80::30fe:52f1:103c:c66c%utun0", "route_flags": "UmCI", "route_refs": 0, "use": 0, "mtu": 2000, "netif": "utun0", "kind": "route"}, {"destination": "ff01::%utun1/32", "gateway": "fe80::aaf6:1785:571a:57a9%utun1", "route_flags": "UmCI", "route_refs": 0, "use": 0, "mtu": 1380, "netif": "utun1", "kind": "route"}, {"destination": "ff01::%utun2/32", "gateway": "fe80::ce02:efdc:708:5411%utun2", "route_flags": "UmCI", "route_refs": 0, "use": 0, "mtu": 1380, "netif": "utun2", "kind": "route"}, {"destination": "ff01::%utun3/32", "gateway": "fe80::1188:a032:c478:4b13%utun3", "route_flags": "UmCI", "route_refs": 0, "use": 0, "mtu": 1380, "netif": "utun3", "kind": "route"}, {"destination": "ff02::%lo0/32", "gateway": "::1", "route_flags": "UmCI", "route_refs": 0, "use": 0, "mtu": 16384, "netif": "lo0", "kind": "route"}, {"destination": "ff02::%en5/32", "gateway": "link#8", "route_flags": "UmCI", "route_refs": 0, "use": 0, "mtu": 1500, "netif": "en5", "kind": "route"}, {"destination": "ff02::%en0/32", "gateway": "link#10", "route_flags": "UmCI", "route_refs": 0, "use": 0, "mtu": 1500, "netif": "en0", "kind": "route"}, {"destination": "ff02::%awdl0/32", "gateway": "link#12", "route_flags": "UmCI", "route_refs": 0, "use": 0, "mtu": 1484, "netif": "awdl0", "kind": "route"}, {"destination": "ff02::%utun0/32", "gateway": "fe80::30fe:52f1:103c:c66c%utun0", "route_flags": "UmCI", "route_refs": 0, "use": 0, "mtu": 2000, "netif": "utun0", "kind": "route"}, {"destination": "ff02::%utun1/32", "gateway": "fe80::aaf6:1785:571a:57a9%utun1", "route_flags": "UmCI", "route_refs": 0, "use": 0, "mtu": 1380, "netif": "utun1", "kind": "route"}, {"destination": "ff02::%utun2/32", "gateway": "fe80::ce02:efdc:708:5411%utun2", "route_flags": "UmCI", "route_refs": 0, "use": 0, "mtu": 1380, "netif": "utun2", "kind": "route"}, {"destination": "ff02::%utun3/32", "gateway": "fe80::1188:a032:c478:4b13%utun3", "route_flags": "UmCI", "route_refs": 0, "use": 0, "mtu": 1380, "netif": "utun3", "kind": "route"}] +[{"destination": "default", "gateway": "192.168.1.254", "route_flags": "UGSc", "route_refs": 83, "use": 24, "mtu": 1500, "iface": "en0", "kind": "route"}, {"destination": "127", "gateway": "127.0.0.1", "route_flags": "UCS", "route_refs": 0, "use": 0, "mtu": 16384, "iface": "lo0", "kind": "route"}, {"destination": "127.0.0.1", "gateway": "127.0.0.1", "route_flags": "UH", "route_refs": 18, "use": 1266231, "mtu": 16384, "iface": "lo0", "kind": "route"}, {"destination": "169.254", "gateway": "link#10", "route_flags": "UCS", "route_refs": 1, "use": 0, "mtu": 1500, "iface": "en0", "expire": "!", "kind": "route"}, {"destination": "192.168.1", "gateway": "link#10", "route_flags": "UCS", "route_refs": 12, "use": 0, "mtu": 1500, "iface": "en0", "expire": "!", "kind": "route"}, {"destination": "192.168.1.64", "gateway": "e0:33:8e:68:38:d6", "route_flags": "UHLWIi", "route_refs": 2, "use": 470, "mtu": 1500, "iface": "en0", "expire": "753", "kind": "route"}, {"destination": "192.168.1.72", "gateway": "f0:18:98:3:d8:39", "route_flags": "UHLWIi", "route_refs": 1, "use": 8878, "mtu": 1500, "iface": "en0", "expire": "1105", "kind": "route"}, {"destination": "192.168.1.75", "gateway": "4c:56:9d:5f:b7:4c", "route_flags": "UHLWIi", "route_refs": 1, "use": 600, "mtu": 1500, "iface": "en0", "expire": "673", "kind": "route"}, {"destination": "192.168.1.80", "gateway": "0:90:a9:ed:e4:35", "route_flags": "UHLWIi", "route_refs": 1, "use": 265604, "mtu": 1500, "iface": "en0", "expire": "931", "kind": "route"}, {"destination": "192.168.1.88", "gateway": "c8:d0:83:cd:e3:2d", "route_flags": "UHLWIi", "route_refs": 1, "use": 4310, "mtu": 1500, "iface": "en0", "expire": "278", "kind": "route"}, {"destination": "192.168.1.89", "gateway": "d0:3:4b:3b:28:d5", "route_flags": "UHLWIi", "route_refs": 1, "use": 4588, "mtu": 1500, "iface": "en0", "expire": "1132", "kind": "route"}, {"destination": "192.168.1.186", "gateway": "50:32:37:d7:f5:9b", "route_flags": "UHLWIi", "route_refs": 1, "use": 6123, "mtu": 1500, "iface": "en0", "expire": "1181", "kind": "route"}, {"destination": "192.168.1.216", "gateway": "3c:37:86:15:ad:f7", "route_flags": "UHLWI", "route_refs": 0, "use": 16, "mtu": 1500, "iface": "en0", "expire": "565", "kind": "route"}, {"destination": "192.168.1.221/32", "gateway": "link#10", "route_flags": "UCS", "route_refs": 1, "use": 0, "mtu": 1500, "iface": "en0", "expire": "!", "kind": "route"}, {"destination": "192.168.1.221", "gateway": "a4:83:e7:2d:62:8f", "route_flags": "UHLWI", "route_refs": 0, "use": 36, "mtu": 16384, "iface": "lo0", "kind": "route"}, {"destination": "192.168.1.242", "gateway": "50:14:79:12:42:3e", "route_flags": "UHLWI", "route_refs": 0, "use": 0, "mtu": 1500, "iface": "en0", "expire": "1182", "kind": "route"}, {"destination": "192.168.1.251", "gateway": "14:60:cb:10:ec:17", "route_flags": "UHLWI", "route_refs": 0, "use": 54, "mtu": 1500, "iface": "en0", "expire": "1157", "kind": "route"}, {"destination": "192.168.1.253", "gateway": "3c:37:86:15:dd:b3", "route_flags": "UHLWI", "route_refs": 0, "use": 3300, "mtu": 1500, "iface": "en0", "expire": "839", "kind": "route"}, {"destination": "192.168.1.254/32", "gateway": "link#10", "route_flags": "UCS", "route_refs": 1, "use": 0, "mtu": 1500, "iface": "en0", "expire": "!", "kind": "route"}, {"destination": "192.168.1.254", "gateway": "fc:ae:34:a1:3a:80", "route_flags": "UHLWIir", "route_refs": 29, "use": 69464, "mtu": 1500, "iface": "en0", "expire": "1200", "kind": "route"}, {"destination": "192.168.1.255", "gateway": "ff:ff:ff:ff:ff:ff", "route_flags": "UHLWbI", "route_refs": 0, "use": 4, "mtu": 1500, "iface": "en0", "expire": "!", "kind": "route"}, {"destination": "192.168.71", "gateway": "link#20", "route_flags": "UC", "route_refs": 3, "use": 0, "mtu": 1500, "iface": "vmnet8", "expire": "!", "kind": "route"}, {"destination": "192.168.71.160", "gateway": "link#20", "route_flags": "UHLWIi", "route_refs": 1, "use": 1708, "mtu": 1500, "iface": "vmnet8", "expire": "!", "kind": "route"}, {"destination": "192.168.71.255", "gateway": "ff:ff:ff:ff:ff:ff", "route_flags": "UHLWbI", "route_refs": 0, "use": 4, "mtu": 1500, "iface": "vmnet8", "expire": "!", "kind": "route"}, {"destination": "192.168.101", "gateway": "link#19", "route_flags": "UC", "route_refs": 2, "use": 0, "mtu": 1500, "iface": "vmnet1", "expire": "!", "kind": "route"}, {"destination": "192.168.101.255", "gateway": "ff:ff:ff:ff:ff:ff", "route_flags": "UHLWbI", "route_refs": 0, "use": 4, "mtu": 1500, "iface": "vmnet1", "expire": "!", "kind": "route"}, {"destination": "224.0.0/4", "gateway": "link#10", "route_flags": "UmCS", "route_refs": 2, "use": 0, "mtu": 1500, "iface": "en0", "expire": "!", "kind": "route"}, {"destination": "224.0.0.251", "gateway": "1:0:5e:0:0:fb", "route_flags": "UHmLWI", "route_refs": 0, "use": 312, "mtu": 1500, "iface": "en0", "kind": "route"}, {"destination": "239.255.255.250", "gateway": "1:0:5e:7f:ff:fa", "route_flags": "UHmLWI", "route_refs": 0, "use": 9918, "mtu": 1500, "iface": "en0", "kind": "route"}, {"destination": "255.255.255.255/32", "gateway": "link#10", "route_flags": "UCS", "route_refs": 0, "use": 0, "mtu": 1500, "iface": "en0", "expire": "!", "kind": "route"}, {"destination": "default", "gateway": "fe80::feae:34ff:fea1:3a80%en0", "route_flags": "UGc", "route_refs": 7, "use": 0, "mtu": 1500, "iface": "en0", "kind": "route"}, {"destination": "default", "gateway": "fe80::%utun0", "route_flags": "UGcI", "route_refs": 0, "use": 0, "mtu": 2000, "iface": "utun0", "kind": "route"}, {"destination": "default", "gateway": "fe80::%utun1", "route_flags": "UGcI", "route_refs": 0, "use": 0, "mtu": 1380, "iface": "utun1", "kind": "route"}, {"destination": "default", "gateway": "fe80::%utun2", "route_flags": "UGcI", "route_refs": 0, "use": 0, "mtu": 1380, "iface": "utun2", "kind": "route"}, {"destination": "default", "gateway": "fe80::%utun3", "route_flags": "UGcI", "route_refs": 0, "use": 0, "mtu": 1380, "iface": "utun3", "kind": "route"}, {"destination": "::1", "gateway": "::1", "route_flags": "UHL", "route_refs": 1, "use": 4513, "mtu": 16384, "iface": "lo0", "kind": "route"}, {"destination": "2600:1700:bab0:d40::/64", "gateway": "link#10", "route_flags": "UC", "route_refs": 2, "use": 0, "mtu": 1500, "iface": "en0", "kind": "route"}, {"destination": "2600:1700:bab0:d40::1", "gateway": "fc:ae:34:a1:3a:80", "route_flags": "UHLWIi", "route_refs": 12, "use": 68412, "mtu": 1500, "iface": "en0", "kind": "route"}, {"destination": "2600:1700:bab0:d40::39", "gateway": "a4:83:e7:2d:62:8f", "route_flags": "UHL", "route_refs": 0, "use": 0, "mtu": 16384, "iface": "lo0", "kind": "route"}, {"destination": "2600:1700:bab0:d40:1874:4566:6499:f3d1", "gateway": "a4:83:e7:2d:62:8f", "route_flags": "UHL", "route_refs": 0, "use": 0, "mtu": 16384, "iface": "lo0", "kind": "route"}, {"destination": "2600:1700:bab0:d40:5894:f4c5:a982:26be", "gateway": "a4:83:e7:2d:62:8f", "route_flags": "UHL", "route_refs": 0, "use": 0, "mtu": 16384, "iface": "lo0", "kind": "route"}, {"destination": "2600:1700:bab0:d40:c9de:af8a:762c:422c", "gateway": "a4:83:e7:2d:62:8f", "route_flags": "UHL", "route_refs": 0, "use": 0, "mtu": 16384, "iface": "lo0", "kind": "route"}, {"destination": "2600:1700:bab0:d40:edd2:2cbf:f03a:d14f", "gateway": "a4:83:e7:2d:62:8f", "route_flags": "UHL", "route_refs": 0, "use": 0, "mtu": 16384, "iface": "lo0", "kind": "route"}, {"destination": "2600:1700:bab0:d40:f078:690e:f0ba:dfb", "gateway": "a4:83:e7:2d:62:8f", "route_flags": "UHL", "route_refs": 0, "use": 0, "mtu": 16384, "iface": "lo0", "kind": "route"}, {"destination": "fe80::%lo0/64", "gateway": "fe80::1%lo0", "route_flags": "UcI", "route_refs": 1, "use": 0, "mtu": 16384, "iface": "lo0", "kind": "route"}, {"destination": "fe80::1%lo0", "gateway": "link#1", "route_flags": "UHLI", "route_refs": 0, "use": 0, "mtu": 16384, "iface": "lo0", "kind": "route"}, {"destination": "fe80::%en5/64", "gateway": "link#8", "route_flags": "UCI", "route_refs": 2, "use": 0, "mtu": 1500, "iface": "en5", "kind": "route"}, {"destination": "fe80::aede:48ff:fe00:1122%en5", "gateway": "ac:de:48:0:11:22", "route_flags": "UHLI", "route_refs": 0, "use": 0, "mtu": 16384, "iface": "lo0", "kind": "route"}, {"destination": "fe80::aede:48ff:fe33:4455%en5", "gateway": "ac:de:48:33:44:55", "route_flags": "UHLWIi", "route_refs": 77, "use": 826, "mtu": 1500, "iface": "en5", "kind": "route"}, {"destination": "fe80::%en0/64", "gateway": "link#10", "route_flags": "UCI", "route_refs": 13, "use": 0, "mtu": 1500, "iface": "en0", "kind": "route"}, {"destination": "fe80::df:eea7:d8e0:237a%en0", "gateway": "14:60:cb:10:ec:17", "route_flags": "UHLWI", "route_refs": 0, "use": 293, "mtu": 1500, "iface": "en0", "kind": "route"}, {"destination": "fe80::472:ae33:7f74:8baf%en0", "gateway": "b4:18:d1:9d:bc:2d", "route_flags": "UHLWI", "route_refs": 0, "use": 2, "mtu": 1500, "iface": "en0", "kind": "route"}, {"destination": "fe80::c73:1ab9:79c2:c193%en0", "gateway": "4c:56:9d:5f:b7:4c", "route_flags": "UHLWI", "route_refs": 0, "use": 1597, "mtu": 1500, "iface": "en0", "kind": "route"}, {"destination": "fe80::ced:5f18:1d1e:2d6b%en0", "gateway": "14:60:cb:10:ec:17", "route_flags": "UHLWI", "route_refs": 0, "use": 14, "mtu": 1500, "iface": "en0", "kind": "route"}, {"destination": "fe80::cf9:ca6f:7d7a:50a2%en0", "gateway": "a4:83:e7:2d:62:8f", "route_flags": "UHLI", "route_refs": 0, "use": 0, "mtu": 16384, "iface": "lo0", "kind": "route"}, {"destination": "fe80::10f2:d51c:68e3:bfbb%en0", "gateway": "e0:33:8e:68:38:d6", "route_flags": "UHLWI", "route_refs": 0, "use": 656, "mtu": 1500, "iface": "en0", "kind": "route"}, {"destination": "fe80::1406:1bd5:a957:6df2%en0", "gateway": "50:32:37:d7:f5:9b", "route_flags": "UHLWI", "route_refs": 0, "use": 2100, "mtu": 1500, "iface": "en0", "kind": "route"}, {"destination": "fe80::1899:d8f6:dca5:207%en0", "gateway": "50:32:37:d7:f5:9b", "route_flags": "UHLWI", "route_refs": 0, "use": 4619, "mtu": 1500, "iface": "en0", "kind": "route"}, {"destination": "fe80::1c4d:12ea:5e57:24ad%en0", "gateway": "f0:18:98:3:d8:39", "route_flags": "UHLWIi", "route_refs": 1, "use": 8, "mtu": 1500, "iface": "en0", "kind": "route"}, {"destination": "fe80::1cff:a835:c99b:22c1%en0", "gateway": "d0:3:4b:3b:28:d5", "route_flags": "UHLWI", "route_refs": 0, "use": 477, "mtu": 1500, "iface": "en0", "kind": "route"}, {"destination": "fe80::4ad7:5ff:fef1:86e8%en0", "gateway": "48:d7:5:f1:86:e8", "route_flags": "UHLWI", "route_refs": 0, "use": 862, "mtu": 1500, "iface": "en0", "kind": "route"}, {"destination": "fe80::9eb6:54ff:fe5a:5a7c%en0", "gateway": "9c:b6:54:5a:5a:7c", "route_flags": "UHLWI", "route_refs": 0, "use": 322, "mtu": 1500, "iface": "en0", "kind": "route"}, {"destination": "fe80::feae:34ff:fea1:3a80%en0", "gateway": "fc:ae:34:a1:3a:80", "route_flags": "UHLWIir", "route_refs": 7, "use": 27100, "mtu": 1500, "iface": "en0", "kind": "route"}, {"destination": "fe80::%awdl0/64", "gateway": "link#12", "route_flags": "UCI", "route_refs": 1, "use": 0, "mtu": 1484, "iface": "awdl0", "kind": "route"}, {"destination": "fe80::b41f:b7ff:fe57:a54f%awdl0", "gateway": "b6:1f:b7:57:a5:4f", "route_flags": "UHLI", "route_refs": 1, "use": 0, "mtu": 16384, "iface": "lo0", "kind": "route"}, {"destination": "fe80::%utun0/64", "gateway": "fe80::30fe:52f1:103c:c66c%utun0", "route_flags": "UcI", "route_refs": 2, "use": 0, "mtu": 2000, "iface": "utun0", "kind": "route"}, {"destination": "fe80::30fe:52f1:103c:c66c%utun0", "gateway": "link#18", "route_flags": "UHLI", "route_refs": 1, "use": 0, "mtu": 16384, "iface": "lo0", "kind": "route"}, {"destination": "fe80::%utun1/64", "gateway": "fe80::aaf6:1785:571a:57a9%utun1", "route_flags": "UcI", "route_refs": 2, "use": 0, "mtu": 1380, "iface": "utun1", "kind": "route"}, {"destination": "fe80::aaf6:1785:571a:57a9%utun1", "gateway": "link#21", "route_flags": "UHLI", "route_refs": 0, "use": 0, "mtu": 16384, "iface": "lo0", "kind": "route"}, {"destination": "fe80::%utun2/64", "gateway": "fe80::ce02:efdc:708:5411%utun2", "route_flags": "UcI", "route_refs": 2, "use": 0, "mtu": 1380, "iface": "utun2", "kind": "route"}, {"destination": "fe80::ce02:efdc:708:5411%utun2", "gateway": "link#22", "route_flags": "UHLI", "route_refs": 0, "use": 0, "mtu": 16384, "iface": "lo0", "kind": "route"}, {"destination": "fe80::%utun3/64", "gateway": "fe80::1188:a032:c478:4b13%utun3", "route_flags": "UcI", "route_refs": 2, "use": 0, "mtu": 1380, "iface": "utun3", "kind": "route"}, {"destination": "fe80::1188:a032:c478:4b13%utun3", "gateway": "link#23", "route_flags": "UHLI", "route_refs": 0, "use": 0, "mtu": 16384, "iface": "lo0", "kind": "route"}, {"destination": "ff01::%lo0/32", "gateway": "::1", "route_flags": "UmCI", "route_refs": 0, "use": 0, "mtu": 16384, "iface": "lo0", "kind": "route"}, {"destination": "ff01::%en5/32", "gateway": "link#8", "route_flags": "UmCI", "route_refs": 0, "use": 0, "mtu": 1500, "iface": "en5", "kind": "route"}, {"destination": "ff01::%en0/32", "gateway": "link#10", "route_flags": "UmCI", "route_refs": 0, "use": 0, "mtu": 1500, "iface": "en0", "kind": "route"}, {"destination": "ff01::%awdl0/32", "gateway": "link#12", "route_flags": "UmCI", "route_refs": 0, "use": 0, "mtu": 1484, "iface": "awdl0", "kind": "route"}, {"destination": "ff01::%utun0/32", "gateway": "fe80::30fe:52f1:103c:c66c%utun0", "route_flags": "UmCI", "route_refs": 0, "use": 0, "mtu": 2000, "iface": "utun0", "kind": "route"}, {"destination": "ff01::%utun1/32", "gateway": "fe80::aaf6:1785:571a:57a9%utun1", "route_flags": "UmCI", "route_refs": 0, "use": 0, "mtu": 1380, "iface": "utun1", "kind": "route"}, {"destination": "ff01::%utun2/32", "gateway": "fe80::ce02:efdc:708:5411%utun2", "route_flags": "UmCI", "route_refs": 0, "use": 0, "mtu": 1380, "iface": "utun2", "kind": "route"}, {"destination": "ff01::%utun3/32", "gateway": "fe80::1188:a032:c478:4b13%utun3", "route_flags": "UmCI", "route_refs": 0, "use": 0, "mtu": 1380, "iface": "utun3", "kind": "route"}, {"destination": "ff02::%lo0/32", "gateway": "::1", "route_flags": "UmCI", "route_refs": 0, "use": 0, "mtu": 16384, "iface": "lo0", "kind": "route"}, {"destination": "ff02::%en5/32", "gateway": "link#8", "route_flags": "UmCI", "route_refs": 0, "use": 0, "mtu": 1500, "iface": "en5", "kind": "route"}, {"destination": "ff02::%en0/32", "gateway": "link#10", "route_flags": "UmCI", "route_refs": 0, "use": 0, "mtu": 1500, "iface": "en0", "kind": "route"}, {"destination": "ff02::%awdl0/32", "gateway": "link#12", "route_flags": "UmCI", "route_refs": 0, "use": 0, "mtu": 1484, "iface": "awdl0", "kind": "route"}, {"destination": "ff02::%utun0/32", "gateway": "fe80::30fe:52f1:103c:c66c%utun0", "route_flags": "UmCI", "route_refs": 0, "use": 0, "mtu": 2000, "iface": "utun0", "kind": "route"}, {"destination": "ff02::%utun1/32", "gateway": "fe80::aaf6:1785:571a:57a9%utun1", "route_flags": "UmCI", "route_refs": 0, "use": 0, "mtu": 1380, "iface": "utun1", "kind": "route"}, {"destination": "ff02::%utun2/32", "gateway": "fe80::ce02:efdc:708:5411%utun2", "route_flags": "UmCI", "route_refs": 0, "use": 0, "mtu": 1380, "iface": "utun2", "kind": "route"}, {"destination": "ff02::%utun3/32", "gateway": "fe80::1188:a032:c478:4b13%utun3", "route_flags": "UmCI", "route_refs": 0, "use": 0, "mtu": 1380, "iface": "utun3", "kind": "route"}]