netstat是基于Netstat这个命令行工具的指令,它可以用来查询系统上的网络套接字连接情况,包括tcp,udp以及Unix套接字;另外它还能列出路由表,接口状态和多播成员等信息。关于netstat命令的选项有很多,本文只介绍常见选项。
主要选项
netstat命令的常见选项如图所示:
实例演示
1. netstat -a
列出所有的端口,包括监听的和未监听的。
2. netstat -at
列出所有的tcp协议的端口,包括监听的和未监听的。结果如下:
1 | [root@renxiaoxiao ~]# netstat -at |
3. netstat -au
列出所有的UDP协议的端口,包括监听的和未监听的。结果如下:
1 | [root@renxiaoxiao ~]# netstat -au |
4. netstat -ap | grep ‘程序名’
找出程序运行的端口。
5. netstat -ap | grep ‘端口号’
找出端口的程序名。
6. netstat -nltp
查看所有tcp服务的所有程序名和进程PID。
禁止域名解析,这个主要netstat中的-n选项有关,先看不带n时所输出的结果:
1 | [root@renxiaoxiao ~]# netstat -ltp |
再来看看加上n 选项后的输入结果:
1 | [root@renxiaoxiao ~]# netstat -nltp |
可以发现在local address 即主机地址这一栏中,如果没有带n选项,会将套接字所对应的域名解析出来,如果加上n选项,那么就不会显示,即禁止域名解析的功能,这样做有助于提高查询速度,因为减少了对主机域名的查询。
7. netstat -c
动态查看netstat信息,每隔一段时间自动刷新。
8. netstat -r
显示路由表的信息。加n选项会禁用域名解析。
1 | [root@renxiaoxiao ~]# netstat -nr |
9. netstat -i
查看接口信息。
1 | [root@renxiaoxiao ~]# netstat -i |
10. netstat -sa
分类统计各个协议的相关信息。