Linux vps-61133.fhnet.fr 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64
Apache/2.4.25 (Debian)
Server IP : 93.113.207.21 & Your IP : 216.73.216.122
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
doc /
lsof /
examples /
Delete
Unzip
Name
Size
Permission
Date
Action
00MANIFEST
1.76
KB
-rw-r--r--
2004-06-14 16:32
00README
2
KB
-rw-r--r--
2015-09-13 23:45
big_brother.perl5.gz
2.03
KB
-rw-r--r--
2015-09-13 23:45
count_pf.perl
1.81
KB
-rwxr-xr-x
2015-09-13 23:45
count_pf.perl5
1.97
KB
-rwxr-xr-x
2015-09-13 23:45
identd.perl5
3.23
KB
-rwxr-xr-x
2015-09-13 23:45
idrlogin.perl.gz
2.17
KB
-rw-r--r--
2015-09-13 23:45
idrlogin.perl5.gz
2.22
KB
-rw-r--r--
2015-09-13 23:45
list_NULf.perl5.gz
1.79
KB
-rw-r--r--
2015-09-13 23:45
list_fields.awk.gz
1.72
KB
-rw-r--r--
1997-09-23 16:32
list_fields.perl.gz
1.71
KB
-rw-r--r--
2015-09-13 23:45
shared.perl5.gz
3.49
KB
-rw-r--r--
2015-09-13 23:45
sort_res.perl5
3.63
KB
-rwxr-xr-x
2015-09-13 23:45
watch_a_file.perl
2.18
KB
-rwxr-xr-x
2015-09-13 23:45
xusers.awk
3.88
KB
-rwxr-xr-x
1997-03-10 21:10
Save
Rename
#!/usr/bin/perl ################################################################### # identd.perl5 : An implementation of RFC 1413 Ident Server # using Vic Abell's lsof. # # - Started from inetd with 'nowait' option. This entry in # /etc/inetd.conf will suffice : # # ident stream tcp nowait root /usr/local/bin/identd.perl5 -t200 # # - Multiple instances of the server are not a performance penalty # since they shall use lsof's cacheing mechanism. (compare with # Peter Eriksson's pidentd) # - assumes 'lsof' binary in $PATH # - Command line arguments : # -t TIMEOUT Number of seconds to wait for a query before aborting. # Default is 120. # # Kapil Chowksey <kchowksey@hss.hns.com> ################################################################### use strict; use Socket; use Getopt::Long; # Set path to lsof. my $LSOF; if (($LSOF = &isexec("/usr/bin/lsof")) eq "") { # Try .. first if (($LSOF = &isexec("lsof")) eq "") { # Then try . and $PATH print "can't execute $LSOF\n"; exit 1 } } # redirect lsof's warnings/errors to /dev/null close(STDERR); open(STDERR, ">/dev/null"); my $Timeout = "120"; GetOptions('timeout=i'=>\$Timeout); my ($port, $iaddr) = sockaddr_in(getpeername(STDIN)); my $peer_addr = inet_ntoa($iaddr); my $query; # read ident-query from socket (STDIN) with a timeout. my $timeout = int($Timeout); eval { local $SIG{ALRM} = sub { die "alarm\n" }; alarm $timeout; $query = <STDIN>; alarm 0; }; die if $@ && $@ ne "alarm\n"; if ($@) { # timed out exit; } # remove all white-spaces from query $query =~ s/\s//g; my $serv_port = ""; my $cli_port = ""; ($serv_port,$cli_port) = split(/,/,$query); if ($serv_port =~ /^[0-9]+$/) { if (int($serv_port) < 1 || int($serv_port) > 65535) { print $query." : ERROR : INVALID-PORT"."\n"; exit; } } else { print $query." : ERROR : INVALID-PORT"."\n"; exit; } if ($cli_port =~ /^[0-9]+$/) { if (int($cli_port) < 1 || int($cli_port) > 65535) { print $query." : ERROR : INVALID-PORT"."\n"; exit; } } else { print $query." : ERROR : INVALID-PORT"."\n"; exit; } open(LSOFP,"$LSOF -nPDi -T -FLn -iTCP@".$peer_addr.":".$cli_port."|"); my $user = "UNKNOWN"; while (my $a_line = <LSOFP>) { # extract user name. if ($a_line =~ /^L.*/) { ($user) = ($a_line =~ /^L(.*)/); } # make sure local port matches. if ($a_line =~ /^n.*:\Q$serv_port->/) { print $serv_port.", ".$cli_port." : USERID : UNIX :".$user."\n"; exit; } } print $serv_port.", ".$cli_port." : ERROR : NO-USER"."\n"; ## isexec($path) -- is $path executable # # $path = absolute or relative path to file to test for executabiity. # Paths that begin with neither '/' nor '.' that arent't found as # simple references are also tested with the path prefixes of the # PATH environment variable. sub isexec { my ($path) = @_; my ($i, @P, $PATH); $path =~ s/^\s+|\s+$//g; if ($path eq "") { return(""); } if (($path =~ m#^[\/\.]#)) { if (-x $path) { return($path); } return(""); } $PATH = $ENV{PATH}; @P = split(":", $PATH); for ($i = 0; $i <= $#P; $i++) { if (-x "$P[$i]/$path") { return("$P[$i]/$path"); } } return(""); }