当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 新的 netstat:使用 Get-NetTCPConnection

作者:精品下载站 日期:2024-12-14 07:21:47 浏览:15 分类:玩电脑

新的 netstat:使用 Get-NetTCPConnection


出于某种原因,我不喜欢 netstat。从不做。幸运的是,PowerShell 提供了与 netstat 类似的命令:Get-NetTCPConnection。让我们以这篇博文的形式来了解该命令的选项。

获取 NetTCPConnection

在不使用任何参数的情况下运行,它可以让您概览所有 TCP 连接。它将向您显示所有状态的 TCP 连接(关闭、等待、侦听、已建立……)

Get-NetTCPConnection

[玩转系统] 新的 netstat:使用 Get-NetTCPConnection

仅限 IPv4

要仅显示 IPv4 连接,只需提供您的本地 IPv4 地址。在本地端口上排序可能很有用:

Get-NetTCPConnection -LocalAddress 192.168.0.100 | Sort-Object LocalPort

[玩转系统] 新的 netstat:使用 Get-NetTCPConnection

仅限 IPv6

如果您幸运并且您的 ISP 为您提供了 IPv6 地址,则输入您的 IPv6 全球单播地址。

Get-NetTCPConnection -LocalAddress 2a02:8388:b01:3700:215:5dff:fe6f:a00 | Sort-Object LocalPort

[玩转系统] 新的 netstat:使用 Get-NetTCPConnection

仅显示已建立的连接

我想最重要的参数是状态。要在用户友好的视图(格式表)中仅显示已建立的连接,请运行

Get-NetTCPConnection -State Established | Format-Table -AutoSize

[玩转系统] 新的 netstat:使用 Get-NetTCPConnection

好吧,我们在第一步中已经看到了 Get-NetTCPConnection 可以为我们做什么。在我们继续本文的更高级部分之前,让我们将输出与 netstat 进行比较。

[玩转系统] 新的 netstat:使用 Get-NetTCPConnection

[玩转系统] 新的 netstat:使用 Get-NetTCPConnection

正如我所提到的:PowerShell cmdlet 是我的最爱。

高级用户的 Get-NetTCPConnection

解析 IP 地址

你知道a-d.site的IP吗?为什么不? ? 如果您不知道我网站的 IP,您将如何检查您是否已连接到它?好吧,肯定有联系,因为你正在阅读我的文章。好吧,如果您知道主机名,请运行 Resolve-DnsName 来获取 IP 地址!

Get-NetTCPConnection -RemoteAddress (Resolve-DnsName a-d.site).IPAddress -ErrorAction SilentlyContinue | Format-List

[玩转系统] 新的 netstat:使用 Get-NetTCPConnection

或者仅获取远程地址。

[玩转系统] 新的 netstat:使用 Get-NetTCPConnection

为此,使用 Erroraction 参数来避免难看的红色错误消息非常有用。 Resolve-DNSName 将为您提供我网站的 2 个 IPv4 地址。但您只连接到其中之一。因此,您没有连接到导致红线的另一台。

看下面的例子。 Microsoft 拥有多个公共 IPv4 地址。我只与其中之一有联系。如果您使用 Erroraction 静默继续运行此命令,您将不再看到红线。

[玩转系统] 新的 netstat:使用 Get-NetTCPConnection

获取远程主机上的 TCP 连接

如果您想找出远程主机上已建立的 TCP 连接,只需使用 Invoke-Command 即可。请注意,我登录的是 dc01。 Server02 是远程主机。两台计算机共享同一个域。

Invoke-Command -ComputerName server02 {Get-NetTCPConnection -State Established}

[玩转系统] 新的 netstat:使用 Get-NetTCPConnection

获取所有服务器的 TCP 连接

要从域中的所有服务器(所有 OU!)检索所有已建立的连接并将它们全部保存到文件中,请运行

(Get-ADComputer -Filter 'operatingsystem -like "*server*"').Name | Foreach-Object {Invoke-Command -ComputerName $_ {Get-NetTCPConnection -State Established -ErrorAction SilentlyContinue} | Sort-Object PSComputerName | Select-Object PSComputername, LocalPort, RemotePort, RemoteAddress} | Out-File C:\Temp\TCPConn.txt

[玩转系统] 新的 netstat:使用 Get-NetTCPConnection

[玩转系统] 新的 netstat:使用 Get-NetTCPConnection

今天就这样。希望你喜欢它!

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