Exemplo n.º 1
0
def filter_ip():
    s_in = sm.get_and_bind_socket(5006)
    s_in.listen(1)
    conn, address = s_in.accept()

    s_out = sm.get_socket()
    s_out.connect((sm.TCP_IP, 5007))

    while 1:
        try:
            pkt = conn.recv(sm.BUFFER_SIZE)

            if not pkt:
                pc.chart_ip_route()
                pc.chart_ip_aux()
                conn.close()
                s_out.close()
                break
            eth = dpkt.ethernet.Ethernet(pkt)
            ip = eth.data
            pc.data_ip_route(print_packets.ip_to_str(ip.src), print_packets.ip_to_str(ip.dst))
            pc.data_ip_aux(str(ip.len), str(ip.ttl))
            s_out.send(pkt)
        except AttributeError:
            pass
Exemplo n.º 2
0
def load_and_filter_tcp():
    f = open('simple.pcap', 'rb')
    p = dpkt.pcap.Reader(f)
    s = sm.get_socket()
    s.connect(sm.TCP_TUPLE)

    for ts, pkt in p:
        try:
            eth = dpkt.ethernet.Ethernet(pkt)
            ip = eth.data
            tcp = ip.data
            if tcp.sport == 80 and len(tcp.data) > 0:
                s.send(pkt)
        except AttributeError:
            pass

    s.close()
    f.close()
Exemplo n.º 3
0
def filter_eth():
    s_in = sm.get_and_bind_socket()
    s_in.listen(1)
    conn, address = s_in.accept()

    s_out = sm.get_socket()
    s_out.connect((sm.TCP_IP, 5006))

    while 1:

        pkt = conn.recv(sm.BUFFER_SIZE)
        if not pkt:
            pc.chart_eth_route()
            pc.chart_eth_type()
            conn.close()
            s_out.close()
            break
        eth = dpkt.ethernet.Ethernet(pkt)
        pc.data_eth_route(print_packets.mac_addr(eth.src), print_packets.mac_addr(eth.dst))
        pc.data_eth_type(str(eth.type))
        s_out.send(pkt)