所有端口都关闭,直到用户手动打开为止?是真的吗?

所有端口都关闭,直到用户手动打开为止?是真的吗?

我是 Linux 和 Ubuntu 的新手。我在 Google 上搜索并阅读了一些文章,其中指出所有端口都处于关闭状态,直到用户手动打开它们。这是正确的吗?

那么,简单来说,“监听某个端口”和“某个端口已建立”是什么意思呢?

答案1

我谷歌了一下,读到一些文章说所有端口都是关闭的,直到用户手动打开。这是正确的吗?

取决于您看到的“用户”。用户通常不会说“嘿,请打开端口 X”。系统服务(例如用于打印的 CUPS、UDP/TCP 端口 631)会打开一个端口进行监听。其他示例包括 HTTP 服务器(TCP 端口 80)、DNS 服务器(UDP 端口 53)和 SMTP(邮件)服务器(TCP 端口 25)。

到目前为止,我只提到了端口,但程序还必须指定要开始监听的地址。重要的是要理解程序可以监听本地(IPv4 地址127.0.0.1、IPv6 地址::1)或使服务可由以下地址访问的地址网络上的其他设备(使用您的网络地址,例如10.0.1.4)。还有一个“通配符地址”(0.0.0.0用于 IPv4,::用于 IPv6),也可以远程访问。

在程序开始监听端口之前,端口确实是“关闭”的。

sudo netstat -tulpn命令可用于显示正在监听的 TCP/UDP 程序。在默认的 Ubuntu 桌面安装中,显示以下内容:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      2254/dnsmasq    
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1346/cupsd      
tcp6       0      0 ::1:631                 :::*                    LISTEN      1346/cupsd      
udp        0      0 0.0.0.0:59296           0.0.0.0:*                           1152/avahi-daemon: 
udp        0      0 127.0.0.1:53            0.0.0.0:*                           2254/dnsmasq    
udp        0      0 0.0.0.0:68              0.0.0.0:*                           1684/dhclient   
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           1152/avahi-daemon: 
udp6       0      0 :::5353                 :::*                                1152/avahi-daemon: 
udp6       0      0 :::53537                :::*                                1152/avahi-daemon: 

在这里,您可以看到 avahi-daemon 可通过 UDP 端口 59296、5353 和 53537 在网络上访问。后两个是 avahi-daemon 的标准端口,第一个是随机地址,可能使用其他两个端口进行通信。此守护进程用于“网络发现”,并允许您执行“文件共享”等操作。还有一个 DHCP 客户端在端口 UDP 68 上全局监听。

有些服务仅在本地监听,无法通过网络访问。这些服务包括 DNS 缓存服务 dnsmasq(UDP 端口 53)和打印机服务 CUPS(TCP 631)。

那么,简单来说,“监听某个端口”和“某个端口已建立”是什么意思呢?

没有“已建立端口”的概念,只有“已建立连接”。开放用于监听的端口由对该端口中流动的数据感兴趣的程序支持。这些端口通常是静态的,HTTP 在 TCP 端口 80 上运行,DNS 在 UDP 端口 53 上运行。这些标准允许其他网络设备快速找到您的服务。

当两个网络设备都同意互相通信时,就会建立 TCP 连接。

答案2

这句话是不是正确。事实上,默认情况下安装的服务非常少。如果没有服务等待联系/询问(这就是“监听”的意思),则无需关闭该端口。

但默认情况下已安装服务正在运行,并且没有设置防火墙规则来阻止任何人联系该服务。

至于附加问题:“端口”就像电话分机号码,它们指定一个通过这个号码通话的程序,就像电话分机号码指定企业内的一个人或一个部门一样。

相关内容