netstat
(network statistics)是 Windows 和 Linux 系统中用于显示网络连接、路由表、接口统计信息、伪装连接、多播成员等的命令行工具。它常用于排查网络问题和查看当前系统的网络状态。
netstat [选项]
1. netstat
—— 显示所有活动的 TCP 连接作用:列出所有处于 Established
状态的 TCP 连接。
netstat
Proto Local Address Foreign Address State
TCP 192.168.1.5:50432 104.20.179.44:https ESTABLISHED
TCP 192.168.1.5:51234 142.251.42.174:https ESTABLISHED
2. netstat -a
—— 显示所有连接和监听端口作用:显示所有连接(包括监听状态)。
netstat -a
Proto Local Address Foreign Address State
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING
TCP 192.168.1.5:50432 104.20.179.44:https ESTABLISHED
UDP 0.0.0.0:5353 *:*
3. netstat -n
—— 显示数字地址和端口号(不解析为名称)作用:加快输出速度,避免 DNS 查询。
netstat -n
Proto Local Address Foreign Address State
TCP 192.168.1.5:50432 142.251.42.174:443 ESTABLISHED
UDP 0.0.0.0:5353 *:*
4. netstat -s
—— 按协议显示统计信息作用:显示 TCP、UDP、ICMP 和 IP 的统计信息。
netstat -s
IPv4 Statistics:
Packets Received = 1234567
Received Header Errors = 0
Received Address Errors = 0
Datagrams Forwarded = 0
Unknown Protocols Received = 0
Received Packets Discarded = 123
Received Packets Delivered = 1234444
Output Requests = 987654
TCP Statistics for IPv4:
Active Opens = 1234
Passive Opens = 432
Failed Connection Attempts = 12
Reset Connections = 34
Current Connections = 5
Segments Sent = 987654
Segments Received = 1234567
Segments Retransmitted = 1234
5. netstat -e
—— 显示以太网统计信息(如发送/接收的数据包数量)netstat -e
Ethernet adapter 以太网:
Bytes 1234567890
Unicast packets 123456
Non-unicast packets 1234
Discards 0
Errors 0
Unknown protocols 0
6. netstat -r
—— 显示路由表(Windows 中使用;Linux 中用 route print
)netstat -r
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.5 25
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
192.168.1.0 255.255.255.0 192.168.1.5 192.168.1.5 25
192.168.1.5 255.255.255.255 127.0.0.1 127.0.0.1 25
7. netstat -p
—— 指定协议过滤输出(如 tcp, udp)netstat -p tcp
Proto Local Address Foreign Address State
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING
TCP 192.168.1.5:50432 142.251.42.174:https ESTABLISHED
8. netstat -b
—— 显示每个连接关联的可执行程序(需要管理员权限)netstat -b
Proto Local Address Foreign Address State PID
TCP 192.168.1.5:50432 142.251.42.174:https ESTABLISHED 1234
[chrome.exe]
9. netstat -o
—— 显示与每个连接关联的进程 ID (PID)netstat -o
Proto Local Address Foreign Address State PID
TCP 192.168.1.5:50432 142.251.42.174:https ESTABLISHED 1234
参数 | 描述 | 示例 |
---|---|---|
netstat |
默认显示已建立的 TCP 连接 | netstat |
-a |
显示所有连接和监听端口 | netstat -a |
-n |
显示数字形式的地址和端口 | netstat -n |
-s |
显示各协议的统计信息 | netstat -s |
-e |
显示以太网统计信息(收发数据包) | netstat -e |
-r |
显示路由表 | netstat -r |
-p |
指定协议(tcp, udp, icmp 等) | netstat -p tcp |
-b |
显示连接所使用的可执行文件(需管理员权限) | netstat -b |
-o |
显示连接对应的进程 ID(PID) | netstat -o |
netstat -ano -p tcp | findstr "LISTENING"
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4
TCP 0.0.0.0:443 0.0.0.0:0 LISTENING 4
可配合任务管理器查找 PID 对应的进程。
netstat -ano | findstr :8080
TCP 127.0.0.1:8080 0.0.0.0:0 LISTENING 1234
然后使用:
tasklist | findstr 1234
获取该 PID 对应的程序名。
netstat
需要管理员权限才能看到完整的进程信息。netstat
已逐渐被 ss
和 ip
命令取代,但仍然广泛使用。findstr
或 grep
可以对结果进行过滤。如需进一步帮助,例如:
ss
替代 netstat
欢迎继续提问