【问题标题】:Convert PCAP to MAC addresses in Python在 Python 中将 PCAP 转换为 MAC 地址
【发布时间】:2020-07-15 23:27:27
【问题描述】:

我正在尝试读取 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 的源和目标以及端口

谢谢

【问题讨论】:

  • 我不清楚你在问什么。标题要求 MAC,而问题主体要求 “Ip 或 Ip 之间的关系” - 这总共是三个不同的东西。
  • 抱歉解释的不是很清楚,我有ip的关系,还有源端口和目的端口的关系,但是我不知道如何在MAC关系中转换这些关系...

标签: scapy pcap


【解决方案1】:

我不知道如何在MAC关系中转换这些关系...

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

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

e.src 是 IP packet.src 等的 MAC。

【讨论】:

  • 我将您的代码添加到我的行中并且它有效。我以同样的方式放入“for”语句但没有“print”命令。 e = frame[Ether] (e.src,e.dst)。之后:unique_streams.append(f"{src}:{dst}:{layer4_segment}:{sport}:{dport}:{e.src}:{e.dst}")。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-09
  • 2012-01-30
  • 1970-01-01
  • 2012-09-14
  • 1970-01-01
  • 2017-10-07
  • 1970-01-01
相关资源
最近更新 更多