网络软件都是由客户端和服务端组成,由服务端在服务器上监听指定的端口处理接收到的数据,而客户端是向服务器端监听的端口发送数据,并由服务器端对该数据进行处理,然后将处理结果返回给客户端。
那么我们在linux上怎么来查看我们都监听了哪些端口,和都有哪些客户端来连接我的服务器呢?
首先我们要知道我们是使用什么协议来传输的,使用不通的协议可以用不同的方法来查看。传输协议分为TCP 和 UDP 两种,我们先来看下服务器端怎么查看在监听了哪些TCP协议和UDP协议的端口,使用命令netstat -ntlp 来查看tcp端口
如图 我们可以看到这个机器监听了587 、110、143、111等TCP端口
我们也可以使用命令 netstat -nulp 来查看监听中的UDP端口
在图中我们可以看到在Local address 这一列,有的在监听0.0.0.0:端口,有的在监听127.0.0.1:端口,还有的在监听 独立IP : 端口,那么他们都代表什么呢?又有什么区别呢?
0.0.0.0 代表了监听这台服务器上所有的IP的某个端口,对外可以访问所有本机的IP监听的端口
127.0.0.1 代表了只允许本机访问监听的端口
192.168.1.100 代表了只允许访问192.168.1.100这个IP监听的端口
接下来我们来看下如何查看我的机器都有哪些正在使用的网络连接
使用命令ss查看
我们可以看到目前机器上只有一个网络连接正在使用SSH服务
这是我们远程的网络连接,使用ss名利可以有效的查看到机器所有在使用连接,由此我们可以对这些连接进行筛选排查,检查机器是否存在危险的网络连接
通过这些命令我们可以查看到我们机器开放了什么端口,都提供了什么网络服务,这些服务如果不是我在用的,那么我就可以关闭多余的网络服务。