Linux命令: netstat
2020-11-28 本文已影响0人
闲云野鹤_23dd
netstat命令
Linux netstat 命令用于显示网络状态。
利用 netstat 指令可让你得知整个 Linux 系统的网络情况。
在工作中我们通常需要查看端口的占用情况,或者 要新启动一个应用避免端口冲突,就可以使用netstat命令
参数
netstat命令参数非常多,列举几个常用的
- -t或–tcp 显示TCP传输协议的连线状况。
- -u或–udp 显示UDP传输协议的连线状况。
- -p或–programs 显示正在使用Socket的程序识别码和程序名称。
- -n或–numeric 直接使用IP地址,而不通过域名服务器。
- -l或–listening 显示监控中的服务器的Socket。
实战
查看TCP和UDP协议的端口占用情况
<mark style="box-sizing: border-box; background-color: rgb(255, 255, 0); color: rgb(0, 0, 0);">pid 就是进程ID</mark> 后面的课程会有讲解
netstat -nuptl

查看nginx应用的端口占用情况
netstat -nuptl | grep nginx
可以看到只占用了 80 端口

查看 ssh 的端口占用情况
netstat -nuptl | grep ssh

ssh 就是远程连接Linux时用到的服务,ssh开放的默认端口是22,所以使用xshell时选择的端口就是22

查看8080端口是否被使用
netstat -nuptl | grep 8080
可以看到没有任何内容显示,就代表没有被使用

查看80端口是否被使用
netstat -nuptl | grep 80
可以看到已经被nginx使用

查看所有端口的使用情况
netstat -anp
这个命令很少使用,但是面试题常见

其他
如果执行 netstat 命令报错,可能是因为没有安装 net-tools软件导致的
使用yum安装就好了
yum install -y net-tools