Zunächst einmal: Haben Sie auch wissen, dass der Router dies tun können? Die meisten Router, die ich gesehen habe, haben dieses Maß an Traffic-Verständnis und -Management nicht.
Wenn der Router der Fall ist, dann wird es eine von zwei Möglichkeiten, wie diese Daten allgemein zugänglich gemacht:
1) Durch eine HTTP-Schnittstelle (passwortgeschützt) oder 2) Durch eine SNMP-Schnittstelle
Um die entsprechende HTTP-URL abzurufen, erhalten Sie sie einfach wie auf jeder anderen Webseite. Versuchen Sie etwas wie: http://www.csharp-station.com/HowTo/HttpWebFetch.aspx Um die SNMP-Einstellungen abzurufen, gibt es viele Optionen; versuchen Sie diese Frage: What SNMP library for .NET makes traps, sets or gets simple?
Allerdings ist Ihr Router wahrscheinlich nicht diese Informationen verfügbar.
Also, bearbeiten: Wenn Ihr Router Side Chain nicht unterstützt und SNMP oder ähnliche Statistiken nicht unterstützt, dann können Sie dies nicht im allgemeinen Sinne tun.
Sie könnten eine Linux-Box als Gateway für die Maschinen einrichten und diese mithilfe von NAT-Sitzungsstatistiken überwachen. Dazu müssen Sie über zwei Netzwerkschnittstellen (logisch oder physisch) verfügen, von denen eine eine IP-Adresse von Ihrem Modem erhält und die andere das Standard-Gateway für das drahtlose Netzwerk ist. Aktivieren Sie IP forwarding and masquerading (NAT) sowie einen DHCP-Server für die Seite des drahtlosen Netzwerks. Jetzt können Sie iptables verwenden, um aktive NAT-Sitzungen anzuzeigen und wie viele Daten übertragen wurden. Sie können Paketfilter auch für spezifischere Informationen verwenden.
Wenn Sie außerdem wissen, welcher Computer den Download ausführt und Windows ausgeführt wird, können Sie mit WMI ("perfmon.exe", um dies grafisch darzustellen) sehen, wie viele Daten auf dem tatsächlichen Computer übertragen werden.
Warum das Rad neu erfinden? Es gibt bereits Software, die dies tun kann. Gibt es einen bestimmten Grund, warum Sie diese Funktionalität in Ihrer eigenen App benötigen? –
Kannst du mich auf einige von ihnen hinweisen? –