将 PCAP 转换为 Python 中的 MAC 个地址

Convert PCAP to MAC addresses in Python

我正在尝试读取一个 Pcap 文件,然后我得到了 Ip 和 Ip 之间的关系,我想将这些关系转换为 MAC 关系,但我不确定我是怎么做到的去做。

trafico= rdpcap('example-01.pcap')

unique_streams =[]
for frame in trafico:
    packet = frame[IP]
    src = packet.src
    dst = packet.dst
    layer4_segment = packet.payload.name
    sport = packet[layer4_segment].sport
    dport = packet[layer4_segment].dport
    unique_streams.append(f"{src}:{dst}:{layer4_segment}:{sport}:{dport}")
    tre= set(unique_streams)
    for k in tre:
        print(k)

我有这些代码来显示 Ip 的来源和目的地以及端口

谢谢

I don't know how to transform these relations in MAC relations...

要从数据包中获取 MAC,您需要查看 'Ether' 层而不是“IP”层:

e = frame[Ether]
print(e.src,e.dst)

e.src 是 IP packet.src 等的 MAC