Большинство "хорошо известных портов", найденных в /etc/services
, являются остатками исторических реализаций - реализации этих "исторических протоколов" больше не используются.
Найденный вами порт 101 прокомментирован как «Сервер имен хостов NIC». Я обнаружил, что RFC 811 и RFC953 описывают протокол, обслуживаемый через порт 101. Интересно отметить, что единственная реализация во время RFC 811 (1982) работала на конкретном машина на SRI International. «Протокол порта 101» - это не услуга, которую вы найдете в Интернете в наше время.
Единственная услуга, о которой я могу подумать, которая предназначена для предоставления необходимой вам информации, - это SNMP, и нет никаких гарантий, что вы либо найдете работающую службу SNMP, либо знаете необходимое ключевое слово для доступа («имя сообщества») чтобы увидеть имя удаленного хоста через службу SNMP.
Многие конкретные реализации служб отвечают именем хоста, например:
telnet alias.machine.net 25
220 realname.machine.net ESMTP Postfix (Debian/GNU)
Редактировать: Несколько других ответов предлагают вам заглянуть в порт DNS. DNS (система доменных имен) не совсем то, что вы просили. Однако если вы хотите использовать поиск DNS, проверьте функцию gethostbyaddr()
, доступную в C в Windows, MacBSD и Linux.