1. 命令介绍
netstat 命令用于显示协议统计信息和当前 TCP/IP 网络连接。语法如下:
netstat [-a] [-b] [-e] [-f] [-n] [-o] [-p <proto>] [-q] [-r] [-s] [-t] [-x] [-y] [interval]
有下列参数:
| 参数 | 描述 |
|---|---|
| -a | 显示所有连接和侦听端口。 |
| -b | 显示在创建每个连接或侦听端口时涉及的可执行文件。在某些情况下,已知可执行文件托管多个独立的组件,此时会显示创建连接或侦听端口时涉及的组件序列。在此情况下,可执行文件的名称位于底部 [] 中,它调用的组件位于顶部,直至达到 TCP/IP。注意,此选项可能很耗时,并且可能因为你没有足够的权限而失败。 |
| -e | 显示以太网统计信息。此选项可以与 -s 选项结合使用。 |
| -f | 显示外部地址的完全限定域名(FQDN)。 |
| -n | 以数字形式显示地址和端口号。 |
| -o | 显示拥有的与每个连接关联的进程 ID (PID)。 |
-p <proto> | 显示 proto 指定的协议的连接;proto 可以是下列任何一个: TCP、UDP、TCPv6 或 UDPv6。如果与 -s 选项一起用来显示每个协议的统计信息,proto 可以是下列任何一个: IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。 |
| -q | 显示所有连接、侦听端口和绑定的非侦听 TCP 端口。绑定的非侦听端口不一定与活动连接相关联。 |
| -r | 显示路由表。 |
| -s | 显示每个协议的统计信息。默认情况下,显示 IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息;-p 选项可用于指定默认的子网。 |
| -t | 显示当前连接卸载状态。 |
| -x | 显示 NetworkDirect 连接、侦听器和共享终结点。 |
| -y | 显示所有连接的 TCP 连接模板。无法与其他选项结合使用。 |
| interval | 重新显示选定的统计信息,各个显示间暂停的间隔秒数。按 CTRL+C 停止重新显示统计信息。如果省略,则 netstat 将打印当前的配置信息一次。 |
2. 使用示例
2.1. 根据端口号找进程号
工作中经常会遇到这种情况,就是在 Windows 系统中安装一个软件,启动失败,很可能是端口号被占用导致的。这时就需要我们去查找该端口号是否被占用了。
比如我们的一个程序启动需要用到3306端口,但是启动报了端口冲突,这时我们可以查找下当前3306端口对应的是哪个进程:
(1)查找3306端口对应的进程号,PID是进程号,可以看出对应的PID号为5320:
C:\Users\张三>netstat -ano | findstr 3306
TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING 5320
TCP 0.0.0.0:33060 0.0.0.0:0 LISTENING 5320
TCP [::]:3306 [::]:0 LISTENING 5320
TCP [::]:33060 [::]:0 LISTENING 5320
(2)再查找PID号5320对应的进程,可以看出对应的进程为mysqld.exe:
C:\Users\张三>tasklist|findstr 5320
mysqld.exe 5320 Services 0 4,728 K
若想3306端口号不被占用,则需要在任务管理器中结束相应的进程,按快捷键Ctrl+Shift+Esc调出 Windows 任务管理器,找到mysqld.exe,右键结束进程。
2.2. 根据进程号找端口号
PID是进程号,现在想查看一个PID对应的进程使用的端口号是多少,比如查找PID为5320的进程使用的端口号有哪些:
C:\Users\张三>netstat -ano | find "5320"
TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING 5320
TCP 0.0.0.0:33060 0.0.0.0:0 LISTENING 5320
TCP 127.0.0.1:49697 127.0.0.1:49698 ESTABLISHED 5320
TCP 127.0.0.1:49698 127.0.0.1:49697 ESTABLISHED 5320
TCP [::]:3306 [::]:0 LISTENING 5320
TCP [::]:33060 [::]:0 LISTENING 5320
2.3. 查看所有开放端口号
查看本机都有哪些端口开放:
C:\Users\张三>netstat -anp tcp
活动连接
协议 本地地址 外部地址 状态
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING
TCP 0.0.0.0:4369 0.0.0.0:0 LISTENING
TCP 0.0.0.0:5040 0.0.0.0:0 LISTENING
TCP 0.0.0.0:5357 0.0.0.0:0 LISTENING
TCP 0.0.0.0:5672 0.0.0.0:0 LISTENING
TCP 0.0.0.0:8680 0.0.0.0:0 LISTENING
TCP 0.0.0.0:19531 0.0.0.0:0 LISTENING
TCP 0.0.0.0:25672 0.0.0.0:0 LISTENING
TCP 0.0.0.0:25819 0.0.0.0:0 LISTENING
。。。