【发布时间】:2017-04-14 08:19:52
【问题描述】:
我想将网络流量多播到特定的多播目标 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 行中的警告: testsg.pcap 是使用 9216 字节的 snaplen 捕获的。这可能意味着您截断了数据包。
另一方面,我正在尝试使用以下命令进行捕获 -
tcpdump -n "dst host 目标多播IP地址和dst端口 目的端口号”
但即使是一个数据包也不会在另一侧被捕获。
以前我发送 UDP 协议捕获 pcap 文件,当时我正确获取了所有数据包。
现在我无法理解与 PGM 数据包相关的问题是什么,以及为什么这些数据包没有在另一端被捕获。如何使用目标多播 IP 地址在网络上成功重播这些网络流量?
【问题讨论】:
标签: networking udp tcpreplay pgm-protocol