Как слушать на сетевом уровне? - PullRequest
2 голосов
/ 22 марта 2011

Такие программы, как AdMuncher, по-видимому, перехватывают пакеты на сетевом уровне еще до того, как он достигает того протокола, который он использует. Я хочу сделать что-то подобное, в основном анализировать каждый пакет по мере его поступления в систему и фильтровать / перезаписывать и т. Д. Я знаю, что по сути могу написать прокси (или настроить прокси), чтобы сделать подобное, но я бы хотел перехватить его прежде чем он достигнет этой точки.

Не ищет какой-либо конкретный язык, но если это возможно с C #, это было бы неплохо.

1 Ответ

4 голосов
/ 22 марта 2011

Полагаю, вы будете строить на платформе Windows? Если это так, вы, вероятно, захотите посмотреть в winpcap: http://www.winpcap.org/

В Unix / Linux вам нужно использовать libpcap: http://www.tcpdump.org/

В любом из них вам нужно будет разрабатывать на C / C ++ или использовать собственный интерфейс для вызова библиотек с вашего языка.

РЕДАКТИРОВАТЬ: Найден упаковщик .NET для WinPcap, который вы, вероятно, захотите использовать: http://pcapdotnet.codeplex.com/

...