PowerShell 技能连载 - 更好的 NetStat(第 4 部分)
在上一个技巧中,我们介绍了 Get-NetTCPConnection
cmdlet,它是 Windows 系统上 netstat.exe 网络实用程序的更好替代方案,但是此命令仅限于 Windows,并且需要大量其他代码才能将原始信息转化为有用的信息。解析的主机名和进程名。
netstat.exe 的最兼容替代方案是基于 .NET Core 的解决方案,无论 PowerShell 在哪里运行,它都可以跨平台使用。
只需自己获取开源的 GetNetStat
模块 (https://github.com/TobiasPSP/GetNetStat),它使用 .NET Core 代码来获取连接信息:
1 | PS> Install-Module -Name GetNetStat -Scope CurrentUser |
安装模块后,将有一个名为 Get-NetStat
的新命令。现在,列出打开的连接非常简单,现在您可以在 Windows PowerShell 和 PowerShell 7 中通过并行处理来解析主机名和进程名。
这个简单的命令列出了到 HTTPS(端口 443)的所有打开的连接,并解析主机名:
1 | PS> Get-NetStat -RemotePort 443 -State Established -Resolve | Select-Object -Property RemoteIp, Pid, PidName |
PowerShell 技能连载 - 更好的 NetStat(第 4 部分)