Как правильно захватывать сетевой трафик с помощью winpcap? - PullRequest
0 голосов
/ 16 февраля 2011

Я должен создать приложение на базе Windows, для которого захватывает сетевой трафик для каждого приложения, где некоторые из работающих приложений используют один и тот же номер порта для отправки и получения пакетов. Я использовал winpcap и успешно перехватывал и фильтровал их в зависимости от порта и назначения, но я не знаю, как захватить их в зависимости от приложения, что означает, как узнать информацию о приложении из ip-пакетов. Только winpcap может решить проблему или использовать некоторые другие API или библиотеки. Можем ли мы получить от приложения информацию о том, какой пакет генерируется из заголовка пакета?

 **

Может ли кто-нибудь привести пример использования iphlpapi и winpcap в vc ++ для захвата сетевого трафика для каждого приложения.

**

Ответы [ 2 ]

1 голос
/ 16 февраля 2011

Я не думаю, что это возможно с winpcap.

Взгляните на Платформа фильтрации Windows . Это совсем не сложно. Если вы посмотрите в примерах, вы найдете тот, который делает именно то, что вы хотите.

0 голосов
/ 30 июля 2011

winpcap не может определить, какой процесс отправляет какие данные.Но Windows делает.попробуйте использовать

netstat -a -o

netstat - это программа, которая сообщает вам, какие порты используются на вашем терминале.- переключатель говорит: «покажи мне все порты» - переключатель говорит: «покажи мне pid процессов, использующих этот порт»

вы не можете видеть, на какой порт отправляются ваши процессы, но выможно увидеть, какие порты принимаются для пакетов udp.

для пакетов tcp вы увидите всю необходимую информацию, включая IP-адрес удаленных подключений.

...