linux之netstat命令

时间:2023-01-10 21:14:29

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

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

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

linux之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 进程号