Linux网络诊断命令netstat详解
在Linux系统管理和网络故障排查中,netstat命令可以说是每位运维人员和开发者的必备工具。今天,我们就来深入探讨这个经典命令的一个重要用法:netstat -ano。
参数含义
-a或--all:显示所有连线中的Socket
-A<网络类型>或--<网络类型>:列出该网络类型连线中的相关地址
-c或--continuous:持续列出网络状态
-C或--cache:显示路由器配置的快取信息
-e或--extend:显示网络其他相关信息
-F或--fib:显示FIB
-g或--groups:显示多重广播功能群组组员名单
-h或--help:在线帮助
-i或--interfaces:显示网络界面信息表单
-l或--listening:显示监控中的服务器的Socket
-M或--masquerade:显示伪装的网络连线
-n或--numeric:直接使用ip地址,而不通过域名服务器
-N或--netlink或--symbolic:显示网络硬件外围设备的符号连接名称
-o或--timers:显示计时器
-p或--programs:显示正在使用Socket的程序识别码和程序名称
-r或--route:显示Routing Table
-s或--statistice:显示网络工作信息统计表
-t或--tcp:显示TCP传输协议的连线状况
-u或--udp:显示UDP传输协议的连线状况
-v或--verbose:显示指令执行过程
-V或--version:显示版本信息
-w或--raw:显示RAW传输协议的连线状况
-x或--unix:此参数的效果和指定"-A unix"参数相同
--ip或--inet:此参数的效果和指定"-A inet"参数相同
输出信息解释
Proto:协议类型(tcp/udp/tcp6)/udp),区分IPv4和IPv6连接
Recv-Q:接收队列字节数,非0可能表示网络拥塞
Send-Q:发送队列字节数,非0可能表示对方处理缓慢
Local Address:本地IP和端口,查看本机开放的服务
Foreign Address:远程IP和端口,识别连接的目标
State:连接状态,LISTEN、ESTABLISHED等
PID/Program name:进程ID和程序名,定位具体应用
常见的连接状态
LISTEN:监听状态,等待连接
ESTABLISHED:已建立的正常连接
TIME_WAIT:主动关闭后的等待状态
CLOSE_WAIT:被动关闭,等待应用程序关闭
使用示例截图
命令:netstat -ano

命令:watch -n1 'netstat -ano | grep "218.17"'

命令:netstat -alntp | grep "8090"
