netstat -e
That's a command line tool. It might give you a byte count for the
interface.
Maybe some free utility will dress that up nice. Try it from a command
prompt.
*******
All you really need to do, is schedule that for execution at shutdown,
so that all the bytes get logged and you have the ability to
sum a total for the month. (The count starts at zero, if you're rebooting
the computer, so you want to capture the last count at shutdown, before
the reboot.) Perhaps something like this would do it. My guess would be
the >> part would append to the end of the log file. If the log file
isn't there, it would be created the first time.
netstat -e >> mylogfile.txt
You might build a script around that, embed a date command, so each entry
is date stamped, and so on.
date /T >> mylogfile.txt
time /T >> mylogfile.txt
Other than that, if you have some network device which is smart,
and is always on, perhaps it has a byte-o-meter in it. My router
has such a display, for whatever that's worth. I don't know how
exactly you transfer that display automatically though. (It's just
HTML, so there may be a way.) Getting the total from the router,
totals the stats for all the computers that download. (It's a
WAN side counter.)
You might want to calibrate that as well. Use Wireshark, send a packet,
then check with netstat -e, that the resulting change makes sense.
As for bandwidth calculations, on something like ADSL, they may be using
PPP stream protocol. Perhaps their byte count includes PPP headers, in
which
case their count could be different than the one you collect in Windows.
There is some arithmetic here, that hints at the overhead. Some ADSL uses
PPPOE and some uses PPPOA, and one has more overhead than the other. It
really depends on whether the ISP considers the billed bandwidth to be
at the PPP stream level, or at the application level (the part you get
to use). Perhaps a cable modem and DOCSIS is more transparent ?
http://blog.ioshints.info/2009/03/adsl-overhead.html
I think one of our ISPs here, got accused recently of not counting
the bytes properly, so it's a complicated subject (1,2,3,another,another).
And when you have usage based billing schemes, it's very important to get
the details right.
Paul