| Server IP : 112.74.42.100 / Your IP : 216.73.216.142 Web Server : nginx/1.20.2 System : Linux iZwz96lx4pjqiy84w4hni7Z 5.10.134-17.3.al8.x86_64 #1 SMP Thu Oct 31 14:29:57 CST 2024 x86_64 User : www ( 1000) PHP Version : 8.0.26 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/doc/perl-Net-SSLeay/examples/ |
Upload File : |
#!/usr/bin/perl -w
# tcpecho.pl - Echo server using TCP
#
# Copyright (c) 2003 Sampo Kellomaki <sampo@iki.fi>, All Rights Reserved.
# $Id: tcpecho.pl,v 1.2 2003/08/17 07:44:47 sampo Exp $
# 17.8.2003, created --Sampo
#
# Usage: ./tcpecho.pl *port*
#
# This server always binds to localhost as this is all that is needed
# for tests.
die "Usage: ./tcpecho.pl *port*\n" unless $#ARGV == 0;
($port) = @ARGV;
$our_ip = "\x7F\0\0\x01";
$trace = 2;
use Socket;
use Net::SSLeay;
#
# Create the socket and open a connection
#
$our_serv_params = pack ('S n a4 x8', &AF_INET, $port, $our_ip);
socket (S, &AF_INET, &SOCK_STREAM, 0) or die "socket: $!";
bind (S, $our_serv_params) or die "bind: $! (port=$port)";
listen (S, 5) or die "listen: $!";
#while (1) { # uncomment to turn off "one shot" behaviour
print "tcpecho $$: Accepting connections on port $port...\n" if $trace>1;
($addr = accept(Net::SSLeay::SSLCAT_S, S)) or die "accept: $!";
$old_out = select(Net::SSLeay::SSLCAT_S); $| = 1; select ($old_out); # Piping hot!
if ($trace) {
($af,$client_port,$client_ip) = unpack('S n a4 x8',$addr);
@inetaddr = unpack('C4',$client_ip);
print "$af connection from " . join ('.', @inetaddr)
. ":$client_port\n" if $trace;;
}
#
# Connected. Exchange some data.
#
$got = Net::SSLeay::tcp_read_all() or die "$$: read failed";
print "tcpecho $$: got " . length($got) . " bytes\n" if $trace==2;
print "tcpecho: Got `$got' (" . length ($got) . " chars)\n" if $trace>2;
$got = uc $got;
Net::SSLeay::tcp_write_all($got) or die "$$: write failed";
$got = ''; # in case it was huge
print "tcpecho: Tearing down the connection.\n\n" if $trace>1;
close Net::SSLeay::SSLCAT_S;
#}
close S;
__END__