目标:在windows下查看当前机器某个netstat状态或端口的使用情况
-----如何查看
开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID, 之后在任务管理器中找到这个PID所对应的程序。如果任务管理器中没有PID这一项,可以在任务管理器中选"查看"-"选择列"。
1.查看所有的端口占用情况 C:\>netstat -ano 协议 本地地址 外部地址 状态 PID TCP 127.0.0.1:1434 0.0.0.0:0 LISTENING 3236 TCP 127.0.0.1:5679 0.0.0.0:0 LISTENING 4168 2.查看指定端口的占用情况 C:\>netstat -aon|findstr "9050" 协议 本地地址 外部地址 状态 PID TCP 127.0.0.1:9050 0.0.0.0:0 LISTENING 2016 P: 看到了吗,端口被进程号为2016的进程占用,继续执行下面命令: (也可以去任务管理器中查看pid对应的进程) 3.查看PID对应的进程 C:\>tasklist|findstr "2016" 映像名称 PID 会话名 会话# 内存使用 ========================= ======== ================ tor.exe 2016 Console 0 16,064 K P:很清楚吧,tor占用了你的端口。 4.结束该进程 C:\>taskkill /f /t /im tor.exe
-----如何统计
当我们在命令行环境中工作时,能计算其它工具输出内容的行数有时候是很有用的。很多Unix/Linux操作系统包含一个叫wc的工具,这个工具有可以接受不不少选项,
在Windows上没有类似的这个工具的替代品,但是Windows CMD提示符中存在一个可以实现差不多功能的工具。
在此,我们会明白如何用FIND在cmd中计算行数。 这个工具,实际上跟Unix系统的grep比较像,而且早就存在在Windows操作系统上(Dos时代就有了)。
例如,假设有个Windows Server,我们想知道当前有多少个TCP sessions处于激活(Active)状态, 我们可以用netstat命令,将这个命令的输出重定向给FIND命令来获得状态为established sessions的行,命令如下:
C:\Users\Administrator>netstat -nao | find /i "estab" TCP 11.137.137.160:3389 11.205.240.128:52823 ESTABLISHED 1392 TCP 127.0.0.1:14021 127.0.0.1:14022 ESTABLISHED 3804 TCP 127.0.0.1:14022 127.0.0.1:14021 ESTABLISHED 3804
上面那个命令的输出可能会有很多行,也许我们关心的只是输出的sessions的数量,只要在上面的命令行填一个/c的命令开关,就可以得到TCP 处于激活状态的sessions了。
C:\Users\Administrator>netstat -nao | find /i "estab" TCP 11.137.137.160:3389 11.205.240.128:52823 ESTABLISHED 1392 TCP 127.0.0.1:14021 127.0.0.1:14022 ESTABLISHED 3804 TCP 127.0.0.1:14022 127.0.0.1:14021 ESTABLISHED 3804 C:\Users\Administrator>netstat -nao | find /i "estab" /c 3
使用类似方式可实现,比如:
1、显示本地缓存的dns记录。
C:\Users\Administrator>ipconfig /displaydns | find /i "Name" /c
5
2、/c选项也可以用来计算命令输出的所有行。
例如,我们可能想知道在活动目录中的组数。将之前命令的输出结果定向给 FIND /v "" /c (它的意思是看下所有不包含字符串""的行),
也就是说,计算所有行!
通过使用/v “” ,我们会查询到所有非空行,这在输出的所有字符串非常不同的情况下很有用。相当于于unix上的wc -l。
C:\Users\Administrator>netstat -ano|find /v "" /c
84
3、Event Logger命令(wevtutil)会输出很多行,如果只想知道在当前机器上不同日志的数量,只需要将他们的输出重定向给FIND /v "" /c即可。
4、统计一个文件中某个关键词的行数。
有一个日志文件,文件中可能有上千行相似内容,我们想快速的知道包含某个关键词的行数:
TYPE C:\Windows\Schedlgu.txt | FIND /i “task failure” /c
参考并转载自:
1、windows下用cmd命令netstat查看系统端口使用情况
3、