ZEE*_*ZEE 7 windows linux dns windows-subsystem-for-linux
启动 WSL Kali 实例后,我可以从 Windows 控制台通过 IP\n对其进行 ping 操作,如下所示:
\nping 172.31.37.123\nRun Code Online (Sandbox Code Playgroud)\n但是...我怎样才能通过名字 ping 通呢?
\n我已经更改了 中的 WSL 主机名/etc/hostname,\n但我仍然可以\xc2\xb4t 从 Windows 控制台 ping 这个名称:
ping kali1\nping kali1.local\nping kali1.localdomain\nRun Code Online (Sandbox Code Playgroud)\n这些都不起作用。有任何想法吗?
\n如果您确实想通过名称从 Windows ping WSL2 虚拟网络接口的地址,则需要将其添加到Windows主机文件,而不是 Linux 主机文件。
可以在 找到C:\Windows\System32\drivers\etc\hosts。您需要以管理员身份对其进行编辑。
然而,有几个问题需要注意(无论如何,比 ping WSL2 接口更好的事情要做)。
首先,WSL2 地址每次重新启动时都会发生变化(无论是重新启动还是wsl --shutdown)。因此,您需要编写对 Windows 主机文件的编辑脚本,以便在每次启动 Kali 时更新它,或者手动更新它。这是一种痛苦(而且不需要)。
其次,请注意,您安装的每个 WSL2 发行版都共享相同的虚拟 NIC,因此当您执行此操作时,您实际上是在寻址任何/所有已安装的发行版。这可能(或可能不会)达到您期望的结果。
正如我上面提到的,确实没有理由使用pingWSL2。您想要访问其中的任何服务都可以通过 Windows 主机访问localhostForwarding。例如。在 Kali 中(假设您安装了 Python),运行:
python3 -m http.server
Run Code Online (Sandbox Code Playgroud)
在 Windows 浏览器中,您只需打开localhost:8000.
这是有效的,因为默认情况下,WSL2 会将任何localhost端口转发到 WSL2(假设该端口尚未在 Windows 中绑定)。
因此,大多数服务(ping例外,因为它不使用 TCP 端口,即 ICMP)都可以通过localhost无论如何访问。
您还可以在 PowerShell 中使用某种“服务/端口 ping”来验证这一点,以检查 Python3 简单服务器:
Test-NetConnection -ComputerName 127.0.0.1 -Port 8000
Run Code Online (Sandbox Code Playgroud)
请注意,这不适用于网络上的其他设备(例如您的手机)。如果您需要解决方案,我可以在超级用户上为您指出其他答案。
| 归档时间: |
|
| 查看次数: |
10263 次 |
| 最近记录: |