From owner-freebsd-net@FreeBSD.ORG Wed Jul 9 19:05:35 2003 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7914837B401 for ; Wed, 9 Jul 2003 19:05:35 -0700 (PDT) Received: from www.svzserv.kemerovo.su (www.svzserv.kemerovo.su [213.184.65.80]) by mx1.FreeBSD.org (Postfix) with ESMTP id A22B343FB1 for ; Wed, 9 Jul 2003 19:05:33 -0700 (PDT) (envelope-from eugen@kuzbass.ru) Received: from kuzbass.ru (kost [213.184.65.82])h6A25KCo036817; Thu, 10 Jul 2003 10:05:21 +0800 (KRAST) (envelope-from eugen@kuzbass.ru) Message-ID: <3F0CC9D9.80A1BD78@kuzbass.ru> Date: Thu, 10 Jul 2003 10:05:13 +0800 From: Eugene Grosbein Organization: SVZServ X-Mailer: Mozilla 4.8 [en] (Win98; U) X-Accept-Language: ru,en MIME-Version: 1.0 To: Milan Obuch , net@freebsd.org References: <3F0BA58E.1F8888A2@kuzbass.ru> <20030709060958.GD69076@cell.sick.ru> <200307090853.31579.root@home.bluegrass.sk> <3F0BE1E5.6010201@he.iki.fi> <3F0BEA55.D7ABD657@kuzbass.ru> <20030709104614.GA4540@home.bluegrass.sk> Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 7bit Subject: Re: unicast octets statistics X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Jul 2003 02:05:35 -0000 Milan Obuch wrote: > > ifInOctets counts broadcasts too. > > I finished with ipfw2, thank you all. > Maybe you could 'advertise' your solution :) I use ipfw2 to count packets: from any to any in recv ep0 mac $mymac any and from any to any out xmit ep0. I know my router sends only unicast traffic to uplink so the second rule is simple. Then I use dirty ;) but simple script for net-snmp/pass_persist. Mrtg draws graphic of unicast traffic, asking snmp agent for .1.3.6.1.4.1977.ifnumber.[12] #!/bin/sh # $Id: snmpifmon,v 1.1 2003/07/09 09:25:46 eugen Exp $ # # Format: $MYMIB.ifnum.[12], 1 for input, 2 for output MYMIB=.1.3.6.1.4.1977 OFS="$IFS" while read command do case $command in PING) echo PONG ;; get) read MIB case "$MIB" in $MYMIB*) IFS=. set $MIB IFS=$OFS shift 7 if [ $# -eq 2 ]; then set `echo -n '0 '; ipfw show 4${1}${2} 2>/dev/null` if [ -n "$4" ]; then echo $MIB echo integer echo $4 else echo NONE fi else echo NONE fi ;; *) echo NONE ;; esac ;; *) echo NONE ;; esac done