1、 工具扫描:使用nmap-6.40端口扫描工具,扫描windows操作系统端口;检测是否开启了管理员未允许的端口;2、windows下用cmd命令netstat查看系统端口使用情况Java代码
1. C:\Documents and
Settings\Administrator>netstat -help
2.
3. 显示协议统计信息和当前TCP/IP网络连接。
4.
5. NETSTAT [-a] [-b] [-e] [-n]
[-o] [-p proto] [-r] [-s] [-v] [interval]
6.
7. -a 显示所有连接和监听端口。
8. -b 显示包含于创建每个连接或监听端口的
9. 可执行组件。在某些情况下已知可执行组件
10. 拥有多个独立组件,并且在这些情况下
11. 包含于创建连接或监听端口的组件序列
12. 被显示。这种情况下,可执行组件名
13. 在底部的[]中,顶部是其调用的组件,
14. 等等,直到TCP/IP部分。注意此选项
15. 可能需要很长时间,如果没有足够权限
16. 可能失败。
17. -e 显示以太网统计信息。此选项可以与-s
18. 选项组合使用。
19. -n 以数字形式显示地址和端口号。
20. -o 显示与每个连接相关的所属进程ID。
21. -p proto 显示proto指定的协议的连接;proto可以是
22. 下列协议之一: TCP、UDP、TCPv6或UDPv6。
23. 如果与-s选项一起使用以显示按协议统计信息,proto可以是下列协议
这里可以看到所有的参数
查看一个端口被哪个进程占用,然后杀掉它
Cmd代码
1. C:\Documents and
Settings\Administrator>netstat -ano|findstr 5152
2. TCP 127.0.0.1:5152 0.0.0.0:0 LISTENING 684
3.
4. C:\Documents and
Settings\Administrator>taskkill /f /pid 684
5. 成功:已终止PID为684的进程。
如果只是简单的想查看都有哪些程序使用了哪些端口,可以使用下面的命令参数
Java代码
1. C:\Documents and
Settings\Administrator>netstat -abn
2.
3. Active Connections
4.
5. Proto Local Address Foreign
Address State PID
6. TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 1380
7. c:\windows\system32\WS2_32.dll
8. C:\WINDOWS\system32\RPCRT4.dll
9. c:\windows\system32\rpcss.dll
10. C:\WINDOWS\system32\svchost.exe
11. --未知组件--
12. [svchost.exe]
13.
14. TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4
15. [System]
16.
17. TCP 0.0.0.0:6059 0.0.0.0:0 LISTENING 1432
18. [RavMonD.exe]
19.
20. TCP 127.0.0.1:1027 0.0.0.0:0 LISTENING 3908
21. [alg.exe]
22.
23. TCP 192.168.1.35:139 0.0.0.0:0 LISTENING 4
如果想查找那个程序使用了某个端口,可以如下
Java代码
1. C:\Documents and
Settings\Administrator>netstat -aon|findstr 1029
2. UDP 0.0.0.0:1029 *:* 788
可以看到pid为788的程序占用了端口1029
进一步查看是哪个程序,可以到任务管理器中看,也可以用命令
Java代码
1. C:\Documents and
Settings\Administrator>tasklist
2.
3. 图像名 PID会话名 会话# 内存使用
4. =========================
====== ================ ======== ============