![nc 如何识别服务名称](https://linux22.com/image/1586578/nc%20%E5%A6%82%E4%BD%95%E8%AF%86%E5%88%AB%E6%9C%8D%E5%8A%A1%E5%90%8D%E7%A7%B0.png)
root@nanana:~# nc -zv localhost 5432
Connection to localhost 5432 port [tcp/postgresql] succeeded!
nc 如何发现 postgres 正在监听端口?仅通过常用端口号和假设?
答案1
输出仅基于端口号。
nc 通常从/etc/services
文件中获取此信息,该文件(取决于操作系统)可能包含 IANA 的完整内容服务名称和端口号注册表,或一小部分常见的 ARPANET 时代端口,或者两者的混合。
(根据操作系统的不同,此文件通常不直接读取,而是通过 getservent() 和 libc 的“nsswitch”基础结构读取,这可能为服务名称提供额外的来源 - 例如 NIS/LDAP/Hesiod。)