n00*_*00b 2 firewall documentation networking
我是 Linux 和 Ubuntu 的新手。我用谷歌搜索并阅读了一些文章,指出所有端口都已关闭,直到用户手动打开它们。这是正确的吗?
简单地说,“侦听端口”和“建立端口”是什么意思?
我用谷歌搜索并阅读了一些文章,指出所有端口都已关闭,直到用户手动打开它们。这是正确的吗?
取决于您所看到的“用户”。用户通常不会说“嘿,请打开端口 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:
Run Code Online (Sandbox Code Playgroud)
在这里,您可以看到 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 连接。
| 归档时间: |
|
| 查看次数: |
3054 次 |
| 最近记录: |