首页 > 解决方案 > pcap 文件从本地 ip 重播到公共 ip

问题描述

我正在使用 scapy 从本地机器到公共重播 pcap 文件中的数据包。pcap 文件包含具有多种协议的不同数据包,例如 llmnr、dhcp、http、udp、tcp、nbns 等。公共 ip 是我在 Azure 上的 VM(虚拟机)。当我将数据包发送到公共 ip 时,我只收到几个数据包。他们中的大多数都丢失了,我也得到了格式错误的流量,而不是那里的原始数据包。scapy有什么方法可以使用我可以在那里接收所有数据包。

蟒蛇脚本:

pca = rdpcap("Eg.pcap")
for pkt in pca:
    if TCP in pkt:
        npkt = (IP(dst="Public IP")/TCP()/Raw(pkt.payload))
        del(npkt.len)
        del(npkt.chksum)
    elif UDP in pkt:
        npkt = (IP(dst="Public IP")/UDP()/Raw(pkt.payload))
        del(npkt.len)
        del(npkt.chksum)
    send(npkt)

原始 Pcap 文件

标签: pythonscapy

解决方案


推荐阅读