netstat命令用来打印Linux网络系统的状态信息。
语法:netstat (选项)
选项:
●-a或--all:显示所有连线中的Socket;
●-A<网络类型>或--<网络类型>:列出该网络类型连线中的相关地址
●-c或--continuous:持续列出网络状态
●-e或--extend:显示网络其他相关信息
●-F或--fib:显示FIB
●-g或--groups:显示多重广播功能群组组员名单
●-h或--help:在线帮助
●-i或--interface:显示网络界面信息表单
●-l或--listening:显示监控中的服务器的Socket
●-M或--masquerade:显示伪装的网络连线
●-n或--numeric:直接使用ip地址,而不通过域名服务器;
●-N或--netlink或--symbolic:显示网络硬件外围设备的符号连接名称
●-o或--timers:显示计时器
●-p或--programs:显示正在使用Socket的程序识别码和程序名称
●-r或--route:显示Routing Table.
●-s或--statistics:显示网络工作信息统计表
●-t或--tcp:显示TCP传输协议的连线状态
●-u或--udp:显示UDP传输协议的连线状况
●-v或--verbose:显示指令执行过程
●-V或--version:显示版本信息
●-w或--raw:显示RAW传输协议的连线状况
●-x或--unix:此参数的效果和-A unix参数相同
●--ip或--inet:此参数的效果和指定-A inet参数相同
实例:
列出所有端口(包括监听和未监听的)
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和进程名称
netstat -pt
在netstat输出中不显示主机,端口和用户名(host,port or user)
netstat -an
持续输出netstat信息
netstat -c #每隔1秒输出网络信息
#显示核心路由信息
netstat -r
使用netstat -rn 显示数字格式,不显示主机名称
#找出程序运行的端口
netstat -ap|grep ssh
#找出运行指定端口的进程
netstat -an|grep :80
#显示网络接口列表
netstat -i
IP和TCP分析
查看连接某服务端口最多的IP地址
netstat -ntu|grep :80|awk '{print $5}'|cut -d: -f1|awk '{++ip[$1]} END {for(i in ip) print ip[i],"\t",i}'|sort -nr