首页 文章

如何使用tcpreplay重放PGM协议的网络流量?

提问于
浏览
0

我想将网络流量多播到特定的多播目标IP地址 . 在输入pcap文件中,PGM协议包可用 .

我正在执行以下tcpreplay步骤,以通过网络多播pcap文件 -

  • 重写pcap文件中可用的目标和源mac地址

tcprewrite --enet-dmac =目标Mac地址--enet-smac =源Mac地址--infile = input.pcap --outfile = output.pcap

  • 获取缓存文件,该文件在重写IP地址时使用 .

tcpprep --auto = bridge --pcap = output.pcap --cachefile = input.cache

  • 重写IP地址

tcprewrite --endpoints =目的地多播IP地址:源接口IP地址--cachefile = input.cache --infile = output.pcap --outfile = newoutput.pcap

  • 最后多播newoutput.pcap .

sudo tcpreplay --mbps = 2.0 --intf1 = eth0 newoutput.pcap

但在第1步中我面临以下错误 -

tcprewrite.c中的警告:post_args()第225行:使用9216字节的snaplen捕获testsg.pcap . 这可能意味着您已截断数据包 .

在另一边我试图使用以下命令捕获 -

tcpdump -n“dst host目标组播IP地址和dst端口目标端口号”

但即使是一个数据包也不会被另一方捕获 .

以前我发送UDP协议捕获pcap文件,那时我正确地获取所有数据包 .

现在我无法理解PGM数据包的问题是什么,以及为什么这些数据包不会被捕获到另一端 . 如何使用目标多播IP地址成功重播网络上的这些网络流量?

1 回答

  • 0

    第一个“错误”实际上是一个警告 . 我们已经看到很多pcap文件的snaplen为9216,数据包被截断 . 您可能想要在Wireshark中加载文件并确保它没问题 .

    您是否在步骤#2中验证了自动桥接模式正在做正确的事情?使用tcpprep -S进行检查 .

    “另一侧”是通过交换机还是VM直接连接?

    “另一侧”的服务器的MAC地址是否已经正确?如果没有,那可能就是问题所在 .

相关问题