Python网络编程 Telnet

Python网络编程 Telnet

Telnet是一种网络协议,它允许一台计算机的用户登录到另一台也属于同一网络的计算机上。telnet命令与主机名一起使用,然后输入用户凭证。登录成功后,远程用户可以以类似于系统的普通用户的方式访问应用程序和数据。当然,有些权限可以由设置和维护系统的系统管理员控制。

在Python中,telnet是由telnetlib模块实现的,该模块有Telnet类,它有建立连接所需的方法。在下面的例子中,我们也使用getpass模块来处理密码提示,作为登录过程的一部分。此外,我们还假设连接是在一个unix主机上进行的。程序中使用的telnetlib.Telnet类的各种方法解释如下。

  • Telnet.read_until – 读取直到遇到一个给定的字符串,预期,或直到超时秒数。

  • Telnet.write – 向套接字写一个字符串,将任何IAC字符加倍。如果连接被阻塞,这可能会阻塞。如果连接被关闭,可能引发socket.error。

  • Telnet.read_all() – 读取所有数据直到EOF;阻塞直到连接关闭。

例子

import getpass
import telnetlib

HOST = "http://localhost:8000/"
user = raw_input("Enter your remote account: ")
password = getpass.getpass()

tn = telnetlib.Telnet(HOST)

tn.read_until("login: ")
tn.write(user + "\n")
if password:
    tn.read_until("Password: ")
    tn.write(password + "\n")

tn.write("ls\n")
tn.write("exit\n")

print tn.read_all()
Python

当我们运行上述程序时,我们得到以下输出 −

 - lrwxrwxrwx    1 0        0               1 Nov 13  2012 ftp -> .
- lrwxrwxrwx    1 0        0               3 Nov 13  2012 mirror -> pub
- drwxr-xr-x   23 0        0            4096 Nov 27  2017 pub
- drwxr-sr-x   88 0        450          4096 May 04 19:30 site
- drwxr-xr-x    9 0        0            4096 Jan 23  2014 vol
Python

请注意,这个输出是特定于远程计算机的,在程序运行时提交了其详细信息。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册