netstat命令详解
netstat这个命令是运维工作中经常会用到的一个命令。它的主要作用是打印网络连接、路由表、连接的数据统计、伪装连接以及广播域成员。下面文章来介绍一下它的详细用法及相关解释。
netstat -a 列出所有当前的连接
netstat -at 列出TCP协议的连接(tcp6代表ipv6的连接)
netstat -au 列出UDP协议的连接(tcp6代表ipv6的连接)
netstat -ant
#-n:禁用反向域名解析,加快查询速度
netstat -tnl
#-l:只列出监听中的连接
netstat -tlnp
#-p:查看进程ID和进程名
注意:使用-p选项时,需要让命令运行时在root权限之下,否则就不能得到在root权限下的全部进程信息。所以一般在命令前加sudo
netstat -tlnep
#-e:列出用户名和进程的索引节点号。-ne一起使用,User列就是用户的ID号
netstat -s
#-s:列出各个协议下的网络统计数据(收发包数量等)
netstat -ts
#-t:打印出TCP协议下的网络统计数据
netstat -us
#-u:打印出UDP协议下的网络统计数据
netstat -rn
#-r:打印内核路由信息(和route命令输出信息差不太多)
netstat -i
#-i:打印网络接口信息
netstat -ie
#-e:打印更详细的网络接口信息(和ifconfig输出信息差不多)
netstat -ct
#-c:持续输出信息
netstat -g
#输出ipv4和ipv6的多组播信息
netstat -atnp | grep ESTA
#打印active状态的连接(active 状态的套接字连接用 "ESTABLISHED" 字段表示,所以可以使用 grep 命令获得 active 状态的连接)
watch -d -n0 "netstat -atnp | grep ESTA"
#配合watch命令监视active状态的连接
#查看http服务是否在运行
sudo netstat -aple | grep http
从图中可以看到,http服务是正在运行中的。