如何通过CLI列出Windows上所有WireGuard连接(含未使用的隧道)
如何通过CLI列出Windows上所有WireGuard连接(含未使用的隧道)
我太懂你这种烦恼了——WireGuard自带的wg.exe show确实只认当前处于连接状态的隧道,没激活的在CLI里直接隐身,但GUI里却能清清楚楚看到所有配置。下面给你几个实用的方法,帮你在命令行里找出所有隧道,包括那些闲置不用的:
方法1:直接查看WireGuard配置文件
Windows上WireGuard GUI创建的隧道配置,默认都存在用户目录的%APPDATA%\WireGuard路径下。你可以用这条命令快速列出所有配置文件:
dir "%APPDATA%\WireGuard" /B
每个.conf文件就对应一个你在GUI里看到的隧道,文件名一般就是你给隧道起的名字,一眼就能数清所有已配置的隧道。
方法2:通过系统网络接口列表排查
WireGuard的每个隧道在Windows系统里都会对应一个独立的网络接口,哪怕没连接也会存在(只是状态显示“已断开”)。用netsh命令就能列出所有接口:
netsh interface show interface
在输出结果里找名称带“WireGuard”的条目,这些就是所有已配置的隧道,不管当前有没有连接。
方法3:用PowerShell精准筛选
要是觉得netsh的输出太杂乱,用PowerShell可以直接过滤出WireGuard相关的接口,信息还更详细:
Get-NetAdapter | Where-Object {$_.Name -like "*WireGuard*"}
执行后会直接列出所有WireGuard适配器,包括未激活的,还能看到接口状态、MAC地址等额外细节。
另外提一句:如果要清理闲置隧道,除了在GUI里删除,也可以直接删掉对应.conf文件,之后重启WireGuard服务或者电脑,就能彻底清理干净了。
你提到的显示差异:
- GUI界面:能看到所有已配置的WireGuard隧道(包含已连接和未连接的)
- CLI执行
wg.exe show:因为当前没有处于连接状态的隧道,所以没有任何输出内容
备注:内容来源于stack exchange,提问作者RKillcrazy
相关产品推荐
相关产品推荐

