使用 docker 和 boot2docker 运行 tcpreplay

问题描述 投票:0回答:2

我正在开发一个网络流记录器,我想设置一些自动化性能测试。我想进行测试 pcap 并将其从在 boot2docker 下运行的 docker 映像中重播到我的程序。这方面的网络方面让我很困惑。

我可以从 boot2docker 下运行的 docker 镜像访问我的桌面(托管 boot2docker 虚拟机的机器)(scp/ssh/netcat 似乎都按预期工作)。但是,当我从 docker 映像中在 pcap 上运行 tcpreplay 时,我从未在桌面上看到流量。

我尝试过的:

  • 将pcap中的srcip重写为docker主机的srcip
  • tcpdump 通过 netcat 进行管道传输(netflow 是 UDP,所以我并不真正关心连接设置)流量成功了,但我的程序出现了一些异常并终止了。这并不让我感到惊讶,但它确实表明我可以将流量从 docker 虚拟机中取出并进入我的程序。
  • 我可以从普通的 debian 虚拟机中成功地将 pcap tcpreplay 到我的程序

关于我需要做什么才能让 tcpreplay 将我的 pcap 发送到我的桌面,有什么想法吗?

docker boot2docker tcpreplay
2个回答
1
投票

尝试将目标 MAC 地址更改为 docker0 的 MAC 地址,这是默认运行的虚拟机。这对我有用。


0
投票

我也被这个困扰了。看来主机无法查看来自docker的tcpreplay udp数据包。你找到解决办法了吗?

© www.soinside.com 2019 - 2024. All rights reserved.