linux之netstat命令

netstat用于显示各种网络相关的信息,如网络连接,路由表接口状态(interface statistics),

masquerade连接,多播成员(Multicast Memberships)等等。

执行netstat后,从输出结果整体上看,分为两部分:

① Active Internet connections,有源TCP连接,

   "Recv-Q" "Send-Q"指%OA的是接受队列和发送队列,这些数字一般为0,如果不是则表示软件包

   正在队列中堆积(这种情况比较少见)。

② Active UNIX domain sockets,称为有源unix域套接口(和网络套接字一样,但是只能用于本

   机通信,性能可以提高一倍)。

Proto 显示连接使用的协议,

RefCnt 表示连接到本套接口上的进程号,

Types显示套接口的类型,

State显示套接口当前的状态,

Path表示连接到套接口的其它进程使用的路径名。

参数:

-a 显示所有选项,默认不显示LISTEN相关

-t 仅显示tcp相关选项

-u 仅显示udp相关选项

-n 拒绝显示别名、尽量显示数字

-l 仅列出有在Listen(监听)的服务状态

-p 显示建立相关连接的程序名

-r 显示路由信息,路由表

-e 显示扩展信息,例如uid等

-s 按各个协议进行统计

-c 每隔一个隔定时间,执行该netstat命令

注:LISTEN和LISTENING的状态只有用-a或者-l才能看到

实例:

1、netstat -a | more 列出所有端口(包括监听和未监听)

   netstat -at

   netstat -au

2、列出所有处于监听状态的sockets

   netstat -l   只显示监听端口

   netstat -lt  

   netstat -lu

   netstat -lx  只列出所有监听unix端口

3、显示每个协议的统计信息

   netstat -s

   netstat -st

   netstat -su

4、netstat -n 不显示主机、端口和用户名

   netstat -a --numeric-ports

   netstat -a --numeric-hosts

   netstat -a --numeric-users

5、netstat -c 每隔一段时间显示一次netstat信息

6、netstat --verbose 显示系统不支持的地址族

7、netstat -r 显示核心路由信息

   netstat -rn 显示数字格式,不显示主机名称

8、netstat -ap | grep ssh   (root权限显示所有信息)

   显示进程运行的端口

   netstat -an | grep ':80'  找出运行在指定端口的进程

9、netstat -i 显示网络接口列表

   netstat -ie (ifconfig)

10、netstat -tunlp 查看进程端口

   netstat -tunlp | grep 进程号

原文地址:https://www.cnblogs.com/vurtne-lu/p/6252955.html