Снифер

Тема в разделе "WASM.NETWORKS", создана пользователем spa, 17 окт 2008.

  1. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    Грубо говоря я отдаленно левым ухом слышал что есть способ, не перехватывая ф/ыи, без драйвера, с поощью длл написать снифер, через который будет проходить все вызываа вин сокс. Порылся по нету но ничего путевого не нашел, мб кто подскажет о чем это я :)
     
  2. Aspire

    Aspire New Member

    Публикаций:
    0
    Регистрация:
    19 май 2007
    Сообщения:
    1.028
    SPA
    Может быть это?
    http://sources.ru/cpp/network/sniff_2k_xp.shtml
     
  3. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    Aspire
    возможно, но я видел способ с использование ДЛЛ и ф/ый
    Код (Text):
    1. WSCDeinstallProvider WSCEnumProtocols WSCInstallProvider WSCWriteProviderOrder
    ну и в длл там чтото подобное, к томуже как я понял в способе по ссылке незя опеределить порт, а это недопустимо )
     
  4. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    напиши ws2_32 c экспортом всех функций, и кинь ее в папку с программой

    ЗЫ: чтото типо этого (аттач)
     
  5. G0L1a7h

    G0L1a7h New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2008
    Сообщения:
    41
    не, наверно вот это http://en.wikipedia.org/wiki/Layered_Service_Provider
     
  6. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    G0L1a7h
    Да ОНО, а теперь где кто знает пример или статью, понятно приореритет у русских статей.
     
  7. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    пример (KomodiaLSP.zip) - от мелкософта, качается с комоды, статей вроде нет, найдеш - отпости тут
     
  8. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    Никто не знает что за ботва?
    Код (Text):
    1. cl : Command line error D8030 : INTERNAL COMPILER ERROR in ''
    2.     Please choose the Technical Support command on the Visual C++
    3.     Help menu, or open the Technical Support help file for more information
    Просто я привык сначало скомпилировать а потом разбираться.
     
  9. sometime

    sometime Odessa

    Публикаций:
    0
    Регистрация:
    22 апр 2009
    Сообщения:
    227
    Адрес:
    sunday
    карочь приммерно таже трабла,только вот снифак я написал и есть у него "баг" чтоли)) скорей всего БОК))
    у меня два компа соеденнёніх между собой + инет свичем....как только я в инете - снифак не улавливает всех пакетов...как только в инете другой комп,а у меня он как шлюз и днс - все гуда! и пароли и все пакеті,которіе требовались - чё за непонятка????!!!!
    юзаю WinSock2.2
    sock - AF_INET, SOCK_RAW, IPPROTO_IP
    настройка в WSIoctl - SIO_RCVALL - переводим интерфейс в неразборчивый режим(все подряд кушаем)

    ...где трабла,мож настройки сокса неправильные??? мсдн - перечитал,инет - перечитал......уже чуть не забил на тот снифак) - если код кому интересен - выложу,не проблема!
     
  10. Phuntik

    Phuntik New Member

    Публикаций:
    0
    Регистрация:
    4 фев 2008
    Сообщения:
    318
    SPA
    Ха-ха. Тебе ещё повезло. Хотя бы cl пишет. Я компилировал приложение для PocketPC, затем запускаю - ответ - "Настройки неправильно настроены. Свяжитесь с командой разработчиков". Очень информативно. Путём длительных изысканий (с покетом раньше не приходилось) выяснилось, что при установке 2005 студии MobileSDK почему-то не устанавливалось. Вопрос - почему бы так и не написать? Там ещё пункт меню есть - сбросить настройки по умолчанию. При его выполнении честно прописывает пути к скину и образу, ничего не говоря о том, что их не существует)
    Хотя, как оно скомпилировалось без SDK, непонятно.
     
  11. newbie553

    newbie553 New Member

    Публикаций:
    0
    Регистрация:
    1 май 2009
    Сообщения:
    20
    sometime код очень интересен. сам давно пытался написать сниффер, но так и не смог сделать перехват именно в неразборчивом режиме
     
  12. sometime

    sometime Odessa

    Публикаций:
    0
    Регистрация:
    22 апр 2009
    Сообщения:
    227
    Адрес:
    sunday
    вот и он:


    Код (Text):
    1. include \masm32\include\windows.inc
    2. include \masm32\include\kernel32.inc
    3. include \masm32\include\user32.inc
    4. include \masm32\include\advapi32.inc
    5. include \masm32\include\wsock32.inc
    6. include \masm32\include\ws2_32.inc
    7.  
    8. includelib \masm32\lib\kernel32.lib
    9. includelib \masm32\lib\user32.lib
    10. includelib \masm32\lib\advapi32.lib
    11. includelib \masm32\lib\wsock32.lib
    12. includelib \masm32\lib\ws2_32.lib
    13.  
    14.  
    15.  
    16.  
    17. wVerRequest dd  202h
    18. WSAdata struct
    19.     wVersion        dw  0
    20.     wHighVersion    dw  0
    21.     szDescription   db  100h dup(?)
    22.     szSystemStatus  db  80h  dup(?)
    23.     iMaxSockets     dd  0
    24.     iMaxUdpUg       dd  0
    25.     IpVendorInfo    dd  0
    26. WSAdata ends
    27. LpWSAdata WSAdata <>
    28.  
    29. SIO_ADDRESS_LIST_QUERY      equ     48000016h
    30. SIO_RCVALL                  equ     98000001h
    31. MAX_PACKET_SIZE             equ     512000
    32. ADDRLIST_SIZE               equ     1024
    33.  
    34. Saf             dd      AF_INET
    35. Stype           dd      SOCK_RAW
    36. Sprotocol       dd      IPPROTO_IP
    37. RawSocket       dd      0
    38. addrlist        dd      0
    39. bytesret        dd      1
    40. addrcount       dd      0
    41. optval          dd      1
    42. sbuf            dd      0
    43. psize           dd      0
    44. lpsize          dd      0
    45. lpointer        dd      0
    46. retwrite        dd      0
    47. flag            dd      1
    48.  
    49. pLocalHostEnt hostent <>
    50. SockAddr sockaddr_in <>
    51.  
    52. .CODE
    53. START:
    54.  
    55. invoke VirtualAlloc, NULL, MAX_PACKET_SIZE, MEM_COMMIT or MEM_RESERVE, PAGE_READWRITE
    56. .IF eax==NULL
    57.     invoke MessageBox, NULL, addr ErrMes_mem, NULL, MB_OK
    58.     jmp Exit
    59. .ELSE
    60.     mov sbuf,eax
    61. .ENDIF
    62.  
    63. invoke VirtualAlloc, NULL, ADDRLIST_SIZE, MEM_COMMIT or MEM_RESERVE, PAGE_READWRITE
    64. .IF eax==NULL
    65.     invoke MessageBox, NULL, addr ErrMes_mem1, NULL, MB_OK
    66.     jmp Exit
    67. .ELSE
    68.     mov addrlist,eax
    69. .ENDIF
    70.  
    71.  
    72. invoke WSAStartup, wVerRequest, offset LpWSAdata
    73. .IF eax!=0
    74.     invoke MessageBox, NULL, addr ErrMes, NULL, MB_OK
    75.     jmp Exit
    76. .ENDIF
    77.  
    78. invoke socket, Saf, Stype, Sprotocol
    79. .IF eax==INVALID_SOCKET
    80.     invoke MessageBox, NULL, addr ErrMes1, NULL, MB_OK
    81.     jmp wExit
    82. .ELSE
    83.     mov RawSocket,eax
    84. .ENDIF
    85.  
    86. SNIFFER:
    87. invoke WSAIoctl, RawSocket, SIO_ADDRESS_LIST_QUERY, NULL, 0, addrlist, ADDRLIST_SIZE, addr bytesret, NULL, NULL
    88. .IF eax!=0
    89.     invoke MessageBox, NULL, addr ErrMes2, NULL, MB_OK
    90.     jmp GlobalExit
    91. .ENDIF
    92.  
    93. mov eax, Saf
    94. mov SockAddr.sin_family, ax
    95. xor eax, eax
    96. invoke htons, eax
    97. mov SockAddr.sin_port, ax
    98.  
    99. mov esi, addrlist
    100. add esi, 4
    101. mov esi,[esi]
    102. assume esi: ptr sockaddr_in
    103. mov eax, [esi].sin_addr
    104. assume esi: nothing
    105. mov SockAddr.sin_addr, eax
    106.  
    107. invoke bind, RawSocket, offset SockAddr, SIZE SockAddr
    108. .IF eax == SOCKET_ERROR
    109.     invoke MessageBox, NULL, addr ErrMes4, NULL, MB_OK
    110.     jmp GlobalExit
    111. .ENDIF
    112.  
    113. invoke WSAIoctl, RawSocket, SIO_RCVALL, addr optval, SIZE optval, 0, 0, addr bytesret, 0, 0
    114. .IF eax == SOCKET_ERROR
    115.     invoke MessageBox, NULL, addr ErrMes5, NULL, MB_OK
    116.     jmp GlobalExit
    117. .ENDIF
    118.  
    119. ;invoke ioctlsocket, RawSocket, SIO_RCVALL_IGMPMCAST, addr flag
    120.  
    121. mov eax, sbuf
    122. mov lpointer,eax
    123. mov eax, MAX_PACKET_SIZE
    124. mov psize,eax
    125. RECIVE:
    126. invoke recv, RawSocket, lpointer, psize, 0
    127. .IF eax==SOCKET_ERROR
    128.     invoke MessageBox, NULL, addr ErrMes6, NULL, MB_OK
    129.     jmp Write
    130. .ENDIF
    131. .IF eax==0
    132.     invoke MessageBox, NULL, addr ErrMes7, NULL, MB_OK
    133.     jmp GlobalExit
    134. .ENDIF
    135.  
    136. sub psize, eax
    137. add lpointer, eax
    138. mov edi, MAX_PACKET_SIZE
    139. add edi, sbuf
    140. .IF lpointer>=edi
    141.     invoke MessageBox, NULL, addr Message, NULL, MB_OK
    142.     jmp Write
    143. .ELSE
    144.     jmp RECIVE
    145. .ENDIF
    146.  
    147. Write:
    148. invoke CreateFile, addr f1, GENERIC_ALL, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL
    149. push eax
    150. invoke WriteFile, eax, sbuf, MAX_PACKET_SIZE, addr retwrite, NULL
    151. call CloseHandle
    но без коментов) скоментами брал тут....ага нету ссылки) но если будет не понятно подпишу чито к чему...
    и чё скажите???
     
  13. ohne

    ohne New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2009
    Сообщения:
    431
    все подряд с "не кушается" уже давно, на форуме это уже обсуждали n раз - пакеты которые идут со стороны инициатора соединения - например для tcp начиная с пакета syn включительно - видны не будут на уровне raw sockets - нужно спускаться либо ниже, либо искать и патчить это ограничение в драйверах стека tcp/ip
     
  14. sometime

    sometime Odessa

    Публикаций:
    0
    Регистрация:
    22 апр 2009
    Сообщения:
    227
    Адрес:
    sunday
    ну вот,спустя стольких трудов - СПАСИБО!!!! а не подскажеш поточней где про это можно почитать!!!


    П.С. ты меня очень порадовал!!! есть продвижения!!!
     
  15. sometime

    sometime Odessa

    Публикаций:
    0
    Регистрация:
    22 апр 2009
    Сообщения:
    227
    Адрес:
    sunday
    пока нашел только вот что

    "Хакерский драйвер должен открыть доступ к "\Device\RawIp", назначить ему атрибут IPHDR_INCL, после чего можно слать все, что угодно и от кого угодно. А чтобы псевдоустройство виднелось с прикладного уровня, достаточно вызывать API-функцию DefineDosDevice и это будет работать на любой системе, причем поиском правильного интерфейса для отправки пакета займется непосредственно сам драйвер TCPIP.SYS и нам не придется с этим заморачиваться."
    http://www.insidepro.com/kk/230/230r.shtml

    ну если кто знает что имеется ввиду - объясните,плз...я пока ищу,но толком ничего найти немогу помимо общей иформации,а хотелось бы побольше тонкостей узнать.
     
  16. lobzik

    lobzik New Member

    Публикаций:
    0
    Регистрация:
    9 апр 2009
    Сообщения:
    34
    GoldFinch на чем исходник (какая прога) ?
     
  17. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    Подниму старую тему. Теперь можно лезть в ядро ( не желательно, лучше готовые решения).

    Требования:
    1. Работает с VPN и желательно с подобными вещами ( по этой причини WinPcap не подходит).
    2. Желательно наличие готовых библиотек простых в использовании.

    Мне нужно то немного, порт отправителя/получателя (может еще адрес) и собственно данные (заголовки протоколов не нужны). ОС винда естно. Короче надо все как можно проще сделать, и не хотелось бы сильно париться с синхронизацией. Готов выслушать все предложения.

    Если не найдется готовых библиотек подскажите самый не хаковый способ. Ко всему в ядро я не совался, так что понятно будут проблемы.


    PS до этого использовал перехват жесткий в нужных приложениях, но с этим пора завязывать
     
  18. ohne

    ohne New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2009
    Сообщения:
    431
    попробуй tcpip.sys, говорят норм библиотека
     
  19. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    или уже работает?
     
  20. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    ты мне еще разбирать протокол впн предлагаешь?
    Те я подключаюсь к кокомуто хосту через впн, на прямую это через ВинКап не отснифаешь, как я понимаю