powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Прочитать MX record через Си в UNIX среде
12 сообщений из 12, страница 1 из 1
Прочитать MX record через Си в UNIX среде
    #36049020
Moisey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
Проблема такова:
Пишу простой smtp клиент на Си(не++) в Linux и нужно айпишник smtp сервера узнать. Для этого надо в MX записи это прочесть. Но какой функцией не могу найти. Функция gethostbyname() дает айпишники из А записи, но это не то что нужно. Может кто сталкиваля и знает как это решить? Под винду решений полно нашел, а вот под Линукс...
Спасибо.
...
Рейтинг: 0 / 0
Прочитать MX record через Си в UNIX среде
    #36049093
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MoiseyЗдравствуйте.
Проблема такова:
Пишу простой smtp клиент на Си(не++) в Linux и нужно айпишник smtp сервера узнать. Для этого надо в MX записи это прочесть. Но какой функцией не могу найти. Функция gethostbyname() дает айпишники из А записи, но это не то что нужно. Может кто сталкиваля и знает как это решить? Под винду решений полно нашел, а вот под Линукс...
Спасибо.

Запросом к DNS-серверу ?
...
Рейтинг: 0 / 0
Прочитать MX record через Си в UNIX среде
    #36049109
Moisey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот нет случайно готовой функции в Си чтобы получить IP адрес smtp сервера зная лишь имя, например: gmail.com, mail.ru. Если нет, то как запрос делать к ДНС серверу чтобы получить этот IP.
...
Рейтинг: 0 / 0
Прочитать MX record через Си в UNIX среде
    #36049123
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю что в исходниках nslookup есть то, что нужно автору.
...
Рейтинг: 0 / 0
Прочитать MX record через Си в UNIX среде
    #36049131
Moisey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тогда сразу вопрос где достать исходники эти?
...
Рейтинг: 0 / 0
Прочитать MX record через Си в UNIX среде
    #36049146
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно еще в какон нибудь Net::DNS от Perl-а пошукать
так такие вещи как правило на Си писаны
...
Рейтинг: 0 / 0
Прочитать MX record через Си в UNIX среде
    #36049154
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MoiseyТогда сразу вопрос где достать исходники эти?
А хрен его знает. Но думаю, что в исходниках Линукс должно быть.
...
Рейтинг: 0 / 0
Прочитать MX record через Си в UNIX среде
    #36049563
avb1003
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MoiseyЗдравствуйте.
Проблема такова:
Пишу простой smtp клиент на Си(не++) в Linux и нужно айпишник smtp сервера узнать. Для этого надо в MX записи это прочесть. Но какой функцией не могу найти. Функция gethostbyname() дает айпишники из А записи, но это не то что нужно. Может кто сталкиваля и знает как это решить? Под винду решений полно нашел, а вот под Линукс...
Спасибо.
Сам не пробовал,но, вроде бы, Вам стоит посмотреть "adns":rpm -qvi -p adns*
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Name        : adns                         Relocations: /usr 
Version     : 1.0                               Vendor: MandrakeSoft
Release     : 6mdk                          Build Date: Сбт 23 Фев 2002 13:49:19
Install date: (not installed)               Build Host: bi.mandrakesoft.com
Group       : Networking/Other              Source RPM: adns-1.0-6mdk.src.rpm
Size        : 66902                            License: GPL
Packager    : Mandrake Linux Team <http://www.mandrakeexpert.com>
URL         : http://www.chiark.greenend.org.uk/~ian/adns/
Summary     : Advanced, easy to use, asynchronous-capable DNS client library
Description :
adns is a resolver library for C (and C++) programs. In contrast with
the existing interfaces, gethostbyname et al and libresolv, it has the
following features:
    * It is reasonably easy to use for simple programs which just want
      to translate names to addresses, look up MX records, etc.
    * It can be used in an asynchronous, non-blocking, manner. Many
      queries can be handled simultaneously
...
...
Рейтинг: 0 / 0
Прочитать MX record через Си в UNIX среде
    #36050535
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MoiseyВот нет случайно готовой функции в Си чтобы получить IP адрес smtp сервера зная лишь имя, например: gmail.com, mail.ru. Если нет, то как запрос делать к ДНС серверу чтобы получить этот IP.
man 3 resolver
man res_search

int res_search(const char *dname, int class, int type, unsigned char *answer, int anslen);
err = res_search (domain, C_IN, T_MX, &answer, sizeof(answer));
...
Рейтинг: 0 / 0
Прочитать MX record через Си в UNIX среде
    #36052987
Moisey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЁшMoiseyВот нет случайно готовой функции в Си чтобы получить IP адрес smtp сервера зная лишь имя, например: gmail.com, mail.ru. Если нет, то как запрос делать к ДНС серверу чтобы получить этот IP.
man 3 resolver
man res_search

int res_search(const char *dname, int class, int type, unsigned char *answer, int anslen);
err = res_search (domain, C_IN, T_MX, &answer, sizeof(answer));
Похоже то что нужно, только вот answer что-то не понятное в себе содержит после выполнения функции. Не знаете что там должно быть и как все таки IP получить?
...
Рейтинг: 0 / 0
Прочитать MX record через Си в UNIX среде
    #36053057
3270
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Прочитать MX record через Си в UNIX среде
    #36053059
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MoiseyЁшMoiseyВот нет случайно готовой функции в Си чтобы получить IP адрес smtp сервера зная лишь имя, например: gmail.com, mail.ru. Если нет, то как запрос делать к ДНС серверу чтобы получить этот IP.
man 3 resolver
man res_search

int res_search(const char *dname, int class, int type, unsigned char *answer, int anslen);
err = res_search (domain, C_IN, T_MX, &answer, sizeof(answer));
Похоже то что нужно, только вот answer что-то не понятное в себе содержит после выполнения функции. Не знаете что там должно быть и как все таки IP получить?думаю что answer содержит ответ DNS сервера в бинарном формате описанном в RFC на DNS
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Прочитать MX record через Си в UNIX среде
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]