From 5ae26df1a162f99c5572d81510b9c530e56e851d Mon Sep 17 00:00:00 2001 From: kalzu rekku Date: Sun, 2 Jun 2024 19:16:26 +0300 Subject: [PATCH] last time, late modifications... --- test.py | 25 +++++++++++-------------- traceroute.db | Bin 0 -> 28672 bytes 2 files changed, 11 insertions(+), 14 deletions(-) create mode 100644 traceroute.db diff --git a/test.py b/test.py index 8772466..494625b 100644 --- a/test.py +++ b/test.py @@ -7,10 +7,11 @@ from sys import hash_info import pprint def run_traceroute(host): + timestamp = datetime.now().timestamp() result = subprocess.run(['traceroute', host], stdout=subprocess.PIPE) - return result.stdout.decode() + return result.stdout.decode(), timestamp -def parse_traceroute_output(output): +def parse_traceroute_output(output, timestamp): lines = output.strip().split('\n') hops = [] @@ -20,7 +21,7 @@ def parse_traceroute_output(output): target = output.strip().split('\n')[0].split()[2] for line in lines[1:]: - hop = [] + hop = {} hop_info = line.split() hop_number = int(hop_info[0]) hop_name = None @@ -43,17 +44,14 @@ def parse_traceroute_output(output): # If first colum is either name or ip-address if count == 1: - print(part) match = re.search(ip_regex, part) if match: hop_ip = part.strip('()') else: - print('do ever here?') hop_name = part # Second colum is ip-address first latency reading if count == 2: - print(part) if re.search(ip_regex, part): try: _ip = ipaddress.ip_address(part.strip('()')) @@ -65,7 +63,6 @@ def parse_traceroute_output(output): # reruns of the hop_name and hop_ip... # We only need the latency floats anymore. else: - print(part) try: latency = float(part) latencies.append(latency) @@ -74,12 +71,12 @@ def parse_traceroute_output(output): hop_latency = sum(latencies) / len(latencies) if latencies else None - - hop.append(hop_number) + hop['timestamp'] = timestamp + hop['hop_number'] = hop_number if not hop_name == None: - hop.append(hop_name) - hop.append(hop_ip) - hop.append(hop_latency) + hop['hop_name'] = hop_name + hop['hop_ip'] = hop_ip + hop['hop_latency'] = hop_latency hops.append(hop) @@ -89,8 +86,8 @@ def parse_traceroute_output(output): if __name__ == '__main__': target='8.8.8.8' - traceroute_output = run_traceroute(target) + traceroute_output, timestamp = run_traceroute(target) - target, hops = parse_traceroute_output(traceroute_output) + target, hops = parse_traceroute_output(traceroute_output, timestamp) print('>> '+target) pprint.pprint(hops) diff --git a/traceroute.db b/traceroute.db new file mode 100644 index 0000000000000000000000000000000000000000..0788841182e56d9f034ed159aa68ba8fffb2d54f GIT binary patch literal 28672 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 literal 0 HcmV?d00001