
iThunder
Novice
May 17, 2014, 4:10 PM
Post #1 of 1
(8272 views)
|
Doing ftp using pseudo-tty
|
Can't Post
|
|
Hello, I am trying to do FTP with pseudo-tty using below code. In packet captures, i can see that code is sending the username root in request command user but it doesnt send password (i.e. no request argument sent in Request command: PASS). Any suggestions ? #!/usr/bin/perl use warnings; use strict; use Net::Telnet; use IO::Pty; use POSIX 'setsid'; use Getopt::Long; my $host = "192.168.1.121"; my $user = "root"; my $ssh = do_cmd('ftp',$host); my $shell = Net::Telnet -> new(Fhopen => $ssh); $shell -> binmode(1); $shell -> cmd(String => 'root', Prompt => '/[a-z]/'); $shell -> cmd(String => 'password', Prompt => '/[a-z]/'); my @lines = $shell->cmd(String => 'ls', Prompt => '/[a-z]/'); print @lines; print "\n"; sub do_cmd{ my ($cmd,@args) = @_; my $pty = IO::Pty -> new; defined (my $child = fork); return $pty if $child; setsid(); my $tty = $pty -> slave; close $pty; STDIN -> fdopen($tty,"<"); STDOUT -> fdopen($tty,">"); STDERR -> fdopen ($tty, ">"); close $tty; $| = 1; exec $cmd,@args; }
|