Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Creating a script for a Telnet session?

Does anyone know of an easy way to create a script that can connect to a telnet server, do some usual telnet stuff, and then log off? I am dealing with users who are not familiar with telnet and the commands they will need to run. All I want is for them to double-click on a script, and have that script automatically execute the commands for them.

You're probably wondering, "What platform are the users on?" They will be on both Windows and Linux. Implementations in languages like Perl, Java, or Python are acceptable. I see that Perl has a Net:: Telnet module. Has anyone used that?

My ideal solution would be to create two script files. a BAT file for windows, and a shell script for Linux. While this would make dual maintenance an issue, it would mean I wouldn't have to install Perl/Java/Python/etc... on every machine. Unfortunately, I have not seen any way to automate a telnet session with batch files or shell scripts.

Thanks.

like image 723
TrentCoder Avatar asked Apr 02 '09 13:04

TrentCoder


People also ask

How do I create a telnet script?

Write the telnet session inside a BAT Dos file and execute. You cannot control / script an FTP session from inside a BATch file, you can only begin an FTP session. To script an FTP session you must use the script command -s:filename. txt to identify a text file containing your script.

How do I automate in telnet?

# execute some commands on the local system # access a remote system with an IP address: 10.1. 1.1 (for example) telnet 10.1. 1.1 # execute some commands on the remote system # log all the activity (in a file) on the Local system # exit telnet # continue on with executing the rest of the script.

What is the syntax for telnet?

Type in "telnet <IP ADDRESS OF SERVER PC> <PORT>" and press enter. For example, you would type “telnet 123.45. 67.89 1521” If a blank screen appears then the port is open, and the test is successful.


1 Answers

I've used various methods for scripting telnet sessions under unix, but the simplest one is probably a sequence of echo and sleep commands, with their output piped into telnet. Piping the output into another command is also a possibility.

Silly example

 (echo password; echo "show ip route"; sleep 1; echo "quit" ) | telnet myrouter 

This (basicallly) retrieves the routing table of a Cisco router.

like image 108
Vatine Avatar answered Oct 01 '22 01:10

Vatine