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

  #11  
Старый 25.11.2008, 19:21
0verbreaK
Постоянный
Регистрация: 30.04.2008
Сообщений: 323
Провел на форуме:
379101

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

xpsp2tcpipfix.exe - патч поможет с сырыми сокетами

Суть ограничения:
http://social.msdn.microsoft.com/Forums/en-US/netfxnetcom/thread/7c815a9d-d8af-4e57-b64a-371002e8487f/

Также хорошим решением является пакет WinPCAP, которые с открытым исходным кодом, документацией, к тому же Delimiter писал на ачате про использование его (правда про ARP так и не закончил)

Последний раз редактировалось 0verbreaK; 25.11.2008 в 19:25..
 
Ответить с цитированием

  #12  
Старый 25.11.2008, 21:44
t04
Участник форума
Регистрация: 10.01.2007
Сообщений: 140
Провел на форуме:
246020

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

ммм, а как именно юзать WinPCap?
Где об этом можно почитать?
 
Ответить с цитированием

  #13  
Старый 25.11.2008, 22:14
criz
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
Провел на форуме:
811764

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

Тут
А еще мне в свое время помогли вот эти ссылки:
Цитата:
http://security.h12.ru/docs/windows/arhitektura_zahvata_paketov_dlya_windows_winpcap_( chast_1).htm
http://security.h12.ru/docs/windows/arhitektura_zahvata_paketov_dlya_windows_winpcap_( chast_2).htm
http://security.h12.ru/docs/windows/arhitektura_zahvata_paketov_dlya_windows_winpcap_( chast_3).htm
Примерно с этой темы начинаются мои "мучения" с winpcap'ом
А потом появилось: RST киллер или все через "призму" WinPCap Спасибо Delimiter'у

Последний раз редактировалось criz; 25.11.2008 в 22:28.. Причина: upd
 
Ответить с цитированием

  #14  
Старый 27.11.2008, 21:25
t04
Участник форума
Регистрация: 10.01.2007
Сообщений: 140
Провел на форуме:
246020

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

ссылочки то битые
есть зеркала? или може сохранял их?
 
Ответить с цитированием

  #15  
Старый 27.11.2008, 21:55
bons
Участник форума
Регистрация: 20.12.2007
Сообщений: 295
Провел на форуме:
1777055

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

убери пробелы, которые форум вставил в ссылки и все будет ок
 
Ответить с цитированием

  #16  
Старый 27.11.2008, 22:52
t04
Участник форума
Регистрация: 10.01.2007
Сообщений: 140
Провел на форуме:
246020

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

а те что в статье делиметра (там сырцы на слил ру)

вообще опыта нету на Си работы, скачал себе Дев-С++ сижу мозги разминаю.
 
Ответить с цитированием

  #17  
Старый 27.11.2008, 23:39
0verbreaK
Постоянный
Регистрация: 30.04.2008
Сообщений: 323
Провел на форуме:
379101

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

Дев-С++ отложи в сторонку лучше поставь себе Microsoft Visual Studio C++ или Borland Builder C++, при всем уважении к GCC
 
Ответить с цитированием

  #18  
Старый 28.11.2008, 00:03
t04
Участник форума
Регистрация: 10.01.2007
Сообщений: 140
Провел на форуме:
246020

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

качаю Visual.Studio.2005.Express (вроде там ток с++ если верно понял)
но нашел вроде какуюто библиотеку для делфи
вот линк http://www.misalpina.net/ghost3k/mypcap.zip
не пойму как заюзать. помогите plz
 
Ответить с цитированием

  #19  
Старый 28.11.2008, 01:16
bons
Участник форума
Регистрация: 20.12.2007
Сообщений: 295
Провел на форуме:
1777055

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

может это тебе поможет
вот исходник генератора пакетов, написал давно и иногда пользуюсь. В файле, имя которого надо передавать в аргументах, должен быть пакет канального уровня - с ethernet заголовком. Также надо указать номер адаптера

Код:
//Утилита передает содержимое файла
//напрямую сетевому адаптеру([к]анальный уровень)

program Generator;
{$APPTYPE CONSOLE}
uses windows;
//Описания структур
type packet = packed record
      OVERLAPPED: OverLapped;
      Buffer: pointer;
      Length: cardinal;
      Next: pointer;
      ulBytesReceived: cardinal;
      bIoComplete: boolean;
     end;
     ADAPTER = packed record
      hFile:cardinal;
      SymbolicLink: PAnsiChar;
     end;

//описания констант
const  SIMULTANEOU_READS = 10;
       MAX_ETHERNET_FRAME_SIZE = 1513;
       Max_Num_Adapter=5;
       NDIS_PACKET_TYPE_PROMISCUOUS = $0020;
       NumberOfPacket:cardinal=1; //How mutch send Packets

//импортируемые функции
function PacketGetAdapterNames(pStr:pointer; BufferSize:pointer):longint;stdcall;
 external 'packet.dll';
function PacketOpenAdapter(AdapterName:pointer):pointer; stdcall;
 external 'packet.dll';
function PacketAllocatePacket:pointer; stdcall;
 external 'packet.dll';
function PacketSetHwFilter(AdapterObject:pointer; Filter:cardinal):boolean; stdcall;
 external 'packet.dll';
procedure PacketInitPacket(lpPacket:pointer; Buffer:pointer; Length:cardinal); stdcall;
 external 'packet.dll';
function PacketSetNumWrites(AdapterObject:pointer; nwrites:integer):boolean; stdcall;
 external 'packet.dll';
