работа с TDI

Тема в разделе "WASM.BEGINNERS", создана пользователем Dmitry_177, 16 июн 2007.

  1. Dmitry_177

    Dmitry_177 New Member

    Публикаций:
    0
    Регистрация:
    27 мар 2007
    Сообщения:
    75
    У меня получилось =))))))))

    TDI_SEND перехватывается..=) Но вот TDI_RECEIVE почему-то нет..=( Может входящий трафик надо еще как-то???
     
  2. Dmitry_177

    Dmitry_177 New Member

    Публикаций:
    0
    Регистрация:
    27 мар 2007
    Сообщения:
    75
    Если я захожу на какойнибудь сайт, по идее там должны быть http-пакеты и html страничка.. Но этого почему-то нету..=(
     
  3. mathio

    mathio New Member

    Публикаций:
    0
    Регистрация:
    16 июн 2007
    Сообщения:
    110
    Ну, дык, а код для сучая
    Код (Text):
    1. //case TDI_RECEIVE:
    написан?
    Для TDI_SEND перехваченный буфер должен начинаться с чего-то типа "GET /index.html HTTP/1.1 Host: bla-bla", html-кода полученной странички там не будет.
     
  4. Dmitry_177

    Dmitry_177 New Member

    Публикаций:
    0
    Регистрация:
    27 мар 2007
    Сообщения:
    75
    в TDI_SEND у меня и нету html-а, а то ты написал чего-то типа "GET /index.html HTTP/1.1 Host: bla-bla" =)

    в TDI_RECEIVE у меня тоже самое что и в TDI_SEND.. просто выводит пакеты в DbgPrint и все..
     
  5. Dmitry_177

    Dmitry_177 New Member

    Публикаций:
    0
    Регистрация:
    27 мар 2007
    Сообщения:
    75
    да, все написано..
     
  6. Dmitry_177

    Dmitry_177 New Member

    Публикаций:
    0
    Регистрация:
    27 мар 2007
    Сообщения:
    75
    Может буфер Recv-а проходит гденибудь еще, не в IRP_MJ_INTERNAL_DEVICE_CONTROL и не в TDI_RECEIVE???
     
  7. mathio

    mathio New Member

    Публикаций:
    0
    Регистрация:
    16 июн 2007
    Сообщения:
    110
    Не очень понял смысл фразы. Что конкретно находится в буфере при событии TDI_SEND в вашем случае?
     
  8. Dmitry_177

    Dmitry_177 New Member

    Публикаций:
    0
    Регистрация:
    27 мар 2007
    Сообщения:
    75
    в TDI_SEND у меня "GET /index.html HTTP/1.1 Host: bla-bla" и т.д. =)
     
  9. mathio

    mathio New Member

    Публикаций:
    0
    Регистрация:
    16 июн 2007
    Сообщения:
    110
    А если перехватывать еще TDI_EVENT_RECEIVE / TDI_EVENT_CHAINED_RECEIVE (для TCP)
    из данного списка
    Код (Text):
    1. /* Event types */
    2. #define TDI_EVENT_CONNECT                   0
    3. #define TDI_EVENT_DISCONNECT                1
    4. #define TDI_EVENT_ERROR                     2
    5. #define TDI_EVENT_RECEIVE                   3
    6. #define TDI_EVENT_RECEIVE_DATAGRAM          4
    7. #define TDI_EVENT_RECEIVE_EXPEDITED         5
    8. #define TDI_EVENT_SEND_POSSIBLE             6
    9. #define TDI_EVENT_CHAINED_RECEIVE           7
    10. #define TDI_EVENT_CHAINED_RECEIVE_DATAGRAM  8
    11. #define TDI_EVENT_CHAINED_RECEIVE_EXPEDITED 9
    12. #define TDI_EVENT_ERROR_EX                  10
    поможет?
     
  10. Dmitry_177

    Dmitry_177 New Member

    Публикаций:
    0
    Регистрация:
    27 мар 2007
    Сообщения:
    75
    Вообще прежде чем у меня заработало, я переделал драйвер.. У меня не создается девайс и не аттачится потом.. А перехватывается функция MajorFunction[IRP_MJ_INTERNAL_DEVICE_CONTROL] драйвера Tcp. Может это из-за этого ловится только исходящий трафик, а входящий нет? Хотя по идее не должно быть такого..