netstat命令是linux网络环境编程中使用比较广泛的一种工具,用于显示各种网络信息和自己的主机信息,以及想用额路由表信息等。方便与使用者更好的观察网络信息的变化,从而解决各种相应的问题。
如下图为netstat工具树状图来显示,(该图转载网上图片):
netstat命令的各项参数列表如下所示:
netstat命令显示:
说明:上图中显示的结果分为Active Internet connections (w/o servers)和Active UNIX domain sockets (w/o servers)两部分结果。
Active Internet connections (w/o servers):有源tcp连接,其中个从左往右字段表示的含义分别是协议类型,接收队列,发送队列,本地地址ip和端口,主机地址ip和端口,连接状态。
Active UNIX domain sockets (w/o servers):有源unix域套接口(跟网络套接字一样,但是仅用于本机通信,性能可以提高)
信息从左往右各个字段表示为协议类型,连接到本套接口的进程号,标志状态,套接口类型,连接状态,i节点,连接到本套接口进程路径。
针对上图中的信息介绍套接口对应参数表示:
-t:表示tcp类型
-u:表示udp类型
-a:列出所有连接的socket信息
-p:显示PID和进程名称(-p参数跟其他参数一起使用可以很方便的过滤出想查看的信息),例如查看某个端口的监听情况:
-x:显示所有的unix端口
-l:只显示监听端口
-s:显示所有端口的统计信息
-n:不显示出主机名,端口和用户名
以下三条命令是过滤掉单独的字段显示:
netstat -a --numeric-port
netstat -a --numeric-hosts
netstat -a --numeric-users
-c:持续性输出网络信息
-r:显示核心路由信息
-i:该参数显示网卡列表,例如: