流量预处理-2:过滤

流量预处理-2:过滤

  • 炼丹的时候,经常需要过滤无关流量
  • 论文的通常做法是将dns、icmp、arp、tcp握手报文删除
  • 以下是给出我的代码,用wirshark前后对比pcap有效
from scapy.all import *
from scapy.layers.dns import DNS
from scapy.layers.inet import ICMP, TCP
from scapy.layers.l2 import ARP

def remove_pcap_errors(file_path,new_path):
    """过滤的pcap与新的pcap不冲突"""
    packets = rdpcap(file_path)
    dns_cnt = 0
    icmp_cnt = 0
    arp_cnt = 0
    tcp_flags = 0
    new_packets = []
    for packet in packets:
        if packet.haslayer(DNS):
            dns_cnt+=1
        elif packet.haslayer(ICMP):
            icmp_cnt += 1
        elif packet.haslayer(TCP) and (packet[TCP].flags.value==0x12 or packet[TCP].flags.value==0x02 or packet[TCP].flags.value==0x11):
            tcp_flags+=1
        elif packet.haslayer(ARP):
            arp_cnt += 1
        else:
            new_packets.append(packet)
    wrpcap(new_path, new_packets)
    print("dns:{}个".format(dns_cnt))
    print("icmp:{}个".format(icmp_cnt))
    print("tcp握手:{}个".format(tcp_flags))
    print("arp包:{}个".format(arp_cnt))
  • 处理前:
    -在这里插入图片描述
  • 处理后:
    -在这里插入图片描述
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值