
Здесь есть много ответов с подробным описанием программ, которые будут отслеживать и регистрировать использование интернета на ПК, но мне нужно, чтобы это использование регистрировалось и детализировалось, с указанием того, какие приложения потребляли эти данные.
Я заметил, что есть несколько программ, которые предоставляют данные об использовании данных каждым приложением в режиме реального времени (NetLimiter, Win7 Resource Monitor), но я не могу найти ни одну, которая регистрировала бы такие данные.
Кто-нибудь знает такую? Нужно отследить, какая программа использует пропускную способность друга!
решение1
Для этой цели существует множество программ.
Скрипачзаписывает все сообщения и даже показывает вам, где/что и какая программа была ответственна.
NetBalancerпоказывает график использования пропускной способности процесса (я предполагаю, что это то, что вы действительно хотите увидеть, а не сырой текстовый вывод). Он также позволяет вам ограничивать и блокировать сетевую активность на основе каждого процесса.
решение2
Если вы не можете найти ничего, что бы вас удовлетворило с точки зрения применения, то тяжеловесным (но таким удовлетворительным, когда вы это реализуете) решением будет мониторинг сети с помощьюСетевой монитор Microsoft(сейчас v3.4), что даст вам возможность нарезать предметы кубиками так, как вам хочется?
Хотя, если говорить прямо, это не даст вам именно то, что вам нужно (журнал на уровне каждого приложения), но этоволядать вам возможность разбить данные на части, чтобы получить эту информацию, если вы настроены творчески.
(Также довольно забавно видеть, куда попадают ваши данные..)
Представляем: Microsoft Network Monitor 3.4
Я просто выполняю захват сейчас, печатая этот ответ, и чтобы добавить немного разнообразия в смесь - проверяю обновления Windows и запускаю IE, чтобы получить некоторые файлы - но как вы можете видеть на скрине здесь:
Это может немного подавлять поначалу, я признаю, но в основном я бы привлек ваше внимание к левому полю, которое покажет вам все процессы, которые оно захватывает как генерирующие сетевой трафик. Открытие приложения затем разобьет его на разговоры, которые вы можете более подробно изучить. Вероятно, лучше просто быстро поиграть, чем тратить кучу слов на объяснения, но вкратце - оно будет регистрировать каждый маленький кусочек сетевого трафика, который оно может - это то, что отображается в средней панели.
Фильтруем все это, чтобы не сойти с ума...
Вы можете применять фильтры к собранным данным, чтобы ограничить то, что вы просматриваете, например, исключить определенные IP-адреса, протоколы или даже конкретные процессы (или даже разговоры, если хотите...).
Язык фильтра документирован в справке, и в нем есть несколько хороших готовых примеров, но просто чтобы вы могли увидеть это, не загружая пакет, вот несколько примеров:
Conversation.ProcessName == "iexplore.exe" // restrict your examination to iexplore.exe
(Conversation.ProcessName == "firefox.exe" and Conversation.ProcessId == 3824) // only look at firefox process 3824
IPv4.Address == 64.34.119.12 // traffic in both directions to superuser.com
IPv4.SourceAddress == 64.34.119.12 // traffic coming from superuser.com
...и агрегация в нечто более читабельное (NMTopUsers)
Правильно. Это позволяет вам фильтровать данные по определенной целевой группе, но если вы не чувствуете себя особенно мазохистски и вам нравится читать заголовки фреймов, вам нужно обратиться к эксперту NMTopUsers
Этот эксперт обработает все данные, которые вы ему предоставите, ПОСЛЕ того, как они будут отфильтрованы (чтобы сделать это, вам нужно открыть файл захвата, применить фильтры, чтобы изолировать, скажем, firefox.exe, а затем вызвать эксперта) и предоставить вам вывод, который выглядит примерно так:
Графики также доступны, если у вас установлен соответствующий пакет (на этом компьютере его нет), и вывод позволит вам визуально оценить, куда направляется (и откуда приходит) ваш трафик, а также основные цифры, которые косвенно дадут вам то, что вы ищете.
Кто-то, возможно, разработал эксперта, который делает именно то, что вам нужно, но я о таком не знаю, извините. Я бы предложил что-нибудь построить, но я немного не в теме :P
В любом случае, если вы хотите попробовать, вы можете подойти к проблеме «что, черт возьми, жрет мою полосу пропускания» с помощью базового журналирования вашего интерфейса с помощью perfmon (что может помочь вам изолировать, когда что-то происходит или это постоянная проблема базовой нагрузки) и параллельно (или после события) настроить трассировку сетевого монитора для сбора интересующих вас данных (чем больше вы сможете сосредоточиться на сборе данных, тем лучше, поскольку в конечном итоге у вас будут ооочень большие файлы сбора, если вы будете делать это в течение длительного времени).
Как только вы все это получите, вы можете запустить NMTopUsers и углубиться в детали, чтобы увидеть, какие из ваших приложений особенно требовательны к ресурсам, а также куда все это движется, и, черт возьми, HTTP это или что-то еще...
решение3
Возможно, TCP View от MS Sysinternals вам поможет. Вот ссылка http://technet.microsoft.com/en-us/sysinternals/bb897437