scapy介绍

Scapy 是一个 Python 程序,它使用户能够发送、嗅探、剖析和伪造网络数据包。此功能允许构建可以探测、扫描或攻击网络的工具.其次能够伪造或解码大量协议的数据包. Scapy 可以轻松处理大多数经典任务,例如扫描、跟踪、探测、单元测试、攻击或网络发现。可以进行跟踪路由并因此仅给出请求的开始 TTL 和答案的源 IP 的方法。可以 ping 整个网络并给出应答的机器列表。可以执行端口扫描并返回 LaTeX 报告。

解析pcap包

from scapy.all import rdpcap,sniff

pcap_path = "../datasets/datacon_eta/black/192.168.0.15.pcap"
pcapkts = rdpcap(pcap_path)
print(pcapkts.summary())
for data in pcapkts:
    print(data.mysummary)
    try:
        data['IP']  # 抛掉不是IP协议的数据包
        data.show()
        print("data.payload: ",data.payload.mysummary)
        print('data.payload.payload: ',data.payload.payload.mysummary)
        print("data.payload.payload.payload: ",data.payload.payload.payload.mysummary)

    except:
        continue