Пример #1
0
def sendPacket(icmp, udp, ttl, dest_name):
    port = 33434
    recv_socket = socket.socket(socket.AF_INET, socket.SOCK_RAW, icmp)
    send_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, udp)
    send_socket.setsockopt(socket.SOL_IP, socket.IP_TTL, ttl)
    send_socket.settimeout(3.0)
    recv_socket.settimeout(4.0)
    recv_socket.bind(("", port))
    start_time = time.time()
    send_socket.sendto("", (dest_name, port))
    curr_addr = None
    curr_name = None
    try:
        _, curr_addr = recv_socket.recvfrom(512)
        latency = (time.time() - start_time) * 1000
        curr_addr = curr_addr[0]
        try:
            curr_name = socket.gethostbyaddr(curr_addr)[0]
        except socket.error:
            curr_name = curr_addr
    except socket.error:
        print "%d\t%s\t%s" % (ttl, '*', '*')
        return "unavaible"
    finally:
        send_socket.close()
        recv_socket.close()

    if curr_addr is not None:
        curr_host = "%s (%s)" % (curr_name, curr_addr)
    else:
        curr_host = "*"
    print "{:d}\t{:f}ms\t{:70s}".format(ttl, latency, curr_host),
    print "%s" % (geoip.geoip(curr_addr))
    return curr_addr
Пример #2
0
def menu_online(menu_option):
    hostname = input('Host: ')
    while True:
        clear()
        banner()

        print('''
        [1] whois
        [2] geoip
        [3] portscan
        [4] change host
        [5] back
        [6] exit\n''')
        print('[X]: {}'.format(hostname).ljust(80, ' '))
        print('Development version in: {} '.format(VERSION).rjust(80, ' '))
        print('-'.rjust(80, '-'))

        menu_option = input('Choose: ')

        if menu_option == '1':
            whois.whois(hostname)
            back = input('\nPress <enter> to return')

        elif menu_option == '2':
            geoip.geoip(hostname)
            back = input('\nPress <enter> to return')

        elif menu_option == '3':
            portscan.portscan(hostname)
            back = input('\nPress <enter> to return')

        elif menu_option == '4':
            hostname = input('Host: ')

        elif menu_option == '5':
            print('\nReturning...')
            sleep(0.9)
            menu_splash(menu_option)

        elif menu_option == '6':
            exit()

        else:
            print('Invalid option.')
            sleep(0.9)
Пример #3
0
#! /usr/bin/python3.1

# Try to detect a spamming bot from an apache log...
import sys
import apparser
import os.path
import io
import geoip

p = apparser.apparser()
g = geoip.geoip('geoip.sqlite')
files = {}
if not len(sys.argv) == 2:
    sys.stderr.write('Syntax: %s <apache logfile>' % sys.argv[0])
    exit()
if not os.path.exists(sys.argv[1]):
    sys.stderr.write('file %s does not exist' % sys.argv[1])
    exit()
fd = io.open(sys.argv[1])
i = 0
import collections
posts = collections.defaultdict(dict)
uris = collections.defaultdict(dict)
while True:
    i += 1
    line = fd.readline()
    if line == '': # EOF
        break
    line = line.rstrip('\n')
    if p.feed(line) == False:
#        sys.stderr.write('PARSE ERROR (%d): %s\n' % (i, line))