Linux C API для получения имени хоста удаленного сервера?

Есть ли способ (C API?), С помощью которого я могу получить имя хоста удаленного сервера. Что-то вроде gethostname (), но с IP-адресом в качестве аргумента.

Я знаю о getnameinfo () и getaddrinfo () , однако я не хочу, чтобы имя хоста использовалось на DNS-сервере. Я хочу имя хоста, которое вы получаете, когда используете команду hostname в linux. У меня такое ощущение, что это невозможно сделать, не зная учетные данные этого удаленного сервера, но я не уверен в этом.

Всего 1 ответ


Несмотря на то, что вы можете запрашивать имена хостов в DNS, нет стандартного протокола, чтобы спрашивать машину (на самом деле, интерфейс), как она сама себя называет (если у нее даже есть имя для себя - это не обязательно).

Вам нужно реализовать и развернуть простую серверную программу на всех интересующих вас хостах (это может быть что-то простое, например, добавить строку в /etc/inetd.conf для запуска /bin/hostname если это Unix- как система), и клиентская библиотека для доступа к нему.


Есть идеи?

10000