This file is indexed.

/usr/bin/add_txrx is in flowscan 1.006-13.2.

This file is owned by root:root, with mode 0o755.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#! /bin/ksh

# add_txrx - add two new Data Sources called 'tx' and 'rx' to an RRD file

# $Id: add_txrx.in,v 1.2 2001/02/11 20:43:25 dplonka Exp $
# Dave Plonka <plonka@doit.wisc.edu>

# This utility is used when upgrading from FlowScan-1.005 (or less) to
# FlowScan-1.006 (or greater).  It is used to add two new Data Sources
# to FlowScan ".rrd" files. e.g.:
# 
#   $ make install # install FlowScan-1.006 in your existing FlowScan dir
#   $ cd $prefix/graphs
#   $ add_txrx total.rrd *.*.*.*_*.rrd
#
#   tx - a count of the unique source IP addresses that have transmitted flows
#   rx - a count of the unique destination IP addresses that have received flows
#
# These Data Sources will allows FlowScan users to calculate the average
# number of bytes, packets, and flows per host and to determine the overall
# level of activity (in terms of numbers of individual hosts) for each subnet
# and for the entire campus.
#
# The values will be recorded only if you use the TopN directive with the
# CampusIO and/or SubNetIO reports.  TopN was introduced in FlowScan-1.006.
#
# For instance, if you set CampusIO's TopN to a value greater than zero,
# the tx value in FlowScan's "total.rrd" is the number of unique source
# IP addresses (hosts) from which FlowScan has seen outbound flows.

# { CONFIGURATION SECTION START ################################################

# { external commands used by this script:

typeset head="/usr/bin/head"
typeset grep="/bin/grep"
typeset cp="/bin/cp"
typeset mv="/bin/mv"
typeset rm="/bin/rm"

typeset perl="/usr/bin/perl"
typeset rrdtool="/usr/bin/rrdtool"

typeset add_ds="/usr/bin/add_ds.pl"

# }

# } CONFIGURATION SECTION END ##################################################

typeset script=${0##*/}

if (( $# < 1 ))
then
   print -u2 "usage"
   exit 2
fi

for file in "$@"
do
   if ${rrdtool?} fetch ${file?} AVERAGE -s 0 -e 0 \
      | ${head?} -1 | ${grep?} 'tx.*rx' >/dev/null
   then
      print -u2 "${script}: \"${file?}\" appears to have tx and rx already"
      continue
   fi
   if ${rrdtool?} dump ${file?} \
         | ${add_ds?} 2 NaN GAUGE 400 NaN NaN \
            | ${perl?} -pe 's/>\s*ds1\s*</>tx</; s/>\s*ds2\s*</>rx</' \
               > .${file%.rrd}.xml \
      && ${rrdtool?} restore .${file%.rrd}.xml .${file?} \
      && ${cp?} .${file?} ${file?} # cp(1) instead of mv(1) to save permissions
   then
      print -u2 "${script}: \"${file?}\" done"
   else
      exit 1
   fi
   ${rm?} -f .${file?} .${file%.rrd}.xml
done

exit 0