Хорошо, возможно, это звучит ужасно гнусно, но мне нужны такие возможности для моего старшего проекта. По сути, мне поручено написать что-нибудь, что сократит исходящий спам на зомбированных компьютерах с помощью системы перехвата и оценки пакетов. У нас есть ряд алгоритмов, которые мы будем использовать для захваченных сообщений, но меня немного озадачивает сам захват - полный перехват, а не просто обнюхивание.
Приложение предназначено для Windows, поэтому я не могу использовать IP-таблицы. Я мог бы использовать библиотеки winpcap, но я не хочу изобретать велосипед, если в этом нет необходимости. Ettercap казался хорошим вариантом, но тестовый запуск в Vista с использованием неофициальных двоичных файлов не привел ни к чему, кроме сбоев.
Итак, есть предложения?
Обновление: отличные предложения. Немного уменьшил масштаб проекта, но все же получил A. Я думаю, что ответ Адама Минца, вероятно, лучший, хотя мы использовали WinPcap и Wireshark для приложения.





Можно было бы подумать, что Wireshark решит вашу проблему - без проблем с установкой и довольно простой в использовании.
Обновлено: Ах, теперь я вижу требование перехвата по сравнению с простым обнюхиванием ... в этом случае один Wireshark не справится с этим. Вероятно, что бы то ни было, эквивалент iptables в Windows.
Похоже, вам нужно написать Winsock LSP.
Once in the stack, a Layered Service Provider can intercept and modify inbound and outbound Internet traffic. It allows processing all the TCP/IP traffic taking place between the Internet and the applications that are accessing the Internet.
В пакете DSNIFF есть утилита mailsnarf. Он также может захватывать POP3. Там есть много других замечательных утилит для сниффинга. Перед использованием этих инструментов убедитесь, что у вас есть законное право (законное право перехватывать трафик других людей). Я полагаю, что в документации есть больше информации о законности. Согласно веб-странице, есть также порты Windows и Mac OS X.
Анализировать текстовый вывод программы не составит труда.
Илкка: Я смотрел на Wireshark, но, насколько я могу судить, он не обрабатывал аспект перехвата - только обнюхивание и ведение журнала. Профессор хочет, чтобы спам не попал в сеть.
Адам: Я обязательно посмотрю на Winsock. Я еще не проверял это. Единственное, что приложение должно быть выпущено примерно через 2 месяца, поэтому, если есть какие-либо приложения для ОС, основанные на WinSock SPI, я мог бы захотеть привязаться к ним. Знаете что-нибудь из головы?
Спасибо, CDV. Я тоже займусь этим. Хороший звонок о проверке законности. На самом деле я до сих пор пытался использовать проекты общедоступных лицензий GNU.
Извините за путаницу. Я имел в виду законность перехвата трафика.
Ах. Да, но поскольку это будет продемонстрировано в кампусе для моего профессора, меня это не особо беспокоит. : D
Я согласен, что Wireshark может быть всем, что вам нужно. Если вы хотите написать собственное приложение для фильтрации и можете использовать Vista, посмотрите Платформа фильтрации Windows.
Используйте Snort в упрощенном виде, если это надолго. Он создан для отслеживания пролетающих мимо конкретных пакетов, изучения полезной нагрузки, где это необходимо, записи данных и запуска предупреждений.
Он предназначен для обнаружения вторжений, но при длительном использовании делает удивительно хороший сетевой монитор для определенных вещей.
Нет, извините, но это архитектурно правильное место, чтобы фактически остановить движение трафика от машины. Так пишутся межсетевые экраны.