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。)