其实很简单,大家可以在cmd窗口
- C:Documents and SettingsAdministrator>netstat -help
- 显示协议统计信息和当前 TCP/IP 网络连接。
- NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval]
- -a 显示所有连接和监听端口。
- -b 显示包含于创建每个连接或监听端口的
- 可执行组件。在某些情况下已知可执行组件
- 拥有多个独立组件,并且在这些情况下
- 包含于创建连接或监听端口的组件序列
- 被显示。这种情况下,可执行组件名
- 在底部的 [] 中,顶部是其调用的组件,
- 等等,直到 TCP/IP 部分。注意此选项
- 可能需要很长时间,如果没有足够权限
- 可能失败。
- -e 显示以太网统计信息。此选项可以与 -s
- 选项组合使用。
- -n 以数字形式显示地址和端口号。
- -o 显示与每个连接相关的所属进程 ID。
- -p proto 显示 proto 指定的协议的连接;proto 可以是
- 下列协议之一: TCP、UDP、TCPv6 或 UDPv6。
- 如果与 -s 选项一起使用以显示按协议统计信息,proto 可以是下列协议
这里可以看到所有的参数
查看一个端口被哪个进程占用,然后杀掉它
- C:Documents and SettingsAdministrator>netstat -ano|findstr 5152
- TCP 127.0.0.1:5152 0.0.0.0:0 LISTENING 684
- C:Documents and SettingsAdministrator>taskkill /f /pid 684
- 成功: 已终止 PID 为 684 的进程。
如果只是简单的想查看都有哪些程序使用了哪些端口,可以使用下面的命令参数
- C:Documents and SettingsAdministrator>netstat -abn
- Active Connections
- Proto Local Address Foreign Address State PID
- TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 1380
- c:windowssystem32WS2_32.dll
- C:WINDOWSsystem32RPCRT4.dll
- c:windowssystem32 pcss.dll
- C:WINDOWSsystem32svchost.exe
- -- 未知组件 --
- [svchost.exe]
- TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4
- [System]
- TCP 0.0.0.0:6059 0.0.0.0:0 LISTENING 1432
- [RavMonD.exe]
- TCP 127.0.0.1:1027 0.0.0.0:0 LISTENING 3908
- [alg.exe]
- TCP 192.168.1.35:139 0.0.0.0:0 LISTENING 4
如果想查找那个程序使用了某个端口,可以如下
- C:Documents and SettingsAdministrator>netstat -aon|findstr 1029
- UDP 0.0.0.0:1029 *:* 788
可以看到pid为 788的程序占用了端口1029
进一步查看是哪个程序,可以到任务管理器中看,也可以用命令
- C:Documents and SettingsAdministrator>tasklist
- 图像名 PID 会话名 会话# 内存使用
- ========================= ====== ================ ======== ============
- System Idle Process 0 Console 0 28 K
- System 4 Console 0 304 K
- smss.exe 600 Console 0 820 K
- csrss.exe 1052 Console 0 6,004 K
- winlogon.exe 1076 Console 0 3,112 K
- services.exe 1120 Console 0 6,148 K
也可以直接用pid查找程序
- C:Documents and SettingsAdministrator>tasklist|findstr 788
- 360tray.exe 788 Console 0 5,240 K