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 zcmeI4O>7)V6@Yu}oSMODQue+_McGc>g#d^n6He0*f)sA8ar-VpE_>7_mf{-AeIQjINNCf)n zwMb70IVJ?O|7J@5j}RMsRge?%@1>aZ*RlVRU!Va2AOHk_01yBIKmZ5;0U+>kA#jk7 z#nZW5s0HF_CSiyuaxG>C8a#~%3?_woL6Q>ly0kUC<{yF(v8xJ zvb?fzYi{MPagnzaW^!~7-9G135M6GH@7O>9F}gEm8G@C#lc8B^=+@+sc!Em*9eO8!mW~Wt#o~E zZLzG(udS?2%~#oMBk5cJ8;?ml#06PMrWiv$f&p=7=G7s=HtCIxH1O zXh~+-WLGoX3Ry*}pGsLPp z+rGD1CD^Yw-=VPivawe%I}DQt4Xy8m6#1M<{ZWwrF261RRDM%#$;sbGH- z84llH86$d?^)VepW1Ggn1GQF0sfDE@jEiIjHaR*$`^gbenC@AaCc>5(G=CvU3^M&r zCbDb-g8ob5wN8SVcED~jeynfbIvXPZruiv#z4-$<7ZrtE9&5-bBG*DXZ+K25 zU30$9p)=P9cIStQE|68;?)(tdVwa59a*#m|yx&Yj6sG!GGE3fYgj~62QhyTUZ^=9I zKjhy^JCY`SAbm%crC-XL^ls{(^3SAY`Hpmo7(oL9KmZ5;0U!VbfB+Bx0zd!=0D)(S zKvvA>BYgeG%V#DqzXqN+yv zCHE2a{}{9AmFP#+|D%dHtwsW6chG!fT%67ff^hYJQW4eZURQiX{hv7Aw{IPv5cAUk zfPsO;GGZf00e*l5C8%|00;m9AOHlOH3E;$4aJ3nRQl_xxv6X3MzOl#S=t6Jt`}?T z)vE2)*7eQxs^=O-%ih3->FAr9hBa)|tYXosZo2xWXRdGBoBMUNS^w$<{lX>XHGFSY zxnNL9r;ec6xe%YIy6=HlvHT%C)n zb8(Gc+&2!?2u)7rVE$>7!~Q7&;SV7_3?&;ao1C8<_ud=y{r^zvEkRx*U(kR65C8%| z00;m9AOHk_01yBIK;W4p@F){!<$vU9OH8Q$KlJ*4=s+dOA?1JaX_NEO*Z=hWKiTvT z8V~>iKmZ5;0U!VbfB+Bx0zd!=00AKIF(yFk|I5+83GzGg59EjPJz1BZliroSC*6=< zOud(SJN1*)!_=!OCpA3wo3Z_|)v@&Gd!xS_{n6-y(a(?ON8TU#;mFrU=0~1Sevo`8 z`Qzj_k~fm^#IFE5{n+cV*J77r+30^s zU}!)92mk>f@KF%RUXGHTVFZ3T7%yjE4p(0aSG(bACtPiZtF3T#Fl2-xRO)XkfRw^ui4p`LLJY2 zDk?0fh4xOp>0!j2VszhY(67$xO>Y;~THC?3p4dhfwtE3AJFA99&}O2-%j$Towd;|6 zsg8F|myD9NmZohiOh<*gYN0!TLcLZnY|C*RRNq0JFMExB&vgs6y>W1-9Wah4JI;mfqEL}SBLVlj*(3=kqZr1P^h}lTQN%alj3Cqk$)ua z58W^>O-6-JPhGsdywvuZZ4Yg=I%L#;;zuI9LWjvh}mTh~kTG>B-M=V_kDS)R?X zJoOg;76~uQ$k6Qiy`CVurj9H}&z=i~td1X>Q?m1!%@2C&h0vT5bIT}Z)1l!Cp9sw< z+a-<9>Dd$Hv^coQNp9`j^C3Ak3{-UWo6kK(PRS*&o7@F>^~~VjeWIM&$kj}4vZqg$ zT^s2R&YlXzt;)w|*F`pYc=g)_iF!)&cPTHME-E_NRA{u^7*(I`-DrnzSd1L|(&$MN zYV}7)h1^I;LUsB)Hg6`MCZQ(TNstS9HF2_plKEPEKCi@SLZA3yTy*GOd;O=9osEUU zR-?zJmi&z{E$*+vlt?`t`!FWvn&D=LL&Ft@sQTE4F}ZOa4xND_G|%ZLc^G4|1EKzZ Du(%xj literal 0 HcmV?d00001