function PacketSendPacket(AdapterObject:pointer; lpPacket:pointer; Sync:boolean):boolean; stdcall;
 external 'packet.dll';
procedure PacketFreePacket(lpPacket:pointer); stdcall;
 external 'packet.dll';
procedure PacketCloseAdapter(lpAdapter:pointer); stdcall;
 external 'packet.dll';

//Описания переменных
var //Список идентификаторов сетевых адаптеров
    AdapterList: array[0..Max_Num_Adapter-1, 0..255] of char;
    //Список имён сетевых адаптреров
  	AdapterNameList: array[0..Max_Num_Adapter-1, 0..255]of char;
    //Хэндл проекции файла
    hMap:cardinal;
    //Указатель на область памяти с отображенным файлом
    pBuf:pointer;
    //Номер используемого адаптера
    NAdapter:integer;
    //Указательн на структуру сетевого пакета
    lppacket:^Packet;
    //Указатель на структуру открытого адаптера
    lpadapter:^ADAPTER;
    //Хэндл файла
    hFile:cardinal;
    //Буфер для списка адаптеров и их названий
    AdapterBuffer:array [0..4095] of char;
    dwFileSize:word;
    AdapterBufferLength: cardinal;
    i,j,n:integer;

begin
 //Формирование списка адаптеров
 AdapterBufferLength := sizeof(AdapterBuffer);
 PacketGetAdapterNames(@AdapterBuffer, @AdapterBufferLength);

 n:=0; j:=0;
 while AdapterBuffer[j]<>#0 do begin
  lstrcpy(@AdapterList[n], @AdapterBuffer[j]);
  j:=j+lstrlen(@AdapterBuffer[j])+1;
  inc(n);
 end;
 while AdapterBuffer[j] = #0 do j:=j+1;
 for i:=0 to n-1 do begin
  lstrcpy(@AdapterNameList[i], @AdapterBuffer[j]);
  j:=j+lstrlen(@AdapterBuffer[j]) + 1;
 end;

 writeln('# Packet Generator on packet.dll');
 writeln('# ',n,' adapters detected');
 for j:=0 to n-1 do writeln(j+1,'. ', pChar(@AdapterNameList[j]), 
  ' - ', pChar(@AdapterList[j]));
 writeln;

 if ParamCount<2 then begin
   writeln('Usage: generator N_adapter packet_file');
   exit;
  end;

 //Выбор используемого адаптера
 if n=1 then NAdapter:=0
 else begin
 
  val(ParamStr(1), NAdapter, i);
  if (NAdapter>n) or (NAdapter=0) then begin
   writeln ('Invalid number');
   exit;
  end;
  NAdapter := NAdapter-1;
 end;
 writeln('# Selected adapter - ',pChar(@AdapterNameList[NAdapter]));

 //Адаптер нужно открыть
 lpAdapter := PacketOpenAdapter(@AdapterList[NAdapter]);
 if lpadapter.hFile=INVALID_HANDLE_VALUE then begin
  writeln('Error open adapter');
  exit;
 end;

 //Перевод адаптера в режим принятия всех пакетов
 if not PacketSetHwFilter(lpAdapter, NDIS_PACKET_TYPE_PROMISCUOUS) then begin
  writeln('! Could not set promiscuous type');
  //PacketCloseAdapter(lpAdapter);
  exit;
 end;
 writeln('# promiscuous type success');

 //Выделяется память для пакета
 lpPacket:= PacketAllocatePacket;
 if lpPacket=nil then begin
  writeln('! Could not allocate packet');
  //PacketCloseAdapter(lpAdapter);
  exit;
 end;
 writeln('# packet allocated success');

 //Открывается файл с пакетом
 hFile:=CreateFile(pChar(ParamStr(2)), GENERIC_READ, FILE_SHARE_READ,
  nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
 if hFile = INVALID_HANDLE_VALUE then begin
  writeln('Could not open file');
  //PacketFreePacket(lpPacket);
  //PacketCloseAdapter(lpAdapter);
  exit;
 end;
 dwFileSize:=GetFileSize(hFile, nil);
 hMap:=CreateFileMapping(hFile, nil, PAGE_WRITECOPY, 0, 0, nil);
 pBuf:=MapViewOfFile(hMap, FILE_MAP_COPY, 0, 0, 0);
 writeln;

 writeln('# File open success');
 writeln('# File size - ', dwFileSize);

 //Инициализация структуры пакета
 PacketInitPacket (lppacket, pBuf, dwFileSize);

 //Установка количества посылаемых пакетов
 PacketSetNumWrites (lpAdapter, NumberOfPacket);
 writeln('# Start sending');

 PacketSendPacket (lpAdapter, lpPacket,false);
 writeln('# All done.');

 //Проекция файла уничтожается
 UnmapViewOfFile(pBuf);
 CloseHandle(hMap);
 CloseHandle(hFile);
end.

Последний раз редактировалось bons; 28.11.2008 в 01:30..
 
Ответить с цитированием

  #20  
Старый 28.11.2008, 02:53
t04
Участник форума
Регистрация: 10.01.2007
Сообщений: 140
Провел на форуме:
246020

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

то есть как я понял надо в [pBuf : pointer;] запихать UDP пакет? или я ошибся (что скорее всего).
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите проблема.. brasco2k *nix 7 06.06.2008 11:43
Проблема с установкой proxy Utochka Уязвимости 3 09.05.2006 01:03
ВАЖНАЯ ПРОБЛЕМА!!! Sn_key Уязвимости 13 08.06.2005 15:50



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


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




ANTICHAT.XYZ