文章目录
- 前言
- 语法格式
- 输出含义
- 使用实例
- 列出端口占用情况 (包括监听和未监听的)
- 列出所有处于监听状态的 Sockets
- 显示每个协议的统计信息
- 在 netstat 输出中显示 PID 和进程名称
- 在 netstat 输出中不显示主机,端口和用户名 (host, port or user)
- 持续输出 netstat 信息
- 显示系统不支持的地址族 (Address Families)
- 显示核心路由信息
- 查询进程运行端口
- 显示网络接口列表
前言
打印网络链接情况,路由表,接口状态,masquerade连接,多播成员信息(multicast memberships)
语法格式
netstat [address_family_options] [--tcp|-t] [--udp|-u] [--udplite|-U] [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n] [--numeric-hosts] [--numeric-ports] [--numeric-users] [--symbolic|-N] [--extend|-e[--extend|-e]] [--timers|-o] [--program|-p] [--ver? bose|-v] [--continuous|-c] [--wide|-W] [delay]
netstat {--route|-r} [address_family_options] [--extend|-e[--extend|-e]] [--verbose|-v] [--numeric|-n] [--numeric-hosts] [--numeric-ports] [--numeric-users] [--continuous|-c] [delay]
…
详细格式可以参考
man netstat

- -a (all)显示所有选项,默认不显示LISTEN相关
- -t (tcp)仅显示tcp相关选项
- -u (udp)仅显示udp相关选项
- -n 拒绝显示别名,能显示数字的全部转化成数字。
- -l 仅列出有在 Listen (监听) 的服務状态
- -p 显示建立相关链接的程序名
- -r 显示路由信息,路由表
- -e 显示扩展信息,例如uid等
- -s 按各个协议进行统计
- -c 每隔一个固定时间,执行该netstat命令。
提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到
输出含义
整体上netstat的输出可以分为两部分:
-
Active Internet connections (w/o servers)
称为有源TCP连接
其中
和Recv-Q
指的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到.Send-Q
本机ip地址,Local Address
外接ip地址, Foreign Address
连接的状态State
-
Active UNIX domain sockets (w/o servers)
称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。
显示连接使用的协议,Proto
表示连接到本套接口上的进程号,RefCnt
显示套接口的类型,State显示套接口当前的状态,Path表示连接到套接口的其它进程使用的路径名。Types
使用实例
列出端口占用情况 (包括监听和未监听的)
netstat -a
列出所有端口占用情况
netstat -at
列出tcp端口占用情况
netstat -au
列出udp端口占用情况
列出所有处于监听状态的 Sockets
netstat -l
只显示监听端口
netstat -lt
只显示监听tcp的端口
netstat -lu
只显示监听udp的端口
netstat -lx
只显示监听unix的端口
显示每个协议的统计信息
netstat -s
显示所有端口的统计信息
netstat -st
显示tcp端口的统计信息
netstat -su
显示udp端口的统计信息
在 netstat 输出中显示 PID 和进程名称
nestat -p
查看所有进程已经进程名称使用的端口以及通信协议
netstat -pt
查看使用tcp协议通信的进程名称以及端口号
在 netstat 输出中不显示主机,端口和用户名 (host, port or user)
netstat -n
不显示主机,端口号,用户名
如果只是不想让这三个名称中的一个被显示,使用以下命令
netsat -a --numeric-ports
netsat -a --numeric-hosts
netsat -a --numeric-users
持续输出 netstat 信息
netstat -c
每隔一秒输出网络信息
显示系统不支持的地址族 (Address Families)
netstat -v
或者
netstat --verbose
输出的末尾会打印如下信息
显示核心路由信息
netstat -r
查询进程运行端口
netstat -anp |grep ceph-mon
查看mon进程运行时占用的端口号
找出正在运行指定端口的进程
netstat -anp |grep ":6789"
显示网络接口列表
netstat -i
查看网络接口信息
netstat -ie
查看网口详细信息,类似与ifconfig