当服务被指定为(主机名,端口号)时,是否指定了传输协议?

Tim*_*Tim -3 domain-name-system linux service

在 中/etc/services,一个服务名称可以有多个(传输协议、端口号)对。例如,

http            80/tcp                  # Hypertext Transfer Protocol
http            80/udp
ssh             22/tcp                  # Secure Shell
ssh             22/udp
telnet          23/tcp                  # Telnet
telnet          23/udp
smtp            25/tcp                  # Simple Mail Transfer Protocol
smtp            25/udp
Run Code Online (Sandbox Code Playgroud)

当服务被指定为(主机名,端口号)时,是否指定了传输协议?

如果是,从何处和何时推断出传输协议(主机名、端口号)?我猜不是 DNS 服务器,因为 DNS 服务器/etc/services在单个服务器机器上不知道。

如果不是,您将如何指定服务,以便可以指定其传输协议以及其主机名和端口号?

谢谢。

use*_*517 6

当服务被指定为(主机名,端口号)时,是否指定了传输协议?

不可以。example.com:80 可以是http 服务,但也可以是VPN 服务。如果它是运行例如 OpenVPN 的 VPN 服务,那么它可能是 tcp 或 udp,这取决于应用程序的配置方式。

如果不是,您将如何指定服务,以便可以指定其传输协议以及其主机名和端口号?

我不相信有这方面的约定,我可能会使用 example.com:80/tcp 但 YMMV。

  • 不,这不是网址,而是无知检测器。 (3认同)
  • 这很神奇... (2认同)