Beispiel #1
0
def filter(data):
    flag =True;
    uri =data['uri']
    base_uri = "^/.*$"
    if not filter_base_uri(base_uri, uri): 
        flag=False;
        copy_log.log_error("not match base uri %s" % uri)
    if not filter_uri(uri):
        flag=False;
        copy_log.log_error("not match uri %s" % uri)    
    return flag;
Beispiel #2
0
def capture(nc, port=65533):
    try:
        local_ip = get_local_ip(nc)
        # eth1
        pc = pcap.pcap(name="%s" % nc)
        # tcp port 80
        pc.setfilter('udp port %d' % port)
        for p_time, p_data in pc:
            main_pcap(p_time, p_data, local_ip, port)
    except Exception, e:
        error_str = "Copy network %s:port %s:exception: %s" % (nc, port, e)
        copy_log.log_error(error_str)
        sys.exit(1)
        pass
Beispiel #3
0
def main_pcap(p_time, p_data, local_ip, port):
    p = dpkt.ethernet.Ethernet(p_data)
    if p.type == dpkt.ethernet.ETH_TYPE_IP:
        ip_data = p.data
        src_ip = '%d.%d.%d.%d' % tuple(map(ord, list(ip_data.src)))
        if ip_data.p == dpkt.ip.IP_PROTO_UDP:
            udp_data = p.data.data
            if (cmp(src_ip, local_ip) != 0):
                if udp_data.data:
                    try:
                        copy_log.log_info("send copy data: %s" % udp_data.data)
                        copy_udp.send_groupcast_UDP(udp_data.data, port,
                                                    local_ip)
                    except Exception, e:
                        error_str = "Capture src_ip %s:local_ip %s:exception: %s" % (
                            src_ip, local_ip, e)
                        copy_log.log_error(error_str)
                        pass