This file is indexed.

/usr/bin/genlist is in pbnj 2.04-4.

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
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#!/usr/bin/perl

eval 'exec /usr/bin/perl  -S $0 ${1+"$@"}'
    if 0; # not running under some shell
#
# Copyright (C) 2005-2006 Joshua D. Abraham (jabra@ccs.neu.edu)
#
# This program is released under the terms of the GNU General Public License
# (GPL), which is distributed with this software in the file "COPYING".
# The GPL specifies the terms under which users may copy and use this software.
#
# PBNJ 2.0
# (P)orts (B)anners N' (J)unk
#
# Author:   Joshua D. Abraham
# Date:     March 15, 2006
# Updated:  November 15, 2006
# Version:  2.04
# 
#
# Genlist - ping scanner
#

use strict;
use warnings;

use FileHandle;
use Nmap::Parser;
use Getopt::Long;
use File::Which;

use vars qw( $PROG );
( $PROG = $0 ) =~ s/^.*[\/\\]//;    # Truncate calling path from the prog name

my $AUTH    = 'Joshua D. Abraham';  # author
my $VERSION = '2.04';               # version

my $np = new Nmap::Parser;          # parser object

my $list;                           # output list of live hosts;
my @output_files;
my $ipfound;
my $type      = 'help';
my $outputdir = '.';                # output database directory
my $nmapPath  = which('nmap');      # nmap path
my $args      = "-sP";
my $interface = "";                 # default interface to perform scan
my @ipRange;
my %options;                        # getopts hash
##############################################################################
# scan ->
# performs a ping scan and prints the list of machines that are up
# side effects: exits program
##############################################################################
sub scan {
    $np->parsescan( $nmapPath, $args, @ipRange );
    for my $host ( $np->get_ips('up') ) {
        print "$host\n";
    }
    exit;
}
##############################################################################
#
# help ->
# display help information
# side effect:  exits program
#
##############################################################################
sub help {
    print "Usage: $PROG [Input Type] [General Options]
Input Type:
   -s  --scan <target>      Ping Target Range ex: 10.0.0.\\*

Scan Options:
   -n  --nmap <path>        Path to Nmap executable 
       --inter <interface>  Perform Nmap Scan using non default interface

General Options:
   -v  --version            Display version
   -h  --help               Display this information

Send Comments to Joshua D. Abraham ( jabra\@ccs.neu.edu )\n";
    exit;
}

sub print_version {
    print "$PROG version $VERSION by $AUTH\n";
    exit;
}

##############################################################################

GetOptions(
    \%options,
    'scan|s=s', 'nmap|n=s', 'inter=s',
    'help|h'    => sub { help(); },
    'version|v' => sub { print_version(); },
    )
    or exit 1;

if ( $options{'nmap'} ) {
    if ( -X $options{'nmap'} ) {
        $nmapPath = $options{'nmap'};
    }
    else {
        print $options{'nmap'} . " isn't executable using $nmapPath\n";
    }
}
if ( $options{'scan'} ) {
    my $ipRange;
    if ( $options{'scan'}
        =~ /(\d{1,3})\.(\d{1,3}|\*)\.(\d{1,3}|\*)\.(0\/\d{1,2}|\d{1,3}|\*|'*')/
        )
    {
        $ipRange = $options{'scan'};
        $type    = 'scan';
    }
    else {
        print "scan is $options{'scan'}";
    }
    push( @ipRange, $ipRange );
}
if ( $options{'inter'} ) {
    $interface = "-e " . $options{'interface'} . " ";
    $args      = $args . $interface;
}

# make sure something is passed
help() if ( $type ne 'scan' );
scan();