nestat介绍
netstat是一款命令行工具,可用于列出系统上所有的网络套接字连接情况,包括 tcp, udp 以及 unix 套接字,另外它还能列出处于监听状态(即等待接入请求)的套接字。
使用参数说明
与路由有关的参数
-r : 列出路由表,功能如route命令
-n : 不使用主机名与服务名称,使用ip与port number,如同route -n
与网络接口有关参数
-a : 列出所有的连接状态,包括tcp/udp/unix socket等
-t : 仅列出tcp数据包的连接
-u : 仅列出udp数据包的连接
-l : 仅列出已在listen(监听)的服务的网络状态
-p : 列出pid进程号与program文件名
-i : 打印网络接口
-g : 显示IPv4和IPv6的多播组信
-c : 可以设置几秒后自动更新一次,例如-c 5为每5s更新一次网络状态
-s : 显示网络统计数据
-e : 显示更多的信息(如用户ID、网卡IP等)
使用示例
1.列出当前路由表的状态,以ip及port number显示:
netstat -rn
2.列出当前所有的网络连接,以ip与port number显示
netstat -an
3.显示已经启动的网络服务
netstat -tulnp
4.查看本机上所有的网络连接状态
netstat -atunp
5.打印统计数据
netstat -s
6.打印网络接口
netstat -i
更详细一点的打印,类似ifconfig
netstat -ie
7.持续监听
netstat -ct
8.显示多播组信息
选项 -g 会输出 IPv4 和 IPv6 的多播组信息
netstat -g
9.打印 active 状态的连接
active 状态的套接字连接用 "ESTABLISHED" 字段表示,打印active状态的连接
netstat -atnp | grep ESTA
配合 watch 命令监视 active 状态的连接:
watch -d -n0 "netstat -atnp | grep ESTA"
10.查看服务是否在运行
http,smtp 或 ntp 服务是否在运行,使用 grep。
netstat -aple | grep http