Python   Pexpect

Pexpect 是一个用来启动子程序并对其进行自动控制的纯 Python 模块。 Pexpect 可以用来和像 ssh、ftp、passwd、telnet
等命令行程序进行自动交互。def ssh_cmd(ip, user, passwd, cmd):

result = ‘‘

ssh = pexpect.spawn(‘ssh %[email protected]%s "%s"‘ % (user, ip, cmd))

try:

i = ssh.expect([‘password:‘, ‘continue connecting (yes/no)?‘], timeout=5)

if i == 0:

ssh.sendline(passwd)

elif i == 1:

ssh.sendline(‘yes\n‘)

ssh.expect(‘password: ‘)

ssh.sendline(passwd)

result = ssh.read()

except pexpect.EOF:

print ‘EOF for %s‘ % (ip)

ssh.close()

except pexpect.TIMEOUT:

print ‘TIMEOUT for %s‘ % (ip)

ssh.close()

ssh.close()

return result

时间: 2024-10-05 17:32:03

Python   Pexpect的相关文章

python pexpect 学习与探索

pexpect是python交互模块,有两种使用方法,一种是函数:run另外一种是spawn类 1.pexpect  module 安装 pexpect属于第三方的,所以需要安装, 目前的版本是 3.3 下载地址 https://pypi.python.org/pypi/pexpect/ 安装步骤: tar -xzvf pexpect-3.3.tar.gz cd pexpect-3.3 python setup install (require root) 但是 这个安装需要root权限,如果没

python(pexpect)简单的自动ssh脚本

# vi ssh.py #!/usr/bin/python 按a或i进入编辑模式 import pexpect child=pexpect.spawn('ssh [email protected]') child.expect('password:') child.sendline('123456') child.interact() child.close() 按Esc键退出编辑模式 :wq(保存并退出) # python ssh.py 要自动退出登录在child.interact()前加ch

python pexpect 启动、与子进程交互的例子--logstash

import pexpect,sys child = pexpect.spawn('/home/cf/elk/Summoner/Elk/logstash/test/bin/logstash -f /home/cf/elk/Summoner/Elk/logstash/test/conf.d', timeout=60) #index = child.expect(['startup completely', pexpect.TIMEOUT]) while True: index = child.re

[python] pexpect.spawn的对象child调用read()时触发TIMEOUT异常

设计意图:初始化一次spawn对象,执行ssh后下发,一系列cmds.网上大部分时通过ssh [email protected] cmd的方法,这样的话,我就之需要通过for调用: def SSH_COMMANDS(ip,user,passwd,command):     try:         ssh_pc = pexpect.spawn('ssh %[email protected]%s %s' % (user,ip,command),timeout=5,logfile=logfile)

Python开发学习路线

Python , 是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的库,Python 已经成为继JAVA,C++之后的的第三大语言. 特点:简单易学.免费开源.高层语言.可移植性强.面向对象.可扩展性.可嵌入型.丰富的库.规范的代码.大这里给家列出从Python入门到实战学习路线. 一.入门教程 1.Python 面向对象编程 2.jquery入门 3.HTML+CSS基础入门 4.Javascript初步 5.Python语言编程基础 二.初级教程 1.Git 与 GitHub 2.P

python学习之旅

一.入门 1.Python 面向对象编程 2.jquery入门 3.HTML+CSS基础入门 4.Javascript初步 5.Python语言编程基础 二.初级阶段 1.Git 与 GitHub 2.Python 爬虫基础 3.django进阶 4.django项目部署 5.ajax入门 6.django基础 7.Mysql基础 三.中级阶段  1.Linux基础 2.Python :socket and threading 3.使用pyqt开发windows gui程序及打包 4.Pytho

Python:渗透测试开源项目

Python:渗透测试开源项目[源码值得精读] sql注入工具:sqlmap DNS安全监测:DNSRecon 暴力破解测试工具:patator XSS漏洞利用工具:XSSer Web服务器压力测试工具:HULK SSL安全扫描器:SSLyze 网络 Scapy: send, sniff and dissect and forge network packets. Usable interactively or as a library pypcap, Pcapy and pylibpcap:

小试牛刀之python实现批量获取主机相关数据

一.场景概述 刚入职新公司的第3天,接到任务说需要获取100多台物理服务器的信息,其中有:主机名.IP地址.磁盘数量,磁盘设备编号.悲催的是现有的生产环境没有任何可用的工具去做这个事情,本想用Ansible去搞,但因对ansible还不是很熟悉,因此决定徒手撸一个脚本来实现,所以呢才有了此脚本的诞生. 二.脚本的基本思路 1.python pexpect模块,用该模块来实现ssh连接 2.连接后在远程主机跑相关命令 3.返回结果 4.返回的结果随便你怎么处理,可视化也好,分析也好,存储到数据库也

Python:渗透测试开源项目【源码值得精读】

sql注入工具:sqlmap DNS安全监测:DNSRecon 暴力破解测试工具:patator XSS漏洞利用工具:XSSer Web服务器压力测试工具:HULK SSL安全扫描器:SSLyze 网络 Scapy: send, sniff and dissect and forge network packets. Usable interactively or as a library pypcap, Pcapy and pylibpcap: several different Python