Python远程连接模块-Telnet(该协议明文传输数据不安全,推荐使用ssh协议)

                                        作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

  虽然现在主流的python版本还是2.7,相信2020年python程序员都会偏向Python3.x版本的,今天研究了以下网上的telnet程序包,发现挺有意思的,把短连接的代码贴在这,有兴趣的小伙伴可以自行更改,哈哈哈~

 #!/usr/bin/env python
#_*_coding:utf-8_*_
#@author :yinzhengjie
#blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
#EMAIL:y1053419035@qq.com
import telnetlib def DoTelnet(Host, username, password, finish, commands):
'''''Telnet远程登录:Windows客户端连接Linux服务器'''
# 连接Telnet服务器
tn = telnetlib.Telnet(Host, port=23, timeout=10)
tn.set_debuglevel(2) # 输入登录用户名
tn.read_until('login: '.encode(encoding="utf-8"))
tn.write(username.encode(encoding="utf-8") + "\n".encode(encoding="utf-8")) # 输入登录密码
tn.read_until('Password: '.encode(encoding="utf-8"))
tn.write(password.encode(encoding="utf-8") + '\n'.encode(encoding="utf-8")) # 登录完毕后执行命令
tn.read_until(finish.encode(encoding="utf-8"))
for command in commands:
tn.write(('%s\n' % command).encode("utf-8"))
tn.read_until(finish.encode("utf-8"))
# 执行完毕后,终止Telnet连接(或输入exit退出)
tn.close() # tn.write('exit\n') if __name__ == '__main__':
# 配置选项
Host = '172.16.96.211' # Telnet服务器IP
username = 'yinzhengjie' # 登录用户名
password = 'jiubugaosuni' # 登录密码
finish = '~]$ ' # 命令提示符
commands = ['df -h'] #输入你需要执行的代码
DoTelnet(Host, username, password, finish, commands) #以上代码执行结果如下:
Telnet(172.16.96.211,23): recv b"\xff\xfd\x18\xff\xfd \xff\xfd#\xff\xfd'"
Telnet(172.16.96.211,23): IAC DO 24
Telnet(172.16.96.211,23): IAC DO 32
Telnet(172.16.96.211,23): IAC DO 35
Telnet(172.16.96.211,23): IAC DO 39
Telnet(172.16.96.211,23): recv b'\xff\xfb\x03\xff\xfd\x01\xff\xfd\x1f\xff\xfb\x05\xff\xfd!'
Telnet(172.16.96.211,23): IAC WILL 3
Telnet(172.16.96.211,23): IAC DO 1
Telnet(172.16.96.211,23): IAC DO 31
Telnet(172.16.96.211,23): IAC WILL 5
Telnet(172.16.96.211,23): IAC DO 33
Telnet(172.16.96.211,23): recv b'\xff\xfb\x03'
Telnet(172.16.96.211,23): IAC WILL 3
Telnet(172.16.96.211,23): recv b'\xff\xfb\x01CentOS release 6.6 (Final)\r\nKernel 2.6.32-504.e'
Telnet(172.16.96.211,23): IAC WILL 1
Telnet(172.16.96.211,23): recv b'l6.x86_64 on an x86_64\r\n'
Telnet(172.16.96.211,23): recv b'\xf2'
Telnet(172.16.96.211,23): recv b'login: '
Telnet(172.16.96.211,23): send b'yinzhengjie\n'
Telnet(172.16.96.211,23): recv b'Password: '
Telnet(172.16.96.211,23): send b'jiubugaosuni\n'
Telnet(172.16.96.211,23): recv b'\r\n'
Telnet(172.16.96.211,23): recv b'Last login: Fri Mar 2 15:21:07 from bogon\r\n'
Telnet(172.16.96.211,23): recv b'[yinzhengjie@yinzhengjie ~]$ '
Telnet(172.16.96.211,23): send b'df -h\n'
Telnet(172.16.96.211,23): recv b'Filesystem Size Used Avail Use% Mounte'
Telnet(172.16.96.211,23): recv b'd on\r\n/dev/mapper/vg_yinzhengjie-lv_root\r\n '
Telnet(172.16.96.211,23): recv b' 50G 6.2G 41G 14% /\r\ntmpfs '
Telnet(172.16.96.211,23): recv b' 494M 68K 494M 1% /dev/shm\r\n/dev/vd'
Telnet(172.16.96.211,23): recv b'a1 477M 29M 424M 7% /boot\r\n/dev/m'
Telnet(172.16.96.211,23): recv b'apper/vg_yinzhengjie-lv_home\r\n '
Telnet(172.16.96.211,23): recv b' 47G 86M 45G 1% /home\r\n[yinzhengjie@yinzhe'
Telnet(172.16.96.211,23): recv b'ngjie ~]$ '

