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'