Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Немогу определить тип переменной


Автор: RinOSpro 10.1.2008, 14:19
Здраствуйте нашел код но там переменные потерлись куда то... 

Код

//Пишем версию и длину ip-пакета 
ipHeader.ip_verlen:=((4 shl 4)or sizeof(ipheader) div sizeof(longword)); 
ipHeader.ip_len:=htons(Size); 
ipHeader.ip_tos:=0; //Приоритет пакета 
ipHeader.ip_id:=1; //id-пакета 
ipHeader.ip_offset:=0; //смещение 
ipHeader.ip_ttl:=128; //время жизни пакета 
ipHeader.ip_protocol:=IPPROTO_TCP; //протокол 


Помогите плиз определить тип переменной ipHeader, и вот этот кусочек по подробнее прокоментируйте плиз!

Автор: Snowy 10.1.2008, 14:29
А вот тип и описание ищи там же, откуда взял пример.
Это самописный тип.

Автор: RinOSpro 10.1.2008, 14:44
ясн, придется саммому писать его.

Автор: ne0n 10.1.2008, 16:33
RinOSpro,  DoS это плохо, и можно получить люлей  smile 

Автор: RinOSpro 10.1.2008, 16:47
ne0n а с чего ты взял что это дос, это пример работы с пакетами на низком уровне. а с сетью работать я не умею вот и учусь.

Автор: ne0n 10.1.2008, 16:53
RinOSpro,  c того что твой участок кода скопипастен из статьи, в которая как раз расписано как делать DoS атаку smile 

Автор: RinOSpro 10.1.2008, 17:01
ne0n smile  вообщето хз где че написано но это не то что ты думаешь

Автор: Snowy 10.1.2008, 17:05
ne0n, а статья, небось, в журнале хакер...
А то мы не знаем, как они эти статьи пишут.
Скорее всего они сами содрали этот кусок, потому и совпадает.
А вообще обычное заполнение packed record структуры IP пакета.
Можно найти описание структуры пакета и восстановить, либо мо куску кода нагуглить его родину.

Автор: ne0n 10.1.2008, 17:17
Snowy, хм, не даже ни из хакера smile, а скакого то кул-хацкерского ресурса, вбил строку(из этого куска) в яндекс и вуаля, ссылки на стотью smile впринципе знать конечно полезно, но мне кажеться стоит учитьтся не по таким статьям, и MSDN придумали не просто так...

Добавлено через 2 минуты и 1 секунду
RinOSpro,  если твои намерения действительно чисты то:
Код


  iph = record 
    ip_verlen: byte; //Версия и длина  
    ip_tos: byte; //Приоритет пакета 
    ip_len: word; // Длина заголовка 
    ip_id: word; // id -пакета 
    ip_offset: word; //Смещение 
    ip_ttl: byte; //Время жизни 
    ip_protocol: byte; //Протокол 
    ip_checksum: word; //Контрольная сумма 
    ip_saddr: longword; //Адрес отправителя 
    ip_daddr: longword; //Адрес получателя 
  end;


Автор: Snowy 10.1.2008, 17:23
Там должен быть не record, а packed record.
Либо перед этим в коде стоит директива отмены выравнивания.
Не может пакет быть выровненным.

Автор: ne0n 10.1.2008, 17:31
угу,ну дык я думаю это было сделано автором намерено, типа защиты от дурака) а вообще я такое вижу не впервый раз, помоему даже в drkb в какойто статье наблюдал такое же, но ни каких директив не было.

Автор: RinOSpro 10.1.2008, 20:37
ne0n ты прав учиться по обрывкам кода не есть гуд, может подскажешь статью на руском языке, по работе с пакетами на низком уровне, формирование с 0 и т.д.

Автор: ne0n 10.1.2008, 22:45
RinOSpro, Неа, не знаю таких(особо то и не искал). Возьми любую путную книжку по архитектуре сетей(протоколы итп), вот это и есть изучение с нуля) потом поразбирайся с WinSock, и будет тебе счастье)

Автор: RinOSpro 11.1.2008, 11:02
ne0n сколько книжек по архитектуре видел там чистая теория без програмирования.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)