- 论坛徽章:
- 0
|
如何实现远程操作??
随手写的,在SUNOS上进行初步测试,可能还会有些问题的............
ps:这个论坛可能会过滤一些符号,要用的话先调试一下........
先在远程机器上运行listen.pl
在自己的机器上运行sender.pl得到远程机器的进程列表,sender.pl kill pid则终止进程。
<sender.pl>;
#
# by Locust 2002/in china
# icq:46741881
#
#!/usr/bin/perl
my $ipaddr='211.94.33.133';
my $port='3333';
my $selfport='3334';
use IO::Socket;
$sock = new IO::Socket::INET (PeerAddr =>; $ipaddr,
PeerPort =>; $port,
Proto =>; 'tcp',);
die "Socket could not be created,Reason!" unless $sock;
($command[0] = $ARGV[0])||&display;
($command[1] = $ARGV[1])||&display;
chomp $command[0];
chomp $command[1];
&display if ($command[0] ne "kill"
print $sock "$command[1]";
exit;
sub display{
print $sock "display";
close ($sock);
$resock = new IO::Socket::INET (LocalHost =>; '127.0.0.1',
LocalPort =>; $selfport,
Proto =>; 'tcp',
Listen =>; 5,
Reuse =>; 1,);
while ($new_sock = $resock->;accept()) {
while (defined ($buf = <$new_sock>){
print "\n$buf";
exit if ($buf);
}}};
<listen.pl>;
#
# by Locust 2002/in china
# icq:46741881
#
#!/usr/bin/perl
use IO::Socket;
my $port=3333;
my $selfadr='127.0.0.1';
my $selfport=3334;
$sock = new IO::Socket::INET (LocalHost =>; '127.0.0.1',
LocalPort =>; $port,
Proto =>; 'tcp',
Listen =>; 5,
Reuse =>; 1,);
die "Socket could not be created,Reason!" unless $sock;
while ($new_sock = $sock->;accept()) {
while (defined ($buf = <$new_sock>){
exit if ($buf eq 'exit');
if ($buf eq 'display') {
@display=`ps -f`;
$sendsock = new IO::Socket::INET (PeerAddr =>; $selfadr,
PeerPort =>; $selfport,
Proto =>; 'tcp',);
#print @display;
print $sendsock @display;
$buf=0;
}elsif ($buf){
@tmp=`kill -9 $buf`;
$buf=0;
}}}
exit; |
|