day26-3 模拟ssh远程执行命令
生活随笔
收集整理的這篇文章主要介紹了
day26-3 模拟ssh远程执行命令
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 模擬ssh遠程執行命令
- 服務器
- 客戶端
模擬ssh遠程執行命令
實現在客戶端輸入執行命令后,返回執行命令的信息。如輸入dir,顯示當前目錄下的所有文件和文件夾
服務器
import socket import subprocess# 生成服務端 server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 綁定端口 server.bind(('127.0.0.1', 8000))# 監聽端口 server.listen(5)print('start...')# 鏈接循環 while True:# 等待客戶端連接conn, client_addr = server.accept()# 通信循環while True:try:# 接收客戶端發來的消息cmd = conn.recv(1024)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 + stdout)except ConnectionResetError:break客戶端
import socket# 創建客戶端 client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)# 連接服務端端口 client.connect(('127.0.0.1', 8000))while True:# 發送消息cmd = input('please enter msg>>>')client.send(cmd.encode('utf8'))# 接收消息data = client.recv(1024)print(data.decode('gbk'))轉載于:https://www.cnblogs.com/863652104kai/p/11093262.html
總結
以上是生活随笔為你收集整理的day26-3 模拟ssh远程执行命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python isalpha()
- 下一篇: [ 墨者学院 ] 命令执行——Bash漏