Re: Подскажите как сделать
От: okman Беларусь https://searchinform.ru/
Дата: 17.12.11 16:25
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Есть система. В нее приходят сообщения по протоколу (скажем SMTP или POP3). Мне нужно получить их содержимое до того как они дойдут до приложения, которому отправлены. Данную задачу необходимо решить с помощью Winsock. Базовыми знаниями Winsock обладаю. Но идей на счет того КАК контролировать ВЕСЬ трафик по определенному порту пока нет. Может кто подскажет?


Главный вопрос.
Что значит контролировать трафик ? Просто мониторинг подойдет, или задача сводится к тому,
чтобы "резать" или подменять определенные данные ?

Отвечу пока так — ставьте перехватчики на функции Winsock (а также кое-какие еще) во всех
процессах и сможете видеть все, что идет по сети.

Хотя для коммерческих проектов метод так себе, мягко говоря.

Во-первых, намучаетесь с проактивными защитами. Они сами будут частью цепи перехвата
трафика, будут "путать" контекст приложений, отправляющих данные в сеть, не дадут
делать инжект в процессы, особенно свои собственные, и на каждый чих начнут выдавать
пользователю предупреждения.

Во-вторых, программы вроде Skype могут быть достаточно защищены от инжекта и
просто не дадут хукать функции в своих адресных пространствах.
Вспомните еще про UPX, VmProtect и всякие политики безопасности в Vista и выше.

В-третьих, техника перехвата API сама по себе достаточно сложна.
На красивые термины "сплайсинг" и "инжект" покупается только молодняк, а
опытные бегут от них как от чумы. И если в системе будет установлен такой же хук, —
к примеру, с помощью Detours, — то скорее всего, сеть вообще повиснет.

Если надо действительно нормальное решение, которое работает почти везде,
советую смотреть на TDI/LSP/WFP. Иных вариантов попросту не существует.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.