我想将网络流量多播到特定的多播目标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地址成功重播网络上的这些网络流量?
答案 0 :(得分:0)
第一个“错误”实际上是一个警告。我们已经看到很多pcap文件的snaplen为9216,数据包被截断。你可能想在Wireshark中加载文件并确保它没问题。
您是否在步骤#2中验证了自动桥接模式正在做正确的事情?使用tcpprep -S进行检查。
“另一面”是通过交换机还是VM直接连接?
“另一边”的服务器的MAC地址是否已经正确?如果没有,那可能就是问题。