我应该在 Windows 防火墙中允许哪个进程才能实现本地网络访问(例如 \\MyRouter\USBDevice\)

我应该在 Windows 防火墙中允许哪个进程才能实现本地网络访问(例如 \\MyRouter\USBDevice\)

哪个 .exe 进程负责 Windows 资源管理器访问本地网络,例如当您进入资源管理器时,以及当您的浏览器时\\Livebox\movies

我需要在防火墙级别将此 .exe 列入白名单(请参阅下面的上下文),但我首先需要知道它是哪一个 .exe。

笔记:

  • netsh advfirewall firewall add rule name="local-network-explorer" dir=out action=allow program="C:\Windows\explorer.exe"不工作

上下文:我默认禁止所有入站/出站连接在 Windows 防火墙中,当我(很少)安装想要访问互联网的新程序时,我只需在命令行中执行以下操作:

netsh advfirewall firewall add rule name="Chrome" dir=out action=allow
                  program="C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"

如所述如何阻止除防火墙白名单中的应用程序之外的所有内容(所有传入和传出的互联网访问)?

我知道这有点极端,但它的优点是,任何我未主动列入白名单的程序都无法向外发送数据。我已经为 Chrome、Firefox、SFTP 程序、一些其他程序以及核心 DNS 和 DHCP 做过这件事:

netsh advfirewall firewall add rule name="Core Networking (DNS-Out)" dir=out action=allow protocol=UDP remoteport=53 program="c:\windows\system32\svchost.exe" service="dnscache"
netsh advfirewall firewall add rule name="Core Networking (DHCP-Out)" dir=out action=allow protocol=UDP localport=68 remoteport=67 program="c:\windows\system32\svchost.exe" service="dhcp"

到目前为止,它一直是成功的。

答案1

哪个 .exe 进程负责 Windows 资源管理器访问本地网络,例如当您进入资源管理器时,以及当您的浏览器时\\Livebox\movies

没有任何。

Windows 资源管理器不会明确建立网络连接 - 它依赖于所有程序都可用的 UNC 路径支持。也就是说,只要任何进程作为文件访问\\foo\bar,请求将通过操作系统维护的共享连接透明地发送。

尽管“LanmanWorkstation”服务以某种方式参与了 SMB 连接,但最终它们归内核驱动程序所有,并且没有关联的用户空间进程。(各种工具可能会显示它们属于 PID 4,又称“系统”,即 Windows 内核。)

Windows 防火墙已自带内置规则“文件和打印机共享 (SMB-Out)”它已为此目的进行了设置(wf.msc GUI 显示“系统”作为配置的程序路径)。


请注意,在建立连接之前,Livebox需要将主机名解析为 IP 地址。如果您依赖 DNS 或 LLMNR,则两者都由“Dnscache”服务处理。但是,NetBIOS 名称解析也由内核 SMB 驱动程序通过 LanmanWorkstation 处理。

相关内容