我想将网络流量多播到特定的多播目标 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 port 目标端口号"
但即使是一个数据包也不会在另一侧被捕获。
以前我正在发送 UDP 协议捕获 pcap 文件,当时我正在正确获取所有数据包。
现在我无法理解与 PGM 数据包相关的问题是什么,以及为什么这些数据包没有在另一端被捕获。如何使用目标多播 IP 地址在网络上成功重播这些网络流量?