#! /usr/bin/ksh # top_mcast - a utility to show the top multicast source hosts # Dave Plonka , Dec 19 2001 exec flowdumper \ -I 'use Socket; use Net::Patricia; $pt = Net::Patricia->new; map { $pt->add_string($_, 1) } qw( 224.0.0.0/4 )' \ -n \ -e '$pt->match_integer($dstaddr) && (($total{$srcaddr}{flows}++), ($total{$srcaddr}{bytes} += $bytes), ($total{$srcaddr}{pkts} += $pkts), ($Flows++, $Bytes += $bytes, $Pkts += $pkts), 1)' \ -E 'printf(STDERR "%%bytes %%pkts %%flows host\n%s", "------ ------ ------ ----\n"); while (($SRC, $ref) = each(%total)) { printf("%-6.3f %-6.3f %-6.3f %s\n", 100*($ref->{bytes}/$Bytes), 100*($ref->{pkts}/$Pkts), 100*($ref->{flows}/$Flows), inet_ntoa(pack("N", $SRC))); }' \ "$@" |sort -k1nr |ip2hostname -p '%15.15s "%s"'