netstat -nab一行显示或不换行
Admin
本站
点击:100 次
我们在查看本机网络连接情况的时候可能会使用netstat -nab,但是输出是这样的,会很不方便。
协议 本地地址 外部地址 状态
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
RpcSs
[svchost.exe]
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
无法获取所有权信息
TCP 0.0.0.0:902 0.0.0.0:0 LISTENING
[vmware-authd.exe]
TCP 0.0.0.0:912 0.0.0.0:0 LISTENING
[vmware-authd.exe]
TCP 0.0.0.0:2202 0.0.0.0:0 LISTENING
TermService
[svchost.exe]
TCP 0.0.0.0:3071 0.0.0.0:0 LISTENING
[javaw.exe]
TCP 0.0.0.0:5985 0.0.0.0:0 LISTENING
无法获取所有权信息
TCP 0.0.0.0:9021 0.0.0.0:0 LISTENING
[FileZilla Server.exe]
TCP 0.0.0.0:9921 0.0.0.0:0 LISTENING
[FileZilla Server.exe]
TCP 0.0.0.0:47001 0.0.0.0:0 LISTENING
无法获取所有权信息
TCP 0.0.0.0:49258 0.0.0.0:0 LISTENING
[javaw.exe]
TCP 0.0.0.0:49259 0.0.0.0:0 LISTENING
-- More --
如果能一行显示就方便多了,在网上查了很久,终于找到方法了
$nets = netstat -nabo|select-string 'TCP|UDP'; foreach ($n in $nets) { $p = $n -replace ' +',' '; $nar = $p.Split(' '); $pname = $(Get-Process -id $nar[-1]).ProcessName; $n -replace "$($nar[-1])","$($ppath) $($pname)"; }
将此代码保存为nn.ps1,然后打开powershell,运行下
PS C:\tools> .\nn.ps1 | more
TCP 0.0.0.0: System System5 0.0.0.0:0 LISTENING System
TCP 0.0.0.0:902 0.0.0.0:0 LISTENING vmware-authd
TCP 0.0.0.0:912 0.0.0.0:0 LISTENING vmware-authd
TCP 0.0.0.0:2202 0.0.0.0:0 LISTENING svchost
TCP 0.0.0.0:3071 0.0.0.0:0 LISTENING javaw
TCP 0.0.0.0:5985 0.0.0.0:0 LISTENING System
TCP 0.0.0.0:9021 0.0.0.0:0 LISTENING FileZilla Server
TCP 0.0.0.0:9921 0.0.0.0:0 LISTENING FileZilla Server
TCP 0.0.0.0: System7001 0.0.0.0:0 LISTENING System
TCP 0.0.0.0:49258 0.0.0.0:0 LISTENING javaw
TCP 0.0.0.0:49259 0.0.0.0:0 LISTENING java
TCP 0.0.0.0:49260 0.0.0.0:0 LISTENING java
TCP 0.0.0.0:49664 0.0.0.0:0 LISTENING wininit
TCP 0.0.0.0:49665 0.0.0.0:0 LISTENING svchost
TCP 0.0.0.0:49666 0.0.0.0:0 LISTENING svchost
TCP 0.0.0.0:49668 0.0.0.0:0 LISTENING svchost
TCP 0.0.0.0:49669 0.0.0.0:0 LISTENING spoolsv
TCP 0.0.0.0:49678 0.0.0.0:0 LISTENING lsass
TCP 0.0.0.0:49679 0.0.0.0:0 LISTENING services
这样看起来是不是就舒服多了。

如果powershell,不能运行脚本,请用下面命令设置下
.\nn.ps1 : 无法加载文件 C:\tools\nn.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ .\nn.ps1
+ ~~~~~~~~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
以管理员身份打开PowerShell 输入 set-executionpolicy remotesigned
参考文档
https://superuser.com/questions/1215093/powershell-one-liner-to-show-process-on-same-line-as-port-using-netstat-issue