基于TCP协议之SSH
2024-08-29 23:29:02
#SSH客户端
import socket
# 1. 创建符合TCp协议的手机
client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# 2. 拨号
client.connect(('192.168.11.210',8000))
while True:
msg = input('please enter your msg') # dir
# 3. 发送消息
client.send(msg.encode('utf8'))
# 4. 接收消息
data = client.recv(10)
print(data.decode('gbk'))
#SSH服务端
import socket
import subprocess
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(('192.168.11.210', 8000))
server.listen(5)
print('start...')
while True:
conn, client_addr = server.accept()
print(client_addr)
while True:
try:
cmd = conn.recv(1024) # dir
print(cmd)
# 帮你执行cmd命令,然后把执行结果保存到管道里
pipeline = subprocess.Popen(cmd.decode('utf8'),
shell=True,
stderr=subprocess.PIPE,
stdout=subprocess.PIPE)
stderr = pipeline.stderr.read()
stdout = pipeline.stdout.read()
conn.send(stderr)
conn.send(stdout)
except ConnectionResetError:
break
最新文章
- jquery获取ul中的第一个li
- HtmlHelper拓展实现CheckBoxList
- mysql where 1=1和 1=0 的作用
- JavaScript Patterns 3.7 Primitive Wrappers
- 10.python之socket和socketserver
- 2.建立exception包,建立Bank类,类中有变量double balance表示存款,Bank类的构造方法能增加存款,Bank类中有取款的发方法withDrawal(double dAmount),当取款的数额大于存款时,抛出InsufficientFundsException,取款数额为负数,抛出NagativeFundsException,
- C语言之指针与数组总结
- [原创] 使用rpi + crontab + git 定时向bitbucket 推送 照片
- Java获取.properties配置文件某一项value根据key值
- CodeForces 645C Enduring Exodus
- 使用vscode对c进行调试
- [模板][Luogu3387] 缩点 - Tarjan, 拓扑+DP
- 爬虫系列---scrapy全栈数据爬取框架(Crawlspider)
- 10 python 初学(Python 的编码解码)
- Vim保存时权限不足
- 第一篇----mysql体系
- cmake mac 安装
- RN九宫格
- 3-安装hive
- Objective-c: 移除字符串中的指定字符