コード例 #1
0
    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
コード例 #2
0
ファイル: agent.py プロジェクト: jianghengle/traceroute-map
 def start(self):
     try:
         self.parseTarget()
         traceroute = Traceroute(self.target, self)
         Agent.traceroutes.append(traceroute)
         self.dispatch()
     except:
         self.close()
コード例 #3
0
ファイル: georoute.py プロジェクト: ashenm/georoute
    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 = ''
コード例 #4
0
 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')
コード例 #5
0
ファイル: tcmd.py プロジェクト: asdil12/pytracert
#!/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])
コード例 #6
0
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()))
コード例 #7
0
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)