Option to provide Usage Monitoring by network (router)

This is a new request that I haven’t seen in this Forum (though I may have missed it). But it is similar to the requests for a monitor of the entire subnet.

I also have requested a monitor for the network router (subnet), but this is an expansion of that and would also be a partial solution that I think would be within the current purview of Glasswire.

I need to monitor usage for my router and for my entire home network, but I have tools that will provide the OVERALL usage numbers required. (Netgear Genie provides an excellent “total” traffic meter by day, week and month. The Verizon website provides daily and to-date totals for each month on its router. Glasswire enhances these by allowing me to see for all my connected COMPUTERS, the detail by application throughout the same time periods. Thus I can determine exactly what drives traffic and what drives it.

What none of the functions currently provide is what I think Glasswire could provide for all COMPUTER devices connected to a network. But today Glasswire only provides the usage information on a BY COMPUTER basis for each computer that has Glasswire installed. I would like to see that information provided for each network (router) that the computer(s) have been connected to for a given period.

Today, my only control for usage monitoring on my network is to manually stop Glasswire if a computer (specifically a laptop) is moved to another network and then restart Glasswire when the computer is returned to my network. That is inefficient and prone to error and eliminates the information that could be useful for both that computer and for the other network that was connected.

Glasswire already captures the information that a new router has been connected. With additional software, it could parse that information and provide specifics for that computer for each network connection during a time period (day, week, month, etc.). Using the Remote Connection, the Glasswire client can compile and provide the complete information for all the COMPUTERS that were used as Glasswire remote servers during a given period.

While this could be provided by application (based on current Glasswire services), it is probably not of great value to do so, but the overall usage information by (router) network for a “Glasswire network” installation would be very useful.

I have limited this request to COMPUTERS because Remote Monitoring of COMPUTERS is a function that Glasswire currently provides. Expansion of Glasswire capabilities to various routers is a completely different request and function.

Rich

1 Like

This is a deal breaker for me. I need to know the data usage for each device in my network (via my router). I am currently testing the free GlassWire Basic software.

Unfortunately all routers are different, but we’re working on some ideas of ways we can estimate traffic that will work on many different hardware options.

1 Like

Ken,

So long as Glasswire is able to implement SNMP (v2 at minimum), there are standards-based SNMP OIDs (Object Identifiers) for obtaining network interface information. If you look at the Apple OS X App Store, there are several apps available that allow you to enter the IP address/SNMP read-only community string details at which point the app will collect real-time (near real-time) performance stats as well as aggregate and store stats for historical views.

Here is the app I was thinking of when I wrote my original response… It’s called PeakHour and it works great!

Go to: https peakhourapp [dot] com

I would love to see this sort of capability merged into Glasswire. I know I would definitely leverage it.

+1 for SNMP integration. If you’re on a Linux, Unix or OSX machine, you can likely run the following against a modern router/modem (though you may need to enable the feature or install it or some such) and get almost all the stats you’d ever need for GlassWire (and this is for everyone else, I’m sure the good people at GlassWire know their stuff!):

To get incoming data-counters:
snmpwalk -c public 192.168.0.1 1.3.6.1.2.1.31.1.1.1.6

To get outgoing data-counters:
snmpwalk -c public 192.168.0.1 1.3.6.1.2.1.31.1.1.1.10

To list the network interfaces:
snmpwalk -c public 192.168.0.1 .1.3.6.1.2.1.2.2.1.2

So lets say you want to monitor the incoming data on a router, first see what interfaces there are:

Daniels-Mac:~ dfj$ snmpwalk -c public 192.168.0.1 .1.3.6.1.2.1.2.2.1.2
IF-MIB::ifDescr.1 = STRING: lo
IF-MIB::ifDescr.2 = STRING: eth0
IF-MIB::ifDescr.3 = STRING: vlan2
IF-MIB::ifDescr.4 = STRING: eth1
IF-MIB::ifDescr.5 = STRING: eth2
IF-MIB::ifDescr.6 = STRING: vlan1
IF-MIB::ifDescr.7 = STRING: br0
IF-MIB::ifDescr.9 = STRING: tun11
IF-MIB::ifDescr.12 = STRING: ppp0

So in this case, ppp0 is my connection to the internet, which is the thing I want to monitor (though you can technically monitor any of the Ethernet ports instead to see what a specific client is doing). You can see all the counters first:

Daniels-Mac:~ dfj$ snmpwalk -c public 192.168.0.1 1.3.6.1.2.1.31.1.1.1.6
IF-MIB::ifHCInOctets.1 = Counter64: 16082597
IF-MIB::ifHCInOctets.2 = Counter64: 1851195639
IF-MIB::ifHCInOctets.3 = Counter64: 100526111
IF-MIB::ifHCInOctets.4 = Counter64: 3555661416
IF-MIB::ifHCInOctets.5 = Counter64: 393173445
IF-MIB::ifHCInOctets.6 = Counter64: 1668802751
IF-MIB::ifHCInOctets.7 = Counter64: 413953691
IF-MIB::ifHCInOctets.9 = Counter64: 0
IF-MIB::ifHCInOctets.12 = Counter64: 1264408525

And then just the one you care about, by adding the number ID to the end:

Daniels-Mac:~ dfj$ snmpwalk -c public 192.168.0.1 1.3.6.1.2.1.31.1.1.1.6.12
IF-MIB::ifHCInOctets.12 = Counter64: 1264408525

And if you want to see it update in real-time, use watch if you have it installed (and if you don’t have it installed in OSX, you can easily get it using brew from brew.sh):

Daniels-Mac:~ dfj$ watch snmpwalk -c public 192.168.0.1 1.3.6.1.2.1.31.1.1.1.6.12

Every 2.0s: snmpwalk -c public 192.168.0.1 1.3.6.1.2.1.31.1.1.1.6.12                             Thu Mar 17 17:36:46 2016

IF-MIB::ifHCInOctets.12 = Counter64: 1264408611

Now all this data is in bits, so to get something useful, apply some basic maths. These counters indicate the total bits downloaded, so the current bandwidth usage per second is NewValue - OldValue / SecondsSinceLastCheck

With a bit of data smoothing, you can generate useful metrics. It’s worth noting the caveat that SNMP counters reset to zero once they hit their variable size limit, so you need to factor that in when tracking this stuff - just need to spot when the different is negative and throw away the old value.

2 Likes

Cool info, thanks @DanielJ!