def traceroute(self, host, hops=8): """traceroute -m <hops> <host>""" from traceroute import Traceroute result = dict() # Инициализация класса try: traceroute = Traceroute(host = host, hops = hops) traceroute.hops = hops or 8 (retcode, out) = traceroute.traceroute_host() cmd_result = out.split("\n") if retcode == 0: tracerouted = True else: tracerouted = False out = list() for s in cmd_result: out.append((s, )) result['status'] = True result['result'] = tracerouted result['data'] = out except Exception as e: result['status'] = False result['data'] = (('error:', e.message), ) return result return result
def start(self): try: self.parseTarget() traceroute = Traceroute(self.target, self) Agent.traceroutes.append(traceroute) self.dispatch() except: self.close()
def __init__(self, hostname): self.engine = Map() self.destination = gethostbyname(hostname) self.tracer = Traceroute(self.destination, self.engine) self.engine.markers.FILL = 'OrangeRed3' self.engine.markers.LFILL = 'OrangeRed4' self.tracer.CALLBACK = self.engine.clean self.tracer.SEPERATOR = ''
def _trace_thread(target, cb): self.tr_button.set_label('Stop') self.tb.set_text('') try: print "thread run" t = Traceroute() t.set_callback(cb) self.osm.gps_clear() t.run(target) print "thread exit" finally: self.tr_button.set_label('Trace')
#!/usr/bin/python2 from traceroute import Traceroute import georesolve import sys def print_callback(ttl, payload): if payload: curr_host = "%(hostname)s (%(ip)s)" % payload print "%d\t%s" % (ttl, curr_host) print "\t", print georesolve.lookup(**payload) else: print "%d\t*" % ttl if __name__ == "__main__": t = Traceroute(timeout=1) t.set_callback(print_callback) t.run(target=sys.argv[1])
import argparse import socket from traceroute import Traceroute from icmp import IcmpPack if __name__ == '__main__': arg_parser = argparse.ArgumentParser() arg_parser.add_argument('host', type=str) args = arg_parser.parse_args() # try: traceroute = Traceroute(args.host) trace_result = traceroute.make_trace() for count, el in enumerate(trace_result, start=1): print(f'{count}. {el}') # except socket.gaierror: # print(f'{args.host} is invalid') # pack = IcmpPack(8, 0) # print(len(pack.pack_icmp()))
from utilities import get_args, create_directories from rrd import create, update from traceroute import Traceroute import pathlib import argparse as ap parser = ap.ArgumentParser() parser.add_argument('target') args = parser.parse_args() directory = '/var/www/html/django' # TODO: Remove hardcoded location. target = args.target args = get_args(directory, target) rrd_dir, graph_dir = create_directories(args, target) tr = Traceroute(target, rrd_dir, graph_dir) exists = pathlib.Path(tr.rrd).exists() exists or create(tr, args) update(tr)