Мониторинг трафика TCP, который содержит определенные строки в C # - PullRequest
2 голосов
/ 17 июня 2011

Недавно одна из моих машин была заражена вредоносным ПО, использующим IRC для связи с центром управления и контроля.

Это только вызвало во мне интерес к тому, чтобы увидеть, была ли программа, которую я мог бы создать на C #, которая способна отслеживать трафик через TCP, который содержит строки, такие как PONG / NICK / USER (строки, которые должен передавать irc rfc), и затем можете сказать мне процесс, из которого идет этот трафик.

Это был бы интересный для меня опыт обучения, и я хочу попробовать это.

Я провел некоторое исследование и нашел кое-что, что действительно использует WinPcap, но я думаю, что я хотел бы избежать решения, использующего pcap, если это возможно, может кто-нибудь прислать какие-либо предложения в мою сторону?

Я знаю, что могу просматривать соединения между моим компьютером и другими хостами, используя System.Net.NetworkInformation.TcpConnectionInformation и, возможно, IPGlobalProperties , но я не уверен, что существует в любом случае я могу просматривать информацию в режиме реального времени или легко отслеживать ее на компьютере.

Спасибо.

1 Ответ

2 голосов
/ 17 июня 2011

Это будет сложно.Необходимый API-интерфейс Платформа фильтрации Windows (WFP) .Согласно Microsoft, это не доступно из C #, вам нужно было бы сначала обернуть его в C ++ / CLI.

См. здесь и здесь для обсуждения.Во второй ветке есть кое-что полезное для вас.

...