从Docker容器获取网络上其他主机的MAC地址

时间:2016-07-01 04:02:18

标签: networking docker containers nmap

我想在容器中运行一个程序,该容器从我本地网络上的其他主机获取MAC地址。我喜欢在容器中运行的程序被绑定到物理接口被视为本地程序,而不是在远程主机上运行的程序。

我有一台位于本地网络上的主机。我可以使用从该物理主机运行的nmap或arp-scan等工具从我的网络上的其他主机获取MAC地址。我希望在将容器安装到同一主机上的接口时会出现类似的行为。

从我可以运行的物理主机,结果包括MAC地址。如果我使用来自远程主机的nmap执行相同的命令,我将无法获取MAC地址,因为它无法通过-sn扫描从远程主机提取MAC地址。

为什么我的容器被视为远程主机,它在本地网络上?

sudo nmap -sn 192.x.x.x/24 

我已尝试以下列方式安装我的容器

docker run -P -it scanner_container
docker run -P --privileged -it scanner_container
docker run -p 192.x.x.ip-of-interface scanner_container

我已经从上面的每个

中运行了以下内容
nmap -sn --privileged 192.x.x.x/24
sudo nmap -sn 192.x.x.x/24 

我也试过arp和arp-scan

我没有依赖任何工具,我只是想从我在本地网络上的主机上运行的程序中获取本地网络主机上的MAC地址的某种方式网络。

如果nmap是正确使用的工具,那么很好,否则我很乐意使用其他任何东西。我花了几天时间尝试不同的东西,似乎无法将容器绑定到界面,以便将其视为实际的主机。

1 个答案:

答案 0 :(得分:0)

我能够使用以下命令来使用它。我不确定为什么,但这只适用于Linux机器,不能使用dockerformac

docker run -it --net=host scanner_container