Wie identifiziert NC Dienstnamen?

Wie identifiziert NC Dienstnamen?
root@nanana:~# nc -zv localhost 5432
Connection to localhost 5432 port [tcp/postgresql] succeeded!

Wie findet NC heraus, dass Postgres auf dem Port lauscht? Nur anhand allgemeiner Portnummern und durch Annahmen?

Antwort1

Die Ausgabe basiert nur auf der Portnummer.

nc erhält diese Informationen normalerweise aus der /etc/servicesDatei, die (je nach Betriebssystem) entweder den gesamten Inhalt von IANADienstnamen und PortnummernRegistrierung oder eine kleine Auswahl gängiger Ports aus der ARPANET-Ära oder eine Mischung aus beidem.

(Je nach Betriebssystem wird diese Datei normalerweise nicht direkt gelesen, sondern über getservent() und die „nsswitch“-Infrastruktur von libc, die zusätzliche Quellen für Dienstnamen bereitstellen kann – z. B. NIS/LDAP/Hesiod.)

verwandte Informationen