How do I script a telnet session

Mark Schonewille m.schonewille at economy-x-talk.com
Thu Apr 29 03:10:31 EDT 2010


Hi Bill,

Open a socket to the device, send a command and read from the same  
socket with a message, probably using lf, cr or crlf as line ending.  
Never close the socket, unless you want to log out.

Below follows a very simple example, which may work only in theory but  
which shows the basics of a telnet client.

// button script
on mouseUp
   put "192.168.1.99:23" into myDevSock
   set the cSock of fld "Command" to myDevSock
   open socket myDevSock
   write "hello" to socket myDevSock // whatever command is appropriate
   read from socket myDevSock until cr with msg "gotReply"
end mouseUp

// card script
on gotReply theSock,theMsg
   put theMsg into fld "Terminal"
   select text of fld "Command"
end gotReply

// card script
on closeStackRequest
   answer "Do you want to close the connection?" with "Yes" or "No"
   if it is "Yes" then pass closeStackRequest
end closeStackRequest

// field "Command"
on returnInField
   put the cSock of me into myDevSock
   write the text of me to socket myDevSock
   read from socket myDevSock until cr with msg "gotReply"
on returnInField

I haven't tested this, but it should work.  You need a stack with a  
field "Terminal", a field "Command" and a button. Put the scripts into  
their respective places and change the IP and port numbers. If  
necessary, change cr into crlf for example. You might need to escape  
some characters before sending them to the telnet server; check the  
documentation of the server.

You can find a complete, tested and working telnet *server* script at http://qurl.tk/9s 
  .

--
Best regards,

Mark Schonewille

Economy-x-Talk Consulting and Software Engineering
Homepage: http://economy-x-talk.com
Twitter: http://twitter.com/xtalkprogrammer

We have updated TwistAWord. Download TwistAWord 1.1 at http://www.twistaword.net

Op 29 apr 2010, om 08:30 heeft Bill Vlahos het volgende geschreven:

> I want to script a session to a network device using telnet in Rev.
>
> The goal is to log into a telnet device like a firewall and issue a  
> command. Are there any examples on how to do this?
>
> I will want to log into a firewall via telnet in Rev with a name and  
> password in a session and issue a "reload" command on the device and  
> then respond to the confirmation Yes or No.
>
> The idea is that I'll use the network and server monitor software  
> (Whistle Blower) to monitor the health of a firewall. If there is a  
> problem with the firewall Whistle Blower will open my compiled  
> application (to protect a login name and password) and it will issue  
> a command to reboot the target server.
>
> Bill Vlahos




More information about the use-livecode mailing list