Python远程连接模块-Telnet的更多相关文章

  1. Python 使用Python远程连接并操作InfluxDB数据库

    使用Python远程连接并操作InfluxDB数据库 by:授客 QQ:1033553122 实践环境 Python 3.4.0 CentOS 6 64位(内核版本2.6.32-642.el6.x86 ...

  2. Python远程连接Redis

    import redisr=redis.Redis(host='192.168.56.102',port=6379,db=0,password='jinxfredis' )r.set('name',' ...

  3. python远程连接paramiko 模块和堡垒机实现

    paramiko使用 paramiko模块是基于python实现了SSH2远程安全连接,支持认证和密钥方式,可以实现远程连接.命令执行.文件传输.中间SSH代理功能 安装 pip install pa ...

  4. Python远程连接主机之paramiko模块

    Python的paramiko模块能够连接远程主机,并在该主机上执行命令,和该主机之间进行文件传输.paramiko支持用明文密码登录远程主机和秘钥登录.使用之前要安装一下这个模块哈,pip inst ...

  5. Python远程连接MySQL数据库

    使用Python连接数据库首先需要安装Python的数据库驱动. 我的本地只装了Python,并没有装MySQL,当我使用命令: sudo pip install mysql-python 安装驱动( ...

  6. python远程连接windows

    远程连接windows系统     https://blog.51cto.com/ckl893/2145809 import winrm win2008 = winrm.Session('http:/ ...

  7. Python3-paramiko模块-基于SSH的远程连接模块

    Python3中的paramiko模块,基于SSH用于连接远程服务器并执行相关操作 http://docs.paramiko.org/en/2.1/ SSHClient 用于连接远程服务器并执行基本命 ...

  8. Python远程连接Windows,并调用Windows命令(类似于paramiko)

    import winrm win2012 = winrm.Session(')) r = win2012.run_cmd('D: &' ' cd python &' ' type s. ...

  9. python的pywinrm模块远程连接windows执行dos命令

    ----A机器远程连接B---- 在A机器上安装模块: pip install pywinrm 在B机器上配置winrm服务的相关配置,使其支持远程控制: (winrm服务是windows 一种方便远 ...

随机推荐

  1. navicat 创建查询失败 can not create file

    数据库连接很正常, 却无法创建查询, 不知道啥毛病 竟然是存储路径问题,点开连接属性,修改高级里面的保存路径,删掉“:3308”, OK了.冒号是个windows保留的盘符,应该就是这个原因

  2. apache目录别名

    #默认家目录DocumentRoot "/var/www/html"<Directory "/var/www"> AllowOverride Non ...

  3. 使用 vi/vim 时,粘贴进新创建文件或空文件的首行内容丢失的解决方法

    只需要进入插入模式后,回车空一行或几行,再粘贴,再把上面的几个空行back回去,就不会丢失首行的内容了.

  4. R绘图 第六篇:绘制线图(ggplot2)

    线图是由折线构成的图形,线图是把散点从左向右用直线连接起来而构成的图形,在以时间序列为x轴的线图中,可以看到数据增长的趋势. geom_line(mapping = NULL, data = NULL ...

  5. CommandoVM-虚拟机映像文件 | VM打开直接用

    呵呵!自从火眼发布了这个CommandoVM,想必大家应该都挺激动,然而实际操作一下,基本炸裂-- 因为并没有给类似于kali这种直接安装的现成镜像,而是要通过github的脚本去完全网络安装 实际操 ...

  6. Accer 4752G添加固态硬盘 双系统

    (此文一直在草稿箱里躺了一年,略作修改后发布~) 背景:电脑是2011年年末买的,用到现在也已经5年多了,好在没坏过什么硬件,有过2年疯狂打LOL的经历,之后电脑就打不动了,FPS始终上不去,启动游戏 ...

  7. unity物理检测的几种方式

    (由于本人大多做2d游戏,因此以下以2d为主介绍,但是具体和3d相差不大) 在unity中有很多不同的物理检测方式,但是大致可以分为以下几种: 1.Physics2d检测系列 Physics2d.Li ...

  8. 用HackRF和Gqrx来听FM广播

    本文内容.开发板及配件仅限用于学校或科研院所开展科研实验! 淘宝店铺名称:开源SDR实验室 HackRF链接:https://item.taobao.com/item.htm?spm=a1z10.1- ...

  9. JS高级程序设计学习笔记1

    javascript产生的原因: 在拨号上网时代,表单数据必须发送到服务器端才能验证输入值得有效性,JavaScript的研发就是为了解决这个问题,以便在客户端就验证输入值的有效性. ECMAScri ...

  10. CSAPP lab2 二进制拆弹 binary bombs phase_2

    给出对应于7个阶段的7篇博客 phase_1  https://www.cnblogs.com/wkfvawl/p/10632044.htmlphase_2  https://www.cnblogs. ...