命令介绍

netstat 命令用来打印 Linux 中网络系统的状态信息,可让你得知整个 Linux 系统的网络情况。

netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。

常用选项

选项说明
-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"参数相同

参考示例

(一)列出所有端口

liaowenongdeair:~ root# netstat -a
Active Internet connections (including servers)
Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)    
tcp4       0      0  192.168.1.4.53198      e2a.google.com.https   SYN_SENT   
tcp4       0      0  192.168.1.4.53197      e2a.google.com.https   SYN_SENT   
tcp4       0      0  192.168.1.4.53196      tsa03s02-in-f142.https SYN_SENT   
tcp4       0      0  192.168.1.4.53195      tsa03s06-in-f10..https SYN_SENT   
tcp4       0      0  192.168.1.4.53194      tsa03s06-in-f10..https SYN_SENT   
tcp4       0      0  192.168.1.4.53193      tsa01s09-in-f14..https SYN_SENT   
tcp4       0      0  192.168.1.4.53192      tsa01s09-in-f14..https SYN_SENT   

(二)列出所有 TCP 端口

liaowenongdeair:~ root# netstat -at
Active Internet connections (including servers)
Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)    
tcp4       0      0  192.168.1.4.53223      tsa03s06-in-f10..https SYN_SENT   
tcp4       0      0  192.168.1.4.53222      tsa03s06-in-f10..https SYN_SENT   
tcp4       0      0  192.168.1.4.53221      39.156.165.33.http     ESTABLISHED

(三)列出所有 UDP 端口

liaowenongdeair:~ root# netstat -au
Active LOCAL (UNIX) domain sockets
Address          Type   Recv-Q Send-Q            Inode             Conn             Refs          Nextref Addr
 98aa2bc25f55ef7 stream      0      0                0  98aa2bc25f55e2f                0                0 /var/run/mDNSResponder
 98aa2bc25f55e2f stream      0      0                0  98aa2bc25f55ef7                0                0
 98aa2bc33a4207f stream      0      0                0  98aa2bc33a42147                0                0

(四)只显示监听端口

liaowenongdeair:~ root# netstat -l
Active Internet connections
Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)    
tcp4       0      0  192.168.1.4.53283      112.34.111.235.https   ESTABLISHED
tcp4       0      0  192.168.1.4.53282      tsa03s06-in-f14..https SYN_SENT   
tcp4       0      0  192.168.1.4.53281      tsa03s06-in-f14..https SYN_SENT  

(五)只列出所有监听 tcp 端口

liaowenongdeair:~ root# netstat -lt

(六)只列出所有监听 udp 端口

liaowenongdeair:~ root# netstat -lu

(七)只列出所有监听 UNIX 端口

liaowenongdeair:~ root# netstat -lx 

(八)显示端口的统计信息

liaowenongdeair:~ root# netstat -s   # 显示所有端口的统计信息
liaowenongdeair:~ root# netstat -st   # 显示TCP端口的统计信息
liaowenongdeair:~ root# netstat -su   # 显示UDP端口的统计信息

(九)持续输出netstat信息

liaowenongdeair:~ root# netstat -c   #每隔一秒输出网络信息

(十)查看某个程序运行的端口

查看 ssh 的运行的端口:

liaowenongdeair:~ root# netstat -ap | grep ssh

(十一)查看运行在某个端口的程序

查看运行在 80 端口的程序:

liaowenongdeair:~ root# netstat -an | grep ':80'

参考文档

在线工具

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