From 985d7d28edecb1203dff2675f0d445557f265c30 Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Fri, 19 Aug 2022 21:36:15 -0700 Subject: [PATCH] add -n support (ipv4) --- jc/parsers/traceroute.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/jc/parsers/traceroute.py b/jc/parsers/traceroute.py index 93772012..924d95ca 100644 --- a/jc/parsers/traceroute.py +++ b/jc/parsers/traceroute.py @@ -122,7 +122,7 @@ import jc.utils class info(): """Provides parser metadata (version, author, etc.)""" - version = '1.5' + version = '1.6' description = '`traceroute` and `traceroute6` command parser' author = 'Kelly Brazil' author_email = 'kellyjonbrazil@gmail.com' @@ -164,6 +164,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_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+)\]') @@ -274,8 +275,12 @@ def _loads(data): probe_asn = None 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) - if probe_name_ip_match: + if probe_ip_only_match: + probe_name = None + probe_ip = probe_ip_only_match.group(1) + elif probe_name_ip_match: probe_name = probe_name_ip_match.group(1) probe_ip = probe_name_ip_match.group(2) elif probe_bsd_ipv6_match: