通常情况下。假设想发现全部已经使用的和正在监听的port,我们能够使用netstat命令。 netstat并不是一个port扫描工具。假设你想扫描计算机开放了哪些port的话。建议使用本文介绍的方法。
  Netstat命令基础
  Netstat命令主要用于显示协议统计信息和当前 TCP/IP 网络连接。
  其格式例如以下:
  NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval]
  以下简单说明各个?数的含义:
  -a 显示全部连接和监听port。
  -b 显示包括于创建每一个连接或监听port的可运行组件。在某些情况下已知可运行组件拥有多个独立组件,而且在这些情况下包括于创建连接或监听port的组件序列被显示。这样的情况下,可运行组件名在底部的 [] 中。顶部是其调用的组件。等等。直到 TCP/IP 部分。注意此选项可能须要非常长时间,假设没有足够权限可能失败。
  -e 显示以太网统计信息。
  此选项能够与 -s选项组合使用。
  -n 以数字形式显示地址和port号。
  -o 显示与每一个连接相关的所属进程 ID。
  -p proto 显示 proto 指定的协议的连接;proto 能够是下列协议之中的一个: TCP、UDP、TCPv6 或UDPv6。
  假设与 -s 选项一起使用以显示按协议统计信息,proto 能够是下列协议之中的一个: IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。
  -r 显示路由表。
  -s  显示按协议统计信息。
  默认地,显示 IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息;-p 选项用于指定默认情况的子集。
  -v 与 -b 选项一起使用时将显示包括于为全部可运行组件创建连接或监听port的组件。
  interval 又一次显示选定统计信息,每次显示之间暂停时间间隔(以秒计)。
  按 CTRL+C 停止又一次显示统计信息。
  假设省略。netstat 显示当前配置信息(仅仅显示一次)。
  使用Netstat发现计算机上的监听或开放port
  打开命令提示符窗体,并键入:
  C:/WINDOWS>netstat -an |find /i "listening"
  假设用户想要将显示结果存到一个文件里(一般是文本文件),以备日后?考,能够使用重定向命令,如“>”或“>>”:
  netstat -an |find /i "listening" > c:/openports.txt
  我们能够将“listening”改为“established”,查看一下计算机究竟通过哪些port通信:
  C:/WINDOWS>netstat -an |find /i "established"
  注意:在Windows XP和Windows Server2003中,假设用户要得到与每一个连接相关的全部自有进程的ID列表,能够输入运行“NETSTAT -O”:
  C:/WINDOWS>netstat -ao |find /i "listening"
  TCP   pro1:epmap   pro1.dpetri.net:0   LISTENING   860
  TCP   pro1:microsoft-ds   pro1.dpetri.net:0   LISTENING   4
  TCP   pro1:1025   pro1.dpetri.net:0   LISTENING   908
  TCP   pro1:1084   pro1.dpetri.net:0   LISTENING   596
  TCP   pro1:2094   pro1.dpetri.net:0   LISTENING   596
  TCP   pro1:3389   pro1.dpetri.net:0   LISTENING   908
  TCP   pro1:5000   pro1.dpetri.net:0   LISTENING   1068
  用户能够?问http://www.petri.co.il/download_free_reskit_tools.htm.
  使用PULIST来找到PID和使用它的进程。
  比如,我们可能会发现计算机在TCPport80上有一个与远程IP地址的连接,可是计算机上并没有打开Internet Explorer或其他的浏览器窗体。为了查看究竟是什么进程在使用
  这个会话,我们使用例如以下的命令:
  C:/WINDOWS>netstat -no
  Active Connections
  Proto Local Address Foreign Address State PID
  TCP   192.168.0.100:2496   212.179.4.7:80   ESTABLISHED   1536
  然后使用带有“FIND”?数的“PULIST”命令:
  C:/WINDOWS>pulist |find /i "1536"
  Process   PID   User
  LUCOMS~1.EXE   1536   DPETRI/danielp
  能够看出, DANIELP在执行着 LUCOMS~1.EXE,这是Symantec Live Update进程。
  要查看全部打开的、已建立的、关闭的以及使用的port,能够使用例如以下的命令:
  C:/WINDOWS>netstat -a
  在Windows XP或2003中,我们能够使用-o开关:
  C:/WINDOWS>netstat -ao