ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Перехват пакетов
  #1  
Старый 19.01.2009, 22:31
Аватар для WON
WON
Новичок
Регистрация: 02.07.2008
Сообщений: 17
Провел на форуме:
93013

Репутация: 8
По умолчанию Перехват пакетов

Решил написать программку для пеерхвата пакетов только для моего компьютера, для начала хотя бы читать их содержимое...
Начал писать на С++, но прога не очень то и работает... Непонятно когда и по каким принцыпам(лично для меня так) она выводит содержимое пакетов(и то не всё)... Может мне ктонибудь подскажет аглоритм и программые методы для осуществение моей цели...

Код:
#include <winsock2.h>
#include <windows.h>
#include <iostream.h>
#include <conio.h>
#include <stdio.h>

#pragma comment( lib, "wsock32.lib" )

int main()
{
	WSADATA wd;
	char buff[1000];
	SOCKET s, news;
	sockaddr_in sin, newsin;

	sin.sin_family = AF_INET;
	sin.sin_port = htons(2593);
	sin.sin_addr.s_addr = inet_addr("127.0.0.1");
	
	if(FAILED(WSAStartup( MAKEWORD(2,2), &wd)) )
	{
		cout<<"WSA error - "<<WSAGetLastError()<<endl;
		return -1;
	}

	if( (s=socket(AF_INET,SOCK_STREAM,0)) == -1 )
	{
		cout<<"WSA error - "<<WSAGetLastError()<<endl;
		return -1;
	}

     if(bind(s, (sockaddr*)&sin, sizeof(sin) ) == -1 )
     {
          cout<<"Can't bind"<<endl;
          return -1;
     }

	cout<<"Wait for connections..."<<endl;
	int i=0, len = sizeof(newsin);
	if(listen(s,5) == -1)
	{
		cout<<"Cant listen"<<endl;
	}
	int c = 0, tmp;
	while( c < 1 )
	{
		if( (news = accept(s, (sockaddr*)&newsin, &len)) == INVALID_SOCKET )
		{
			cout<<"Accept failed"<<endl;
			getch();
			return -1;
		}
		else
		{
			cout<<"New client "<<c<<endl;
			int msg;
			if(FAILED(msg = recv(news, buff, sizeof(buff),0 )))
				return E_FAIL;
			for(int i = 0; i < 1000; i++)
				if( isalnum(buff[i]) )
					cout<<buff[i];
			cout<<endl;
			//closesocket(news);
			++c;
		}
	}

		tmp = recv(news,buff, sizeof(buff),0 );
		if( tmp != SOCKET_ERROR )
			for(int i = 0; i < 1000; i++)
				if( isalnum(buff[i]) )
					cout<<buff[i];
		tmp = recv(news,buff, sizeof(buff),0 );
		if( tmp != SOCKET_ERROR )
			for(int i = 0; i < 1000; i++)
				if( isalnum(buff[i]) )
					cout<<buff[i];

	closesocket(s);
	closesocket(news);
	WSACleanup();

	return 0;
}
Код как я сам понимаю - бред...
 
Ответить с цитированием

  #2  
Старый 19.01.2009, 22:43
Аватар для Qws
Qws
Участник форума
Регистрация: 17.06.2008
Сообщений: 161
Провел на форуме:
2550251

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

Почемуже бред?В некоторих местах криво,хотя в полне прилично))))
Зы:Я новичок)))
 
Ответить с цитированием

  #3  
Старый 19.01.2009, 22:45
Аватар для criz
criz
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
Провел на форуме:
811764

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

эммм...у меня глюк или ты не перевел интерфейс в promisc-режим?
http://forum.antichat.ru/showthread.php?p=1011673
ТС, твой код пример обычного клиент/сервернго приложения...тока без клиента)))

Последний раз редактировалось criz; 19.01.2009 в 23:00..
 
Ответить с цитированием

  #4  
Старый 19.01.2009, 23:54
Аватар для WON
WON
Новичок
Регистрация: 02.07.2008
Сообщений: 17
Провел на форуме:
93013

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

Цитата:
Сообщение от Qws  
Почемуже бред?В некоторих местах криво,хотя в полне прилично))))
Зы:Я новичок)))
Я например захожу в КС... оно должно мне выводить на экран содержимое пакетов при игре а оно мне выводит пустоту напостой..

