netstat
(network statistics)命令是 Linux 和其他类 Unix 操作系统中用于显示网络连接、路由表、接口统计信息、伪装连接和多播成员等网络相关信息的工具。它是一个强大的命令行工具,广泛应用于网络管理和故障排除。
功能概述
netstat
主要用来:
- 显示活动的 TCP 连接、UDP 连接、路由表、接口统计信息等。
- 列出所有监听端口及其对应的服务。
- 显示网络接口的统计信息。
- 提供 IP 路由表的信息。
- 显示网络连接的状态(如建立、监听、关闭等)。
基本语法
netstat [选项] [地址族]
选项
用来指定要查看的信息类型和其他行为。地址族
限制显示特定协议族的信息,如-A inet
表示只显示 IPv4 的信息。
常用选项解释
-a
,--all
: 显示所有连接和侦听端口,默认情况下会忽略非活动状态的连接。-n
,--numeric
: 不解析主机名、端口号和服务名称,直接以数字形式显示IP地址和端口号。-l
,--listen
: 只显示监听(服务器)套接字。-p
,--program
: 显示哪个进程和PID使用了相关连接或侦听端口。-t
,--tcp
: 只显示 TCP 连接。-u
,--udp
: 只显示 UDP 连接。-w
,--raw
: 显示原始套接字。-x
,--unix
: 显示 UNIX 域套接字。-r
,--route
: 显示内核路由表信息。-i
,--interfaces
: 显示网络接口表。-s
,--statistics
: 显示每个协议的统计信息。-c
,--continuous
: 每隔一秒更新一次输出结果。-e
,--extend
: 显示扩展信息,例如用户ID。-o
,--timers
: 显示与每个连接相关的定时器信息。
输出解释
执行 netstat -tuln
可能会得到如下输出:
Proto Recv-Q Send-Q Local A