Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.11;
Скачать: CL | DM;

Вниз

MX-запись из DNS   Найти похожие ветки 

 
Wistler ©   (2005-08-30 14:15) [0]

Доброго времени суток.

Необходимо получить MX-запись. Проблема в том, что не могу получить запрос на свой ответ. Код приведён ниже.

Var
 WSData:WSAData;
 S, RS:Integer;
 SockAddr, ToAddr, Local:sockaddr_in;
 Res:Integer;
 Request:String;
 Buf, RBuf:Array of Byte;
 I:Word;
 L:Integer;
begin
 WSAStartup(514, WSData);
 RS:=socket(AF_INET, SOCK_DGRAM, 0);
 Local.sin_family:=AF_INET;
 Local.sin_port:=htons(53);
 Local.sin_addr.S_addr:=htonl(INADDR_ANY);
 bind(RS, Local, SizeOf(Local));

 S:=socket(AF_INET, SOCK_DGRAM, 0);
 SockAddr.sin_family:=AF_INET;
 SockAddr.sin_port:=htons(53);
 SockAddr.sin_addr.S_addr:=htonl(INADDR_ANY);
 bind(S, SockAddr, SizeOf(SockAddr));
 SetLength(RBuf, 10000);

 ToAddr.sin_family:=AF_INET;
 ToAddr.sin_port:=htons(53);
 ToAddr.sin_addr.S_addr:=inet_addr("192.168.1.1");
 If connect(S, ToAddr, SizeOf(ToAddr))<>SOCKET_ERROR then
   begin
     Randomize;
     Request:=WordToTwoCharStr(Random(65536));
     Request:=Request+WordToTwoCharStr(0);
     Request:=Request+WordToTwoCharStr(1);
     Request:=Request+Chr(0)+Chr(0)+Chr(0)+Chr(0)+Chr(0)+Chr(0);
     Request:=Request+DoDomainName("mail.ru")+Chr(0);
     Request:=Request+WordToTwoCharStr(15);
     Request:=Request+WordToTwoCharStr(1);
     SetLength(Buf, Length(Request));
     For I:=1 to Length(Request) do
       Buf[I-1]:=Byte(Request[I]);
     Res:=send(S, Buf, Length(Buf), 0);
     If Res=SOCKET_ERROR then
       ShowMessage("Send Error");
   end
 else
   ShowMessage("Connect failed");
 closesocket(S);
 Res:=SOCKET_ERROR;
 While Res=SOCKET_ERROR do
   begin
     Res:=recv(RS, RBuf, Length(RBuf), 0);
     If Res<>SOCKET_ERROR then Break;
   end;
 ShowMessage("Recive");
 WSACleanup;


 
Wistler ©   (2005-08-30 14:51) [1]

Описался, конечно, не запрос на ответ, а ответ на запрос



Страницы: 1 вся ветка

Текущий архив: 2005.12.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.029 c
14-1132226125
dr Tr0jan
2005-11-17 14:15
2005.12.11
Кто помнит Basic?


3-1130411409
diwww
2005-10-27 15:10
2005.12.11
Получить позицию первой выводимой записи в DBGrid-е


4-1129026072
Alex_Korn
2005-10-11 14:21
2005.12.11
Размер стека


1-1131700195
IGray
2005-11-11 12:09
2005.12.11
Как узнать, загружена ли чужая DLL abc.dll в память?


1-1131793569
<PREDATOR>
2005-11-12 14:06
2005.12.11
Как запустить прогу из командной строки