Здравствуйте Sergey, Вы писали:
S>Здравствуйте arnold, Вы писали:
A>>Здравствуйте Hollander, Вы писали:
H>>>Здравствуйте arnold, Вы писали:
A>>>>Спасибо за совет, но в общем это не совсем подходит поскольку нужно перехватывать всю почту от SMTP к TCP. А некоторые программы не используют MAPI. :(
H>>>Пиши сниффер тогда. Если под 2000 — хватит сокетов для этого. Иначе — нужен NDIS драйвер. Потом хватаешь все TCP пакеты, клеишь их и получаешь то, что надо... H>>>Но это долгий процесс, имей ввиду.
H>>>Если просто для себя — поставь Ирис сниффер — он все сам сделает.
S> Ну и как, интересно, сниффером (или TDI драйвером) почту от остального траффика отличать? По номеру порта — несерьезно, по содержимому — еще смешней.
A>>На сколько я тебя правильно понял сниффер схватит только те пакеты, которые уже попали в сеть, а мне нужно перехватить почту до того как она перейдет от SMTP к TCP уровню вниз по стеку! Реально сети может и небыть (модем например). У меня тут родилась идея S> Да не существует никакого SMTP уровня :) Его каждая программа самостоятельно реализует.
A>>поставить хук на WS2_32.dll. Ведь по любому даже самая простая отсылалка почты пройдет через эту длл. Как думаешь прокатит ?
S> С перехватом функций именно из этой dll есть кое-какие хитрости. Детали не помню, в сети на эту тему информации было навалом. А вообще-то, при очень большом желании, можно и мимо него пакеты отправлять.
На счет SMTP уровня я не говорил. Я имел ввиду SMPT и TCP уровень, а не уровни. Я думаю что и новичку понятно что на самом деле имеется ввиду уровень приложений и транспортный уровень. :)
А вот тонкости с ws2_32.dll действительно есть. Там перехват не всегда возможен. Вот именно то эта тема меня и беспокоит. Хотелось бы какую нибуть доку или ссылочку если можно ?