Грубо говоря я отдаленно левым ухом слышал что есть способ, не перехватывая ф/ыи, без драйвера, с поощью длл написать снифер, через который будет проходить все вызываа вин сокс. Порылся по нету но ничего путевого не нашел, мб кто подскажет о чем это я
Aspire возможно, но я видел способ с использование ДЛЛ и ф/ый Код (Text): WSCDeinstallProvider WSCEnumProtocols WSCInstallProvider WSCWriteProviderOrder ну и в длл там чтото подобное, к томуже как я понял в способе по ссылке незя опеределить порт, а это недопустимо )
Никто не знает что за ботва? Код (Text): cl : Command line error D8030 : INTERNAL COMPILER ERROR in '' Please choose the Technical Support command on the Visual C++ Help menu, or open the Technical Support help file for more information Просто я привык сначало скомпилировать а потом разбираться.
карочь приммерно таже трабла,только вот снифак я написал и есть у него "баг" чтоли)) скорей всего БОК)) у меня два компа соеденнёніх между собой + инет свичем....как только я в инете - снифак не улавливает всех пакетов...как только в инете другой комп,а у меня он как шлюз и днс - все гуда! и пароли и все пакеті,которіе требовались - чё за непонятка????!!!! юзаю WinSock2.2 sock - AF_INET, SOCK_RAW, IPPROTO_IP настройка в WSIoctl - SIO_RCVALL - переводим интерфейс в неразборчивый режим(все подряд кушаем) ...где трабла,мож настройки сокса неправильные??? мсдн - перечитал,инет - перечитал......уже чуть не забил на тот снифак) - если код кому интересен - выложу,не проблема!
SPA Ха-ха. Тебе ещё повезло. Хотя бы cl пишет. Я компилировал приложение для PocketPC, затем запускаю - ответ - "Настройки неправильно настроены. Свяжитесь с командой разработчиков". Очень информативно. Путём длительных изысканий (с покетом раньше не приходилось) выяснилось, что при установке 2005 студии MobileSDK почему-то не устанавливалось. Вопрос - почему бы так и не написать? Там ещё пункт меню есть - сбросить настройки по умолчанию. При его выполнении честно прописывает пути к скину и образу, ничего не говоря о том, что их не существует) Хотя, как оно скомпилировалось без SDK, непонятно.
sometime код очень интересен. сам давно пытался написать сниффер, но так и не смог сделать перехват именно в неразборчивом режиме
вот и он: Код (Text): include \masm32\include\windows.inc include \masm32\include\kernel32.inc include \masm32\include\user32.inc include \masm32\include\advapi32.inc include \masm32\include\wsock32.inc include \masm32\include\ws2_32.inc includelib \masm32\lib\kernel32.lib includelib \masm32\lib\user32.lib includelib \masm32\lib\advapi32.lib includelib \masm32\lib\wsock32.lib includelib \masm32\lib\ws2_32.lib wVerRequest dd 202h WSAdata struct wVersion dw 0 wHighVersion dw 0 szDescription db 100h dup(?) szSystemStatus db 80h dup(?) iMaxSockets dd 0 iMaxUdpUg dd 0 IpVendorInfo dd 0 WSAdata ends LpWSAdata WSAdata <> SIO_ADDRESS_LIST_QUERY equ 48000016h SIO_RCVALL equ 98000001h MAX_PACKET_SIZE equ 512000 ADDRLIST_SIZE equ 1024 Saf dd AF_INET Stype dd SOCK_RAW Sprotocol dd IPPROTO_IP RawSocket dd 0 addrlist dd 0 bytesret dd 1 addrcount dd 0 optval dd 1 sbuf dd 0 psize dd 0 lpsize dd 0 lpointer dd 0 retwrite dd 0 flag dd 1 pLocalHostEnt hostent <> SockAddr sockaddr_in <> .CODE START: invoke VirtualAlloc, NULL, MAX_PACKET_SIZE, MEM_COMMIT or MEM_RESERVE, PAGE_READWRITE .IF eax==NULL invoke MessageBox, NULL, addr ErrMes_mem, NULL, MB_OK jmp Exit .ELSE mov sbuf,eax .ENDIF invoke VirtualAlloc, NULL, ADDRLIST_SIZE, MEM_COMMIT or MEM_RESERVE, PAGE_READWRITE .IF eax==NULL invoke MessageBox, NULL, addr ErrMes_mem1, NULL, MB_OK jmp Exit .ELSE mov addrlist,eax .ENDIF invoke WSAStartup, wVerRequest, offset LpWSAdata .IF eax!=0 invoke MessageBox, NULL, addr ErrMes, NULL, MB_OK jmp Exit .ENDIF invoke socket, Saf, Stype, Sprotocol .IF eax==INVALID_SOCKET invoke MessageBox, NULL, addr ErrMes1, NULL, MB_OK jmp wExit .ELSE mov RawSocket,eax .ENDIF SNIFFER: invoke WSAIoctl, RawSocket, SIO_ADDRESS_LIST_QUERY, NULL, 0, addrlist, ADDRLIST_SIZE, addr bytesret, NULL, NULL .IF eax!=0 invoke MessageBox, NULL, addr ErrMes2, NULL, MB_OK jmp GlobalExit .ENDIF mov eax, Saf mov SockAddr.sin_family, ax xor eax, eax invoke htons, eax mov SockAddr.sin_port, ax mov esi, addrlist add esi, 4 mov esi,[esi] assume esi: ptr sockaddr_in mov eax, [esi].sin_addr assume esi: nothing mov SockAddr.sin_addr, eax invoke bind, RawSocket, offset SockAddr, SIZE SockAddr .IF eax == SOCKET_ERROR invoke MessageBox, NULL, addr ErrMes4, NULL, MB_OK jmp GlobalExit .ENDIF invoke WSAIoctl, RawSocket, SIO_RCVALL, addr optval, SIZE optval, 0, 0, addr bytesret, 0, 0 .IF eax == SOCKET_ERROR invoke MessageBox, NULL, addr ErrMes5, NULL, MB_OK jmp GlobalExit .ENDIF ;invoke ioctlsocket, RawSocket, SIO_RCVALL_IGMPMCAST, addr flag mov eax, sbuf mov lpointer,eax mov eax, MAX_PACKET_SIZE mov psize,eax RECIVE: invoke recv, RawSocket, lpointer, psize, 0 .IF eax==SOCKET_ERROR invoke MessageBox, NULL, addr ErrMes6, NULL, MB_OK jmp Write .ENDIF .IF eax==0 invoke MessageBox, NULL, addr ErrMes7, NULL, MB_OK jmp GlobalExit .ENDIF sub psize, eax add lpointer, eax mov edi, MAX_PACKET_SIZE add edi, sbuf .IF lpointer>=edi invoke MessageBox, NULL, addr Message, NULL, MB_OK jmp Write .ELSE jmp RECIVE .ENDIF Write: invoke CreateFile, addr f1, GENERIC_ALL, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL push eax invoke WriteFile, eax, sbuf, MAX_PACKET_SIZE, addr retwrite, NULL call CloseHandle но без коментов) скоментами брал тут....ага нету ссылки) но если будет не понятно подпишу чито к чему... и чё скажите???
все подряд с "не кушается" уже давно, на форуме это уже обсуждали n раз - пакеты которые идут со стороны инициатора соединения - например для tcp начиная с пакета syn включительно - видны не будут на уровне raw sockets - нужно спускаться либо ниже, либо искать и патчить это ограничение в драйверах стека tcp/ip
ну вот,спустя стольких трудов - СПАСИБО!!!! а не подскажеш поточней где про это можно почитать!!! П.С. ты меня очень порадовал!!! есть продвижения!!!
пока нашел только вот что "Хакерский драйвер должен открыть доступ к "\Device\RawIp", назначить ему атрибут IPHDR_INCL, после чего можно слать все, что угодно и от кого угодно. А чтобы псевдоустройство виднелось с прикладного уровня, достаточно вызывать API-функцию DefineDosDevice и это будет работать на любой системе, причем поиском правильного интерфейса для отправки пакета займется непосредственно сам драйвер TCPIP.SYS и нам не придется с этим заморачиваться." http://www.insidepro.com/kk/230/230r.shtml ну если кто знает что имеется ввиду - объясните,плз...я пока ищу,но толком ничего найти немогу помимо общей иформации,а хотелось бы побольше тонкостей узнать.
Подниму старую тему. Теперь можно лезть в ядро ( не желательно, лучше готовые решения). Требования: 1. Работает с VPN и желательно с подобными вещами ( по этой причини WinPcap не подходит). 2. Желательно наличие готовых библиотек простых в использовании. Мне нужно то немного, порт отправителя/получателя (может еще адрес) и собственно данные (заголовки протоколов не нужны). ОС винда естно. Короче надо все как можно проще сделать, и не хотелось бы сильно париться с синхронизацией. Готов выслушать все предложения. Если не найдется готовых библиотек подскажите самый не хаковый способ. Ко всему в ядро я не совался, так что понятно будут проблемы. PS до этого использовал перехват жесткий в нужных приложениях, но с этим пора завязывать
ты мне еще разбирать протокол впн предлагаешь? Те я подключаюсь к кокомуто хосту через впн, на прямую это через ВинКап не отснифаешь, как я понимаю