#!/home/bin/python # # Synopsis: terminal-based python telnet client # Usage: ptelnet.py [hostname] [portnumber] # # Programmed by Gang Seong Lee # Revised by Ha Hong (a.k.a. RedRiver) from telnetlib import Telnet import time, sys from threading import * import sys, tty, termios host = '127.0.0.1' port = 23 class ReaderThread(Thread): def __init__(self, telnet): self.telnet = telnet Thread.__init__(self) def run(self): while 1: str = self.telnet.read_some() if str == '': break sys.stdout.write(str) sys.stdout.flush() def main(host, port): telnet = Telnet() telnet.open(host, port) reader = ReaderThread(telnet) reader.start() fd = sys.stdin.fileno() old_settings = termios.tcgetattr(fd) tty.setraw(fd) while 1: if not reader.isAlive(): break # org: line = raw_input() # org: telnet.write(line+'\n') ch = sys.stdin.read(1) telnet.write(ch) telnet.close() #termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) termios.tcsetattr(fd, 1, old_settings) if __name__ == '__main__': try: host = sys.argv[1] except: pass try: port = int(sys.argv[2]) except: pass main(host, port)