From 23ad50159538a57963e5d2942778e22e3abc1ac1 Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Sat, 20 Aug 2022 09:48:38 -0700 Subject: [PATCH] add -n support for ipv6 --- jc/parsers/traceroute.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/jc/parsers/traceroute.py b/jc/parsers/traceroute.py index 924d95ca..e34cf10d 100644 --- a/jc/parsers/traceroute.py +++ b/jc/parsers/traceroute.py @@ -165,6 +165,7 @@ SOFTWARE. RE_HEADER = re.compile(r'(\S+)\s+\((\d+\.\d+\.\d+\.\d+|[0-9a-fA-F:]+)\)') RE_PROBE_NAME_IP = re.compile(r'(\S+)\s+\((\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|[0-9a-fA-F:]+)\)+') RE_PROBE_IP_ONLY = re.compile(r'(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s+([^\(])') +RE_PROBE_IPV6_ONLY = re.compile(r'(([a-f0-9:]+:+)+[a-f0-9]+)') RE_PROBE_BSD_IPV6 = re.compile(r'\b(?:[A-Fa-f0-9]{1,4}:){7}[A-Fa-f0-9]{1,4}\b') RE_HOP = re.compile(r'^\s*(\d+)?\s+(.+)$') RE_PROBE_ASN = re.compile(r'\[AS(\d+)\]') @@ -277,6 +278,7 @@ def _loads(data): probe_name_ip_match = RE_PROBE_NAME_IP.search(hop_string) probe_ip_only_match = RE_PROBE_IP_ONLY.search(hop_string) probe_bsd_ipv6_match = RE_PROBE_BSD_IPV6.search(hop_string) + probe_ipv6_only_match = RE_PROBE_IPV6_ONLY.search(hop_string) if probe_ip_only_match: probe_name = None probe_ip = probe_ip_only_match.group(1) @@ -286,6 +288,9 @@ def _loads(data): elif probe_bsd_ipv6_match: probe_name = None probe_ip = probe_bsd_ipv6_match.group(0) + elif probe_ipv6_only_match: + probe_name = None + probe_ip = probe_ipv6_only_match.group(1) else: probe_name = None probe_ip = None