Date: Mon, 18 Sep 2006 08:25:12 -0700 From: Paul Hoffman <phoffman@proper.com> To: Dan Nelson <dnelson@allantgroup.com> Cc: freebsd-questions@freebsd.org Subject: Re: Getting a specific value from netstat Message-ID: <p06230928c1346a155671@[10.20.30.177]> In-Reply-To: <20060918144206.GG55663@dan.emsphone.com> References: <p0623090bc13324d88cbe@[10.20.30.177]> <20060918144206.GG55663@dan.emsphone.com>
next in thread | previous in thread | raw e-mail | index | archive | help
At 9:42 AM -0500 9/18/06, Dan Nelson wrote: >In the last episode (Sep 17), Paul Hoffman said: > > Greetings again. If I do a 'netstat -I em0 -b', I get: >> >> Name Mtu Network Address Ipkts Ierrs >>Ibytes Opkts Oerrs Obytes Coll >> em0 1500 <Link#1> 00:0e:0c:67:c8:04 93555198 0 >>2179562966 114493253 0 723565977 0 >> em0 1500 fe80:1::20e:c fe80:1::20e:cff:f 0 - >>0 4 - 288 - >> em0 1500 192.245.12 Balder-227 35399016 - >>1770283188 114484197 - 3415268168 - >> em0 1500 192.245.12.22 Balder-228 27063120 - >>1655024896 0 - 0 - >> em0 1500 192.245.12.22 Balder-229 47427840 - >>3954775975 18975500 - 2445620452 - >> >> What I care about is the number of input and output bytes (in this >> case, 2179562966 and 723565977). I can write a short Perl script to >> parse the netstat output, but I would rather just get the numbers >> directly from the OS. Are these values available without going >> through netstat? > >If you use the same code netstat does, yes :) It looks like >per-interface stats are still obtained by grovelling through /dev/kmem, >though, so it may be easier to just parse netstat's output. Yes, probably so. The quick-and-dirty Perl script I wrote is: $ThisNetStat = `/usr/bin/netstat -I em0 -b`; @Lines = split(/^/, $ThisNetStat); $TheLine = $Lines[1]; $TheLine =~ s/ ( )*/ /g; @Fields = split(/ /, $TheLine); $InBytes = $Fields[6]; $OutBytes = $Fields[9]; *However*, I now see that the byte numbers from netstat seem to wrap around at about 4 gigabytes. I'll have to add some code to handle that over the long term, given that my system puts out that much in a day... >Another >alternative would be to install net-snmp and ask it for the stats. I thought SNMP stood for "Simply Not My Problem"? :-) --Paul Hoffman
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?p06230928c1346a155671>