netstat是网络状态查看命令,既可以查看到本机开启的端口,也可以查看有哪些客户端连接。
在CentOS7.x中netstat命令默认没有安装,如果需要使用,需要安装net-snmp和net-tools软件包。(CentOS6中自动安装)
- 命令格式如下:
- [rootelocalhost ~] # netstat [选项]
- 选项:
- -a:列出所有网络状态,包括 Socket程序
- -c秒数:指定每隔几秒刷新一次网络状态
- -n:使用IP地址和端口号显示,不使用域名与服务名
- -p:显示PID和程序名
- -t:显示使用TCP协议端口的连接状况-u:显示使用UDP协议端口的连接状况
- -1:仅显示监听状态的连接
- -r:显示路由表
这是本机最常用的方式,使用选项-tuln
。因为使用了-l
选项,所以只能看到监听状态的连接,而不能看到已经建立连接状态的连接。例如:
这个命令的输出较多。
在这些状态中,我们最常用的就是LISTEN
和ESTABLISHED
状态,一种代表正在监听,另一种代表已经建立连接。
如果使用“p”选项,则可以查看到是哪个程序占用了端口,并且可以知道这个程序的PID。例如:
使用选项“-an”可以查看所有连接,包括监听状态的连接(LISTEN)、已经建立连接状态的连接(ESTABLISHED)、Socket程序连接等。因为连接较多,所以输出的内容有很多。例如:
从“Active UNIX domain sockets”开始,之后的内容就是Socket程序产生的连接,之前的内容都是网络服务产生的连接。我们可以在“-an”选项的输出中看到各种网络连接状态,而之前的“-tuln”选项则只能看到监听状态。
ifconfig
命令只能看到IP地址,Mac地址,子网掩码。如下图
但是我们并不同通过ifconfig
命令查看到网关,如果需要查看网关地址,就需要用到netstat 命令
。如下图
执行命令:netstat -rn
那么在这里我也精心准备了上述大纲的详细资料在下方链接如下