|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июл 18, 2004 10:09:33 Как на winSock ловить не только все входящие но и исходящие пакеты? WSAIoctl(sock,RCV_ALL,...) ловит только все поступающие пакеты (FD_WRITE не срабатывает) |
|
|
Дата: Июл 21, 2004 20:14:49 invoke WSAIoctl, s, SIO_RCVALL, addr optval, 4, 0, 0, addr dwBytesRet, 0, 0 режим Promisk все исходящие и входящие |
|
|
Дата: Июл 22, 2004 09:31:36 Наконец кто хоть ответил ):-) Да это режим promisc. mode все верно, все устанавливается без ошибок но исходящие пакеты не ловятся? optval = 1 ? вот мой исходный код - sock = WSASocket(AF_INET,SOCK_RAW,IPPROTO_IP, NULL,0,WSA_FLAG_OVERLAPPED); bind(sock,(SOCKADDR *)&addr,sizeof(addr)); //bind на свой IP адрес после выхода в инет DWORD Optval = 1; WSAIoctl(sock,SIO_RCVALL,&Optval,sizeof(Optval) ,0,0,&bBytesReturned,0,0); WSAAsyncSelect(sock,hWnd,WM_ASYNC_SELECT,FD_READ); И в мессаже FD_READ получаем только входящие пакеты? Если ставить FD_READ|FD_WRITE тоже самое? Хоть убей лезут тока пакеты со своим собственным dest IP |
|
|
Дата: Июл 22, 2004 14:30:12 Не должны они ловиться. Если хочешь исходящие, то перехватывай send или юзай winpcap или драйвер пиши. Тема уже сто раз поднималась. |
|
|
Дата: Июл 22, 2004 16:24:27 Все нормально в промиск работает вот два пакета перехваченые моим снифером (мой ИП 10.5.1.113) E 0s@ €ñÄ qÕã Ut Ù p@ ÇA ´E ,æš@ =c¡Õ q ã?C Ut Ú`ÿÿ™¶ ´ (скопируй в хексе глянь) там 113 сначала в Source потом в Destination вот кусок кода invoke WSAIoctl, s, SIO_RCVALL, addr optval, 4, 0, 0, addr dwBytesRet, 0, 0 .if eax == SOCKET_ERROR ;Error: WSAIoctl xor eax,eax ret .endif lea edi,wbuf cld mov eax,PACKET_BUFFER_SIZE stosd lea eax,pcap_buffer stosd mov dwBytesRet,0 mov dwFlags,0 ;Decode IP header! ;invoke DecodeIpHeader,addr wbuf invoke CreateFile,addr File,GENERIC_WRITE,FILE_SHARE_READ,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NOR MAL,GENERIC_READ mov hFile,eax invoke SetFilePointer,eax,0,addr TEMP,FILE_END do2: lea esi,TermThread mov eax,[esi] test eax,eax jnz endthread invoke WSARecv, s, addr wbuf, 1, addr dwBytesRet, addr dwFlags, 0, 0 .if eax == SOCKET_ERROR ;Error: WSARecv invoke CloseHandle, hFile xor eax,eax ret .endif invoke DecodeIpHeader,addr wbuf test eax,eax jz do2 lea eax,wbuf mov esi,[eax+4] mov ah,[esi+2] mov al,[esi+3] and eax,0FFFFh invoke WriteFile,hFile,addr pcap_buffer,eax,addr wb,NULL mov eax,RecPack inc eax mov RecPack,eax invoke PostMessage,handle,WM_USER,NULL,NULL jmp do2 endthread: mov TermThread,0 invoke CloseHandle, hFile ret Если вдруг не заметил то получаю пакет функцией invoke WSARecv, s,addr wbuf,1, addr dwBytesRet,addr dwFlags,0,0 думаю теперь проблемы нет. |
|
|
Дата: Июл 22, 2004 16:32:29 Да проверил копирование, текст пакетов исказился вот я набил руками 45 00 00 30 15 73 40 00 80 06 F1 C4 0A 05 01 71 D5 18 13 02 08 E3 09 1D 55 74 20 D9 00 00 00 00 70 02 40 00 C7 41 00 00 02 04 05 B4 01 01 04 02 /второй 45 00 00 2C E6 9A 40 00 3D 06 63 A1 D5 18 13 02 0A 05 01 71 09 1D 08 E3 3F 81 43 00 55 74 20 DA 60 12 FF FF 99 B6 00 00 02 04 05 B4 |
|
|
Дата: Июл 23, 2004 08:44:50 to kamatoz. это код блокирующих сокетов, делал ли ты это на асинхронных сокетах? Зачем сделали месаж FD_WRITE если на него не идут сообщения вообще, по идее там должны исходящие ловиться? Какое значение optval у тебя? Есть ли разница чем принимать между WSARecv() и recv(), я использую recv()? |
|
|
Дата: Июл 25, 2004 08:08:00 to kamatoz Я порылся по исходникам других сайтов, их авторы также прилагали логи снифера для примера, там так же как у тебя ловятся и исходящие пакеты, запускаю их исходники у меня опять тоже самое Ж8-О только входящий трафик??????????? Может у меня в настройках INET соединения что не так? У меня winXP в нет выход по сотику. |
|
|
Дата: Июл 25, 2004 18:40:41 Хоч давай маил пришлю исполнимый. ТАм решишь в чем косяк. На счет инета, исходящие пакет все равно идут у тебя как входящие. Только, как мне кажется, Сотик конектится через USB а сокеты вроде как для Сетевой, хотя я могу и ошибаться. Асинхронные сокеты я пока не юзал. у меня mov optval,1. На счет recv она работает похоже по другому - в ws2_32 объявлена без ссылки на wsarecv. Попробуй именно Wsarecv. |
|
|
Дата: Июл 26, 2004 08:48:06 да у сотика встроенный модем, подключается через USB. Запускал я и чужие исходники с синхронными сокетами и с WSArecv() (optval=1 у всех везде) все тоже самое только входящий трафик (в чужих логах вместе с исходниками у них все нормально весь трафик!). Ж8-О Мож этот режим только работает если есть сетевая карта? у меня ее нет, или значения optval надо ставить другие? В логе winXP pfirewall.log все наоборот только исходящие пакеты и соединения?, входящие регистрируются только DROP пакеты (отброшенные)! |
|
|
Дата: Июл 26, 2004 15:38:10 Да наверно, режим промиск присутствует только у сетевой карты. А от компаний разработчиков не пробовал ставить сниферы ( типа Iris)??? У тебя похоже надо на уровне драйверов с пакетами работать - типа picap что то надо... |
|
|
Дата: Июл 26, 2004 17:25:01 Прав был Hello_world буду wincap и тому подобное пытаться юзать. Готовые снифферы от разработчиков могут и не только трафик перехватывать а и ченибуть у тебя самого стырить :-[], я берусь только за исходники. |
|
|
Дата: Июл 26, 2004 17:51:22 Он был не прав на счет сетевой)) |
|
|
Дата: Июл 27, 2004 22:42:23 Забыл сказать... у меня модем kamatoz Покажи код |
|
|
Дата: Июл 28, 2004 17:20:25 Лажу исходник и исполнимый но у меня сетевая карта!!! вобщем он сырой фильтр не сделан руки еще не дошли. исходник в .bat 1609757791__snifer.rar |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.051 |