Цитата:
Сообщение от criz  
эммм...у меня глюк или ты не перевел интерфейс в promisc-режим?
http://forum.antichat.ru/showthread.php?p=1011673
ТС, твой код пример обычного клиент/сервернго приложения...тока без клиента)))
это да... за ссылочку спасибо.. но там заумный для меня код... может есть что по проще... может на Delphi... И ещё по той ссылке что ты мне дал упоминался WinAPI и сетевые протоколы низких уровней... Может они проще...

Последний раз редактировалось WON; 19.01.2009 в 23:58..
 
Ответить с цитированием

  #5  
Старый 20.01.2009, 00:49
Аватар для SlyBit
SlyBit
Познающий
Регистрация: 04.07.2008
Сообщений: 56
Провел на форуме:
390892

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

WON

Твой код не предназначен для перехвата пакетов.

Тут http://www.ntkernel.com/w&p.php?id=14 расписаны методы перехвата пакетов, позволяющие их редактировать.

Самый простой способ внедрять в каждый процесс библиотеку, перехватывающую функции для работы с сокетами (модификация IAT или сплайзинг connect, send, sendto, WSASend, WSASendTo, recv, recvfrom, WSARecv).
 
Ответить с цитированием

  #6  
Старый 20.01.2009, 00:51
Аватар для Dr Flint
Dr Flint
Участник форума
Регистрация: 29.12.2008
Сообщений: 118
Провел на форуме:
795987

Репутация: 64
Отправить сообщение для Dr Flint с помощью ICQ Отправить сообщение для Dr Flint с помощью AIM Отправить сообщение для Dr Flint с помощью Yahoo
По умолчанию

чем тебе пабликовские сниферы не нравятся?)
 
Ответить с цитированием

  #7  
Старый 20.01.2009, 07:51
Аватар для criz
criz
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
Провел на форуме:
811764

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

Цитата:
Сообщение от WON  
но там заумный для меня код... может есть что по проще... может на Delphi... И ещё по той ссылке что ты мне дал упоминался WinAPI и сетевые протоколы низких уровней... Может они проще...
В первом твоем посте С-шный код, я тебе дал ссылку на С-шный код.
Может тебе надо сначала ознакомиться с документацией по TCP/IP? Потом код не будет казаться "заумным"
 
Ответить с цитированием

  #8  
Старый 20.01.2009, 16:42
Аватар для WON
WON
Новичок
Регистрация: 02.07.2008
Сообщений: 17
Провел на форуме:
93013

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

Цитата:
Сообщение от criz  
В первом твоем посте С-шный код, я тебе дал ссылку на С-шный код.
Может тебе надо сначала ознакомиться с документацией по TCP/IP? Потом код не будет казаться "заумным"
Чесно говря я не пытался казаться "заумным", просто в той ссылке что ты мне дал говорилось что есть готовые WinAPI функции и что с ними легче рабаотать... Спасибо... буду разбираться с тем кодом что есть...
 
Ответить с цитированием

  #9  
Старый 20.01.2009, 16:46
Аватар для Pernat1y
Pernat1y
Постоянный
Регистрация: 20.12.2007
Сообщений: 577
Провел на форуме:
1636674

Репутация: 171


По умолчанию

глянь сорцы того-же wireshark'a. он на Сях-же, вроде
 
Ответить с цитированием

  #10  
Старый 20.01.2009, 16:51
Аватар для criz
criz
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
Провел на форуме:
811764

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

WON, твой код отличается несколькими строчками: нет перевода интерфейса в promisc-режим и другой вывод информации
З.Ы. ну еще там IP-заголовок описан.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Wireshark - практика перехвата iv. Авторские статьи 7 03.03.2010 02:37
Перехват Gsm пакетов SNIFF Сотовый фрикинг 16 27.12.2009 22:25
Перехват данных: кто, где и как И.Г. Мировые новости 0 03.12.2006 22:46
Атака на VoIP: перехват novichok Аппаратное обеспечение 0 24.04.2006 15:30
Перехват пакетов В Интернете! NaemNIK Чаты 4 29.07.2003 23:06



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


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




ANTICHAT.XYZ