[英]Ethernet header removal using scapy (python)
我正在尝试使用 pcap 文件。 对于预处理阶段,我正在尝试使用 scapy 删除以太网标头,但不确定这是否是正确的方法。 任何想法都将不胜感激。 谢谢
我正在使用 Jupyter notebook,我使用 python 和 scapy 来读取 pcap 文件。
Packet summary:
'Ether / IP / UDP 131.XXX:XXX:XXX:netbios_ns > 131.XXX:XXX:XXX:netbios_ns / NBNSQueryRequest'
Tried:
pk1= ['Ether / IP / UDP 131.XXX:XXX:XXX:netbios_ns > 131.XXX:XXX:XXX:netbios_ns / NBNSQueryRequest']
pkt2=pk1['NBNSQueryRequest']
pk1[Ether].remove_payload()
pk1 /=pkt2
如果我正确理解您的问题,您可以通过执行以下操作来访问有效负载:
pk1[1]
pk1.payload
假设您有一个包含以下层的 Packet 对象:
pkt = Ether()/IP()/ICMP()
数据包看起来像这样:
print(repr(pkt))
# <Ether type=IPv4 |<IP frag=0 proto=icmp |<ICMP |>>>
pkt
实际上是一个以太网数据包,所有其他层都封装为有效负载,因此您可以使用:
pkt = pkt.payload
# Or
pkt = pkt[Ether].payload
你最终会得到:
print(repr(pkt))
# <IP frag=0 proto=icmp |<ICMP |>>
您可以在 Wireshark 中打开捕获文件,go 到文件菜单,然后“导出 PDU”并指定要导出的过滤器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.