运行 使用 docker 和 boot2docker 的 tcpreplay
running tcpreplay with docker and boot2docker
我正在研究 netflow 记录器,我想设置一些自动化性能测试。我想获取我的测试 pcap 并从 docker 映像 运行ning 在 boot2docker 下将其重播到我的程序中。这个网络方面让我很困惑。
我可以从 boot2docker 下的 docker 映像 运行ning 中访问我的桌面(托管 boot2docker 虚拟机的机器)(scp/ssh/netcat 一切似乎都按预期工作)。但是,当我从 docker 图像中在我的 pcap 上 运行 tcpreplay 时,我从未在我的桌面上看到流量。
我尝试过的:
- 将 pcap 中的 srcip 重写为 docker 主机的 srcip
- 通过 netcat 传输的 tcpdump(netflow 是 UDP,所以我不太关心连接设置)流量成功,但我的程序出现一些异常并死掉。这并不让我吃惊,但它确实表明我可以从 docker 虚拟机中获取流量并进入我的程序。
- 我可以从普通的 debian 虚拟机中成功地 tcpreplay pcap 到我的程序
关于我需要做什么才能让 tcpreplay 将我的 pcap 发送到我的桌面有什么想法吗?
尝试将目标 MAC 地址更改为默认 VM 运行 docker0 的地址。这对我有用。
我正在研究 netflow 记录器,我想设置一些自动化性能测试。我想获取我的测试 pcap 并从 docker 映像 运行ning 在 boot2docker 下将其重播到我的程序中。这个网络方面让我很困惑。
我可以从 boot2docker 下的 docker 映像 运行ning 中访问我的桌面(托管 boot2docker 虚拟机的机器)(scp/ssh/netcat 一切似乎都按预期工作)。但是,当我从 docker 图像中在我的 pcap 上 运行 tcpreplay 时,我从未在我的桌面上看到流量。
我尝试过的:
- 将 pcap 中的 srcip 重写为 docker 主机的 srcip
- 通过 netcat 传输的 tcpdump(netflow 是 UDP,所以我不太关心连接设置)流量成功,但我的程序出现一些异常并死掉。这并不让我吃惊,但它确实表明我可以从 docker 虚拟机中获取流量并进入我的程序。
- 我可以从普通的 debian 虚拟机中成功地 tcpreplay pcap 到我的程序
关于我需要做什么才能让 tcpreplay 将我的 pcap 发送到我的桌面有什么想法吗?
尝试将目标 MAC 地址更改为默认 VM 运行 docker0 的地址。这对我有用。