Мониторинг подключения к Интернету с помощью C # - PullRequest
0 голосов
/ 15 января 2011

Я хочу проконтролировать мой маршрутизатор, чтобы увидеть, что в данный момент downloaded и какое приложение / программное обеспечение это initiate it, кто user делает это и download speed занимает этот пользователь я получил все учетные данные, необходимые для беспроводного соединения и маршрутизатора
любой начало для чего-то подобного в C #?

идея

alt text

1 Ответ

2 голосов
/ 15 января 2011

Прежде всего: знаете ли вы, что ваш маршрутизатор может это сделать?Большинство маршрутизаторов, которые я видел, не имеют такого уровня понимания и управления трафиком.

Если ваш маршрутизатор имеет, то есть один из двух способов, как обычно делают такие данные доступными:

1) Через интерфейс HTTP (защищенный паролем) или 2) Через интерфейс SNMP

Чтобы получить соответствующий URL-адрес HTTP, вы просто получаете его, как и любую другую веб-страницу.Попробуйте что-то вроде: http://www.csharp -station.com / HowTo / HttpWebFetch.aspx Чтобы получить настройки SNMP, есть много вариантов;попробуйте этот вопрос: Какая библиотека SNMP для .NET делает ловушки, устанавливает или становится простой?

Однако, скорее всего, ваш маршрутизатор фактически не будет иметь эту информацию доступной.

Итак, отредактируйте: если ваш маршрутизатор не поддерживает боковые цепочки и не поддерживает SNMP или подобную статистику, то вы не можете сделать это в общем смысле.

Вы могли бы раскрутить Linuxв качестве шлюза для компьютеров, и использовать статистику сеанса NAT для мониторинга этого.Способ сделать это - использовать два сетевых интерфейса (логический или физический), один из которых получает IP-адрес от вашего модема, а другой - шлюз по умолчанию для беспроводной сети.Включите переадресацию и маскировку IP-адресов (NAT), а также сервер DHCP для стороны беспроводной сети.Теперь вы можете использовать iptables для просмотра активных сеансов NAT и того, сколько данных было передано.Вы также можете использовать фильтры пакетов для получения более конкретной информации.

Кроме того, если вы знаете, какая машина выполняет загрузку и работает под управлением Windows, вы можете использовать WMI ("perfmon.exe", чтобы отобразить это), чтобы увидетьсколько данных передается на фактический компьютер.

...