Getting a specific value from netstat

Dan Nelson dnelson at allantgroup.com
Mon Sep 18 07:42:15 PDT 2006


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.  Another
alternative would be to install net-snmp and ask it for the stats.

-- 
	Dan Nelson
	dnelson at allantgroup.com


More information about the freebsd-questions mailing list