Telnet Script Issues


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Telnet Script Issues
# 1  
Old 04-06-2008
Telnet Script Issues

HI All
Some body wrote to me this Telnet Script :

Code:
#!/opt/perl/bin/perl
$ip       = $ARGV[0];
die ("IP must be passed as an argument. $!\n") unless defined($ip);
use Net::Telnet ();
$handle = new Net::Telnet (Timeout => 10, Prompt => '/.*(#|>|\))\s*$/');
$handle->open("$ip");
$handle->login("MY_USER","PASSOWRD");
$handle->cmd("terminal length 0");
@lines = $handle->cmd("show cdp neighbor");
print "@lines";
#system("sleep 30");
$handle->cmd(exit);
$handle->close;

This Script telnets a Cisco device and execute a command and prints out the result.
My Issues in this Script are :
1 - I understand all the lines Except this one “ Prompt => '/.*(#|>|\))\s*$/'
I know its function is define the Prompt for cisco router but I need any one explain it for me I mean the syntax .

2 - I downloaded the telnet module from CPAN.org and tried to install it, it gives me an error like this :

Code:
CORE" perlmain.c
(Bundled) cc: warning 480: The -A option is available only with the C/ANSI C pro
duct; ignored.
(Bundled) cc: warning 480: The +Z option is available only with the C/ANSI C pro
duct; ignored.
(Bundled) cc: warning 422: Unknown option "f" ignored.
(Bundled) cc: warning 480: The +Onolimit option is available only with the C/ANS
I C product; ignored.
(Bundled) cc: warning 480: The +Opromote_indirect_calls option is available only
 with the C/ANSI C product; ignored.
cpp: "/opt/perl_32/lib/5.8.8/PA-RISC1.1-thread-multi/CORE/perlio.h", line 121: e
rror 4065: Recursion in macro "PerlIO".
*** Error exit code 1

Stop.
*** Error exit code 1

And when I try to execute the script it gives me this error :

Code:
Can't locate Net/Telnet.pm in @INC (@INC contains: /opt/perl_32/lib/5.8.8/PA-RIS
C1.1-thread-multi /opt/perl_32/lib/5.8.8 /opt/perl_32/lib/site_perl/5.8.8/PA-RIS
C1.1-thread-multi /opt/perl_32/lib/site_perl/5.8.8 /opt/perl_32/lib/site_perl /o
pt/perl_32/lib/vendor_perl/5.8.8/PA-RISC1.1-thread-multi /opt/perl_32/lib/vendor
_perl/5.8.8 /opt/perl_32/lib/vendor_perl .) at ./t1 line 4.
BEGIN failed--compilation aborted at ./t1 line 4.

Last thing may helps you to resolve my issue is I have this version of perl :
Code:
This is perl, v5.8.8 built for PA-RISC1.1-thread-multi


Thanks a lot for your help Smilie
# 2  
Old 04-06-2008
The prompt regular expression means any character (.) zero or more times (*) followed by either # or > or ), followed by whitespace (\s), zero or more occurrences (*), followed by end of line ($). Read up on regular expressions; it's time well invested.

Installing the module obviously failed. Looks like you need to find a C compiler which is a "C/ANSI C product" for your platform. It might be as simple as rearranging your PATH to make /opt/path/to/secret/ansi/cc come before /usr/bin/sucky/old/legacy/we/hate/our/customers/cc but really, google for a bit and read the documentation for your platform's compiler alternatives.
# 3  
Old 04-06-2008
... or see if you can find GCC for your platform.

Quick googling turned up similar problems in other Perl modules; Mysql-DBD Perl module Installation Problem in HPUX looks vaguely helpful for solving the problem, and https://sourceforge.net/tracker/?fun...group_id=10127 suggests that this is a bug in the C compiler for HP-UX.

As such, the configure script ought to know about these issues, and not produce an incorrect Makefile for your platform. Maybe you could submit a bug report about this, although I can't tell exactly whose bug that is.

Last edited by era; 04-06-2008 at 06:17 AM.. Reason: Maybe submit a bug report
# 4  
Old 04-06-2008
Thanks a lot for your help Era

I am using HP UX, but I have another hardware with same specs and working fine.
Anyhow I will try to Google it ,
But please If there is any body has quick solution, HELP ME Smilie
# 5  
Old 04-07-2008
I have an issue with one device, that doesn't return prompt like # at the end of output. It simply give a new line. But output can containt a few lines. Which kind of "prompt" can I put here to Net::Telnet??
# 6  
Old 04-10-2008
continue perl telnet

