Windows Server 2008/2003 – 确定所有“已用”本地networking端口

我一直负责在100多台服务器上启用本地防火墙。 系统使用许多不同的端口运行许多不同的应用程序。 我开始了一个nmap扫描,但没有去每个系统,看数据stream(tcpdump),我想不出一个办法,我可以看到这些开放端口是否实际上连接和利用。 我知道有可能很难做到这一点,但我希望也有一个容易的方法。

是否有一个工具/脚本,将随着时间的推移观看打开的端口(如netstat)(不像netstat没有花哨的脚本),并把结果放入一些档案/日志forms?

这中间是什么样的开关/路由装置? 我问的原因是,这似乎是从您的交换机采样netflow数据的一个完美的情况。 当然,这将需要networking设备来支持输出networkingstream量数据。

简而言之,我所能想到的就是在每个主机上运行tcpdump,然后以某种方式汇总数据。 如果需要的话,这应该很容易编写脚本。

我会使用tcpdumpnmap :首先我要扫描目标机器寻找开放端口,并假设这些端口正在使用,目标是缩小TCP和UDP的tcpdump portrange参数。 然后,我会运行tcpdump -w /some/file.pcap portrange <your_nmap_range>一天或一周或其他什么,然后grep它build立连接。

如果你想坚持Windows,你也可以用perfmon来做类似的事情。 我很确定有TCP / IP计数器,他们也可能包括你可以缩小的进程ID。

你也可以从Sysinternalsfind使用tcpview ,但是我不知道它是否可以login。

这听起来像是一个工作types问题的“正确工具”。 我喜欢一个好的命令行; 然而,对于这样的事情,你真的想调查GUI和数据库支持的工具,将做自动的networking依赖映射。 许多供应商出售这样的东西,许多供应商提供30天的免费试用(Ipswitch WhatsUp立即想到)。