nc는 서비스 이름을 어떻게 식별합니까?

nc는 서비스 이름을 어떻게 식별합니까?
root@nanana:~# nc -zv localhost 5432
Connection to localhost 5432 port [tcp/postgresql] succeeded!

nc는 postgres가 포트에서 수신 대기 중인지 어떻게 알 수 있나요? 공통 포트 번호와 가정만으로?

답변1

출력은 포트 번호만을 기준으로 합니다.

nc는 일반적으로 파일에서 이 정보를 가져옵니다 /etc/services. 이 정보는 운영 체제에 따라 IANA의 전체 내용을 포함할 수 있습니다.서비스 이름 및 포트 번호레지스트리 또는 일반적인 ARPANET 시대 포트의 작은 선택 또는 둘의 혼합입니다.

(OS에 따라 이 파일은 일반적으로 직접 읽히지 않고 서비스 이름에 대한 추가 소스를 제공할 수 있는 getservent() 및 libc의 "nsswitch" 인프라(예: NIS/LDAP/Hesiod)를 통해 읽혀집니다.)

관련 정보