I need to telnet to a sun servervia 9023 port.
Normally, I can telnet directly as below:
telnet 10.2.4.9 9023
Trying 10.2.4.9...
Connected to 10.2.4.9.
Escape character is '^]'.
900 Login required.
login username passwd
login username passwd
102 2 records.
Lucent NavisRadius Radius Server, Version 4.5.8 (Build 551-060)
Copyright (c) 1998-2005 Lucent Technologies Inc. All Rights Reserved.
==>

I tried to use Net::Telnet with the code following:

#!/usr/bin/perl -w
use Net::Telnet ();
$t = new Net::Telnet (Timeout => 10,Port => 9023,Prompt => '/==> $/');
$t->open("10.2.4.9");
$t->waitfor("900 Login required. $/i");
$t->print("login username passwd");


But it's not successful. This is the error message:

missing opening delimiter of match operator in argument "900 Login required.i" given to Net::Telnet::waitfor() at ./try line 5

How can i fix it ?
# 7  
Old 04-10-2008
It doesn't like the slash because it's (stupidly, buggily) using that internally as a regex separator, apparently. Try backslash-escaping it. Or, if it's meant as a regex separator, put in the missing opening separator.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Telnet Script

Hello, I wrote a script for doing telnet.However the requirement got changed and now I have to write a telnet script that will 1. Do the telnet from all the virtual ips in a box(Ex: x.x.x.x is the box ip, and x.x.x.1,x.x.x.2 etc are virtual ips associated with that box.) 2. The port range... (0 Replies)
Discussion started by: coolkid
0 Replies

2. Shell Programming and Scripting

telnet script

Hi, I need a script that take one parameter as destination hostname and two parameter as ranges and tries telnet and records the successful connections. fo reg: ./testtelnet.sh destination-host 1000 1050 should give me all the port between 1000 and 1050 what successfully connected to... (10 Replies)
Discussion started by: shifahim
10 Replies

3. Shell Programming and Scripting

Script issues

#!/bin/bash glist=`cat /etc/group | cut -d ":" -f1,4` ulist=`cat /etc/passwd | cut -d ":" -f1,6` for i in $glist do echo "$glist" done for i in $ulist do echo "$ulist" done chkgrp=`cat /etc/group | cut -d ":" -f1` for a in chkgrp do (4 Replies)
Discussion started by: mduduzi
4 Replies

4. Shell Programming and Scripting

Telnet script

Hi all, I would like to write a ad hoc shell script that would allow me to do some telnet tests to multiple IP's and ports at the same time . So, I want to determine which one is successful and which one fails. So, basically I would like the shell to spawn the telnet test and to break out of... (3 Replies)
Discussion started by: Pouchie1
3 Replies

5. Shell Programming and Scripting

Using Telnet in a script

Hi All, I was trying to use telnet in a script to access a certain processor on a certain port to view some processes. The problem is that when I use telnet the output is displayed for me. The script is: #!/bin/sh cd /ahmed/ezzat/ rm ss7trace.log touch ss7trace.log chmod 755... (3 Replies)
Discussion started by: Ahmad Ezzat
3 Replies

6. Shell Programming and Scripting

Telnet Script

Hi, I have the following code ... (sleep 1; echo $USERID ; sleep 1; echo $PASSWD ; sleep 1 ; echo y ; sleep 1 ; echo "\r" ; sleep 1 ; echo "cd $FILEPATH" ; sleep 1 ; echo "pwd"; sleep 1 ; echo df -k .| tail -1| cut -d ' ' -f8 > aop.txt ; echo "pwd" ; cat aop.txt; sleep 3)| telnet $SERVER the... (1 Reply)
Discussion started by: King Nothing
1 Replies

7. Shell Programming and Scripting

how to use telnet in script

I am trying to use telnet in shell script but getting following error error Connected to crmapp00.agf.ca. Escape character is '^]'. Connection closed by foreign host. Script #!/bin/ksh PATH=/usr/sbin/:/usr/bin:/usr/ucb:/etc:/usr/local/bin:. telnet HOSTNAME <<SCRIPT user userid... (9 Replies)
Discussion started by: sibghat
9 Replies

8. UNIX for Dummies Questions & Answers

telnet through script

Hi, How to write a script to perform telnet/ftp operation. Also please refer some site to get reference about shell scripting. Thanks in advance -Arun. (1 Reply)
Discussion started by: arun.viswanath
1 Replies

9. UNIX for Dummies Questions & Answers

telnet issues

hi, say we have servers whose ip is 100.100.100.1 to 100.100.100.10. now we have another server which is 200.200.200.2. is it possible to restrict servers from the range of (100.100.100.1 and etc.. ) to telnet to 200.200.200.2 thanks (8 Replies)
Discussion started by: yls177
8 Replies

10. IP Networking

telnet in a script

Does anyone have a script that contains the telnet command and passes the login and password in the script as well? (4 Replies)
Discussion started by: vaccari
4 Replies
Login or Register to Ask a Question