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