Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

DNS запрос [D5, Win95/98, WinME, NT4, Win2k, WinXP]


Аноним ©   (2003-08-20 22:25:00) 

Ребята! Подскажите где можна найти инфу как посылать DNS-запросы по протоколу UDP. А самое главное как их формировать? Мне самому надо определять IP отправителя, UDP-порт и ID ответа. Подскажите где искать. Перерыл кучк документации по WinSock - ничего нужного.


Verg   (2003-08-22 04:55:00) [1]


> А на голом АПИ без компонентов можна?


Эт-то уже напоминает "на голом компе без ОС можна?"

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


Rouse_   (2003-08-22 00:55:00) [2]

Как я понял Вам нужно вывести вместо страницы запрашиваемой пользователем свою (или свой ответ)? (Это с оговоркой что Вы Админ).
Тогда зачем подделывать IP?

А на голом API
WSAStartup..
Socket...
Bind...
и т.д. Все есть в хелпах и FAQ

Желаю успехов


Аноним   (2003-08-21 22:17:00) [3]

А на голом АПИ без компонентов можна?


Аноним   (2003-08-21 13:31:00) [4]

>кул хацкеры млин...
Я админ вообще то.......


Голова   (2003-08-21 09:37:00) [5]

кул хацкеры млин...


Аноним   (2003-08-21 08:42:00) [6]

>Это означает что пакет уже принят? Ну раз так, то порт Вам уже >известен.
>Что значит IP отправителя? Вам известен URL отправителя?
Пакет еще не принят, его нужно отправить. А Ip - подделать.


Verg   (2003-08-21 07:18:00) [7]

Уже опять :)
http://www.ararat.cz/synapse/

Там прям такой класс есть TDNSSend

все в исходниках!

И даже для особо одаренных:

function GetMailServers(const DNSHost, Domain: string;
const Servers: TStrings): Boolean;
var
DNS: TDNSSend;
t: TStringList;
n, m, x: Integer;
begin
Result := False;
Servers.Clear;
t := TStringList.Create;
DNS := TDNSSend.Create;
try
DNS.DNSHost := DNSHost;
if DNS.DNSQuery(Domain, QType_MX, t) then
begin
{ normalize preference number to 5 digits }
for n := 0 to t.Count - 1 do
begin
x := Pos(",", t[n]);
if x > 0 then
for m := 1 to 6 - x do
t[n] := "0" + t[n];
end;
{ sort server list }
t.Sorted := True;
{ result is sorted list without preference numbers }
for n := 0 to t.Count - 1 do
begin
x := Pos(",", t[n]);
Servers.Add(Copy(t[n], x + 1, Length(t[n]) - x));
end;
Result := True;
end;
finally
DNS.Free;
t.Free;
end;
end;


Rouse_   (2003-08-20 23:43:00) [8]

> надо определять IP отправителя, UDP-порт
Это означает что пакет уже принят? Ну раз так, то порт Вам уже известен.
Что значит IP отправителя? Вам известен URL отправителя?

Поконкретней пожалуйста

Желаю успехов


aralekin   (2003-08-20 22:40:00) [9]

Можно попробовать стандартным компонентом TUdpSocket .... я на подобие делал.... но вот только в локалке....


Наверх

Титульная страница Поиск, карта сайта Написать письмо