- 論壇徽章:
- 0
|
如何實現(xiàn)遠(yuǎn)程操作??
隨手寫的,在SUNOS上進(jìn)行初步測試,可能還會有些問題的............
ps:這個論壇可能會過濾一些符號,要用的話先調(diào)試一下........
先在遠(yuǎn)程機(jī)器上運(yùn)行l(wèi)isten.pl
在自己的機(jī)器上運(yùn)行sender.pl得到遠(yuǎn)程機(jī)器的進(jìn)程列表,sender.pl kill pid則終止進(jìn)程。
<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; |
|