首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >码头如何将docker0接口ip地址转换为主机ip地址

码头如何将docker0接口ip地址转换为主机ip地址
EN

Server Fault用户
提问于 2020-12-18 17:52:18
回答 1查看 664关注 0票数 1

我正在尝试创建一个实验室环境来实验MiTM攻击。我也想学码头,所以我决定和码头人一起学习。我创建了两个图像(攻击者,受害者):

基于阿尔卑斯的受害者,并安装了卷曲

攻击者-基于Ubuntu,已安装了iputils-ping iproute2 curl iptables vim ettercap-只限于文本的dsniff和tshark。

它们都在桥接网络中,所以这里的路由器将是docker0接口(缺省值: 172.17.0.1)

我正在运行带有-特权标志的攻击者容器,以启用ettercap。

因此,当两个映像运行时,我都在执行ettercap(也尝试使用arpspoof工具,效果也一样)。来自攻击者容器,具有:

ettercap -T -i eth0 -M arp:remote //victim_ip/ //172.17.0.1/

受害者的流量通过了攻击者,但是当受害者试图ping google.com时没有响应。MiTM攻击是有效的,因为我可以看到受害者容器上的流量,但是有东西阻止了它。

我发现了这里的问题所在。我在我的主机上打开了两个连接,一个在docker0接口上,一个在我默认的wifi接口上。在攻击之前,当我从全局网络中点击某个东西时,码头管理员正在将他的停靠ip地址转换到我的主机ip地址,这很好,但是在arp欺诈罪之后,它不能正常工作--主机正在发送带有码头受害者容器的ip源的数据包(172.17.0.3)。另外,奇怪的是,另一个容器(攻击者)在没有问题的情况下连接外部网络(docker0将坞ip转换为正确的ip主机)。下面是两位线人的照片。

选中的iptables和此规则(在下面的图片中选择)正在将我的停靠ip地址转换为宿主ip地址,但在攻击后,此规则不起作用(在arp欺骗攻击之后,pkts不会增加)。我试图添加一些额外的iptable规则,但没有任何效果。我不是iptables的主人,所以如果有人有其他的想法,什么也应该检查,给我提示。

也许有人可以向我解释,或者给我一些额外的资料,说明码头如何将它的ip地址转换成桥接网络上的ip地址,以及在arp欺骗攻击之后,我能做些什么来恢复正确的翻译。每一条建议都会受到感谢。

EN

回答 1

Server Fault用户

发布于 2020-12-22 05:22:57

  • 安装Docker后,将创建一个名为docker0的网络接口来连接每个容器。
  • 当Docker创建容器时,默认情况下它将被赋予一个虚拟网络接口,其名称以veth开头。然后,Docker通过iptables规则将主机网络接口的流量转发给虚拟网络接口。
  • 如果使用命令docker run --network=host ...创建容器,则容器将使用主机的网络接口。此时,容器的IP地址与主机相同。
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1046789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档