Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

25.11.2008, 19:21
|
|
Постоянный
Регистрация: 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..
|
|
|

25.11.2008, 21:44
|
|
Участник форума
Регистрация: 10.01.2007
Сообщений: 140
Провел на форуме: 246020
Репутация:
105
|
|
ммм, а как именно юзать WinPCap?
Где об этом можно почитать?
|
|
|

25.11.2008, 22:14
|
|
Постоянный
Регистрация: 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
|
|
|

27.11.2008, 21:25
|
|
Участник форума
Регистрация: 10.01.2007
Сообщений: 140
Провел на форуме: 246020
Репутация:
105
|
|
ссылочки то битые 
есть зеркала? или може сохранял их?
|
|
|

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

27.11.2008, 22:52
|
|
Участник форума
Регистрация: 10.01.2007
Сообщений: 140
Провел на форуме: 246020
Репутация:
105
|
|
а те что в статье делиметра (там сырцы на слил ру)
вообще опыта нету на Си работы, скачал себе Дев-С++ сижу мозги разминаю.
|
|
|

27.11.2008, 23:39
|
|
Постоянный
Регистрация: 30.04.2008
Сообщений: 323
Провел на форуме: 379101
Репутация:
136
|
|
Дев-С++ отложи в сторонку лучше поставь себе Microsoft Visual Studio C++ или Borland Builder C++, при всем уважении к GCC
|
|
|

28.11.2008, 00:03
|
|
Участник форума
Регистрация: 10.01.2007
Сообщений: 140
Провел на форуме: 246020
Репутация:
105
|
|
качаю Visual.Studio.2005.Express (вроде там ток с++ если верно понял)
но нашел вроде какуюто библиотеку для делфи
вот линк http://www.misalpina.net/ghost3k/mypcap.zip
не пойму как заюзать. помогите plz
|
|
|

28.11.2008, 01:16
|
|
Участник форума
Регистрация: 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..
|
|
|

28.11.2008, 02:53
|
|
Участник форума
Регистрация: 10.01.2007
Сообщений: 140
Провел на форуме: 246020
Репутация:
105
|
|
то есть как я понял надо в [pBuf : pointer;] запихать UDP пакет? или я ошибся (что скорее всего).
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|