linux中netstat命令介绍

简介

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

常见参数

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

-t(tcp)仅显示tcp相关选项

-u(udp)仅显示udp相关选项

-n拒绝显示别名,能显示数字的全部转化成数字。

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

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

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

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

-s按各个协议进行统计

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

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

实用命令实例

1.列出所有端口(包括监听和未监听的)

列出所有端口netstat-a

netstat -a | more

列出所有tcp端口netstat-at

netstat -at

列出所有udp端口netstat-at

netstat -au

2.列出所有处于监听状态的Sockets

只显示监听端口netstat-l

netstat -l

只列出所有监听tcp端口netstat-lt

netstat -lt

只列出所有监听udp端口netstat-lu

netstat -lu

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

netstat -lx

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

显示所有端口的统计信息netstat-s

netstat -s

显示TCP或UDP端口的统计信息netstat-st或-su

netstat -st 

netstat -su

4.在netstat输出中显示PID和进程名称netstat-p

netstat-p可以与其它开关一起使用,就可以添加“PID/进程名称”到netstat输出中,这样debugging的时候可以很方便的发现特定端口运行的程序。

netstat -pt

5.在netstat输出中不显示主机,端口和用户名(host,portoruser)

当你不想让主机,端口和用户名显示,使用netstat-n。将会使用数字代替那些名称。

同样可以加速输出,因为不用进行比对查询。

netstat -an

6.找出程序运行的端口

并不是所有的进程都能找到,没有权限的会不显示,使用root权限查看所有的信息。

netstat -antlp | grep smb

找出运行在指定端口的进程

netstat -anpl | grep ':22'

相关推荐