netstat
是一个常用的网络命令行工具,它用于显示网络连接、路由表、接口统计信息等。netstat
在 Windows 系统中也有广泛应用,可以帮助你诊断和监视网络连接、网络接口、端口使用情况等。以下是 Windows 环境下 netstat
命令的详解。
1. netstat
基本语法
css
netstat [选项]
php
12 Bytes
© 菜鸟-创作你的创作
2. 常用的 netstat
选项与参数
(1) netstat
基本命令
-
netstat
直接输入
netstat
,命令会显示所有活动的网络连接及其相应的状态。示例 :C:> netstat
输出示例 :Active Connections Proto Local Address Foreign Address State TCP 192.168.1.101:139 0.0.0.0:0 LISTENING TCP 192.168.1.101:443 203.0.113.1:4445 ESTABLISHED TCP 192.168.1.101:5000 198.51.100.1:80 TIME_WAIT
- Proto:协议类型(如 TCP、UDP)。
- Local Address:本地IP地址与端口号。
- Foreign Address:远程IP地址与端口号。
- State:连接状态(如 LISTENING、ESTABLISHED、TIME_WAIT 等)。
(2) netstat -a
-a
:显示所有的连接和监听端口。示例 :C:> netstat -a
输出示例 :Active Connections Proto Local Address Foreign Address State TCP 0.0.0.0:135 0.0.0.0:0 LISTENING TCP 192.168.1.101:139 0.0.0.0:0 LISTENING TCP 192.168.1.101:443 203.0.113.1:4445 ESTABLISHED ``-a
显示所有的连接,包括监听状态的端口。
(3) netstat -b
-b
:显示每个连接或监听端口对应的可执行程序(进程)名,通常需要管理员权限。示例 :C:> netstat -b
输出示例 :Active Connections Proto Local Address Foreign Address State PID Image TCP 192.168.1.101:443 203.0.113.1:4445 ESTABLISHED 1624 chrome.exe TCP 192.168.1.101:5000 198.51.100.1:80 TIME_WAIT 2800 firefox.exe ``-b
帮助你查看哪个程序正在使用某个端口。
(4) netstat -n
-n
:以数字形式显示地址和端口号,而不是尝试解析为主机名或服务名。示例 :C:> netstat -n
输出示例 :Active Connections Proto Local Address Foreign Address State TCP 192.168.1.101:139 0.0.0.0:0 LISTENING TCP 192.168.1.101:443 203.0.113.1:4445 ESTABLISHED ``-n
选项可以提高netstat
的运行速度,因为它不需要进行域名解析。
(5) netstat -o
-o
:显示每个连接的进程 ID(PID)。可以配合任务管理器来查找对应的进程。示例 :C:> netstat -o
输出示例 :Active Connections Proto Local Address Foreign Address State PID TCP 192.168.1.101:139 0.0.0.0:0 LISTENING 1234 TCP 192.168.1.101:443 203.0.113.1:4445 ESTABLISHED 5678
通过 PID 你可以在任务管理器中查找和管理进程。
(6) netstat -r
-r
:显示路由表。示例 :C:> netstat -r
输出示例 :Active Routes: Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.101 10 127.0.0.0 255.0.0.0 On-link 127.0.0.1 1
路由表显示了网络路径和默认网关。
(7) netstat -s
-s
:显示每种协议的统计信息,如 TCP、UDP 等。示例 :C:> netstat -s
输出示例 :Tcp Statistics Active Opens = 12 Passive Opens = 35 Failed Connection Attempts = 0 Reset Connections = 0 Current Connections = 3
该选项帮助查看某些协议(例如 TCP 或 UDP)在系统中的统计数据。
(8) netstat -t
-t
:仅显示 TCP 连接。示例 :C:> netstat -t
输出示例 :Active Connections Proto Local Address Foreign Address State TCP 192.168.1.101:443 203.0.113.1:4445 ESTABLISHED ``-t
会过滤掉所有非 TCP 连接,专门显示 TCP 连接信息。
(9) netstat -u
-u
:仅显示 UDP 连接。示例 :C:> netstat -u
输出示例 :Active Connections Proto Local Address Foreign Address State UDP 192.168.1.101:123 *:* Listening ``-u
过滤出所有的 UDP 连接。
3. 其他常见用法
(1) 显示特定端口的连接
你可以通过结合 findstr
命令来查找特定端口或地址的连接信息。例如,查找 TCP 端口 443 的连接:
makefile
C:> netstat -an | findstr :443
php
31 Bytes
© 菜鸟-创作你的创作
(2) 查看活动的端口和应用程序
结合 netstat
和 -b
选项可以查看哪些程序占用了哪些端口:
makefile
C:> netstat -anb
php
17 Bytes
© 菜鸟-创作你的创作
(3) 清除 TCP 连接缓存
Windows 系统提供了一些 TCP 连接状态,可以通过 netstat -s
命令查看。若想清除缓存,可以使用 netsh
命令。
kotlin
netsh interface ip reset
php
24 Bytes
© 菜鸟-创作你的创作
4. 总结
netstat
是一个强大的网络诊断工具,可以帮助你查看当前系统的网络连接、服务端口、路由表等信息。- 通过使用不同的选项(如
-a
、-n
、-b
、-o
等),你可以深入了解系统的网络活动、发现潜在的问题或监控程序使用的端口。 netstat
是网络管理员和安全研究人员日常工作中必不可少的工具之一。