DOCKER:Windows 10 上的 Linux Container,如何使用 nmap 扫描设备的 mac 地址

2024-01-14

我正在尝试设置 docker,它可以使用 nmap 成功扫描子网设备的 mac 地址。我花了三天的时间来弄清楚如何做到这一点,但仍然失败。

例如:

  • 主机IP:10.19.201.123
  • 设备IP:10.19.201.101

我已经设置了 docker 容器,它可以成功 ping 10.19.201.123 和 10.19.201.101 。但是当我使用 nmap 从 docker 容器扫描 mac 地址时,我得到以下结果:

~$sudo nmap -sP 10.19.201.101
 Starting Nmap 7.01 ( https://nmap.org ) at 2018-05-29 08:57 UTC
 Nmap scan report for 10.19.201.101
 Host is up (0.00088s latency).
 Nmap done: 1 IP address (1 host up) scanned in 0.39 seconds

但是,如果我使用 nmap 从虚拟机 (10.19.201.100) 扫描 mac 地址,我得到:

~$sudo nmap -sP 10.19.201.101
 Starting Nmap 7.01 ( https://nmap.org ) at 2018-05-29 17:16 CST
 Nmap scan report for 10.19.201.101
 Host is up (0.00020s latency).
 MAC Address: 0F:01:H5:W3:0G:J5(ICP Electronics)
 Nmap done: 1 IP address (1 host up) scanned in 0.32 seconds

请问谁可以提供帮助或提示如何操作?


对于那些仍在为这个问题苦苦挣扎的人,我已经弄清楚了如何在 Windows 10 上做到这一点。 解决方案是让容器与本地主机运行在同一个局域网中,这样nmap就可以成功扫描局域网设备。以下是让 docker 容器在主机 LAN 上运行的方法。

Windows 10 家庭版

更改虚拟框设置

  1. 首先由管理员停止虚拟机docker-machine stop default
  2. 打开虚拟盒子
  3. 选择默认虚拟机并单击设置
  4. 转到网络页面,并在适配器 3 上启用新的网络适配器 (请勿更换适配器 1 和 2)
  5. 将适配器 3 连接到具有物理网络的桥接适配器,然后单击“确定”
  6. 由管理员启动虚拟机docker-machine start default
  7. 打开 Docker Quickstart Terminal 来运行容器,新容器现在应该在局域网上运行了。

Windows 10 专业版/企业版

使用物理网络适配器创建 vSwitch

  1. 打开 Hyper-V 管理器
  2. 操作列表->打开虚拟交换机管理器
  3. 创建新的虚拟交换机 -> 选择类型:外部
  4. 将物理网络适配器分配给 vSwitch
  5. 选中“允许管理操作系统共享此网络适配器”并应用更改
  6. 转至控制面板\所有控制面板项目\网络连接。
  7. 检查您刚刚创建的 vEthernet,并确保 IPV4 设置正确。 (有时dhcp设置会为空,需要在这里再次重置)
  8. 返回Hyper-V管理器,进入MobyLinuxVM的设置页面(确保其已关闭,如果没有关闭,请退出Docker)
  9. 添加硬件 > 网络适配器,选择您刚刚创建的 vSwitch 并应用更改

修改Docker源码

  1. 找到MobyLinux创建文件:MobyLinux.ps1 (通常它位于:X:\Program Files\Docker\Docker\resources)
  2. 编辑文件,找到函数:function New-MobyLinuxVM
  3. 在函数中找到以下行:$vmNetAdapter = $vm | Hyper-V\Get-VMNetworkAdapter
  4. 将其更新为:$vmNetAdapter = $vm | Hyper-V\Get-VMNetworkAdapter | Select-Object -First 1
  5. 由管理员保存文件
  6. 重新启动 Docker,容器现在应该在 LAN 上运行了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DOCKER:Windows 10 上的 Linux Container,如何使用 nmap 扫描设备的 mac 地址 的相关文章

随机推荐