nestat - Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships.

1
netstat [options]

netstat 常见用法:

  • (none): By default, netstat displays a list of open sockets.
  • -a, --all: Show both listening and non-listening sockets.
  • -l, --listening: Show only listening sockets. (these are omitted by default.)
  • -t, --tcp: 显示 TCP 协议连接的 socket。
  • -u, --udp: 显示 UDP 协议连接的 socket。
  • -n, --numeric: 显示数字形式的地址,而不用解析主机、端口和用户名。
  • -p, --program: 显示 socket 连接程序的 PID 和名称。
  • -c, --continuous: 每秒钟打印一次输出结果。
  • -s, --statistics: Display summary statistics for each protocol. 显示每种协议收发数据包的统计结果。
  • -g, --groups: Display multicast group membership information for IPv4 and IPv6. 显示 IPv4 和 IPv6 的 IGMP 组播组成员关系信息。
  • -i, --interfaces: Display a table of all network interfaces. 显示网络接口信息。
  • -r, --route: Display the kernel routing tables. 显示内核路由表信息。
  • -M, --masquerade: Display a list of masqueraded connections.
  • -A, --protocol: 指定要显示哪些的地址族的连接,多个协议用逗号分隔。常见地址族,如:inet, inet6, unix, ipx, ax25, netrom, econet, ddp, bluetooth。也可以作为参数使用: –inet|-4, –inet6|-6, –unix|-x, –ipx, –ax25, –netrom, –ddp, –bluetooth。

输出结果:

  • Proto: 协议
  • Recv-Q: 此 socket 连接的应用程序未拷贝的字节数。
  • Send-Q: 远程主机未确认的字节数。
  • Local Address: socket 连接的本地地址信息 (本地主机名和端口)。
  • Foreign Address: socket 连接的远程地址信息 (远程主机名和端口)。
  • State: socket 状态 (ESTABLISHED, SYN_SENT, SYN_RECV, FIN_WAIT1, FIN_WAIT2, TIME_WAIT, CLOSED, CLOSE_WAIT, LAST_ACK, LISTEN, CLOSING, UNKNOWN)。
  • User: The username or the user id (UID) of the owner of the socket.
  • PID/Program_name: socket 连接的所属应用程序的 PID 和程序名称。

等等

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 显示连接状态的 socket
netstat
# 显示所有 socket
netstat -a
# 显示监听状态的 socket
netstat -l
# 显示 TCP 协议并且在监听状态的 IPv6 连接
netstat -tl6
# 禁用反向域名解析,显示数字形式的地址
netstat -n
# 显示 UDP 协议监听中的 socket 连接,并显示数字形式的地址和用户名、PID
netstat -ulnp
# 显示内核路由表
netstat -r
# 每秒刷新显示内核路由表信息
netstat -rc
# 显示特定地址族的 socket
netstat -lA inet # 显示听中的 IPv4 连接
netstat -l --protocol=inet6 # 显示监听中的 IPv6 连接
netstat -A inet6,ddp

注意当 netstat -p显示的程序信息看不到的时候 (如-),可能是权限问题。使用 sudo 提权或切换 root 用户执行命令。