模擬ssh功能和subprocess模組

2022-07-23 11:03:28 字數 2079 閱讀 5907

目錄ssh---》遠端執行命令

subprocess---》執行系統命令的模組

import subprocess

# 執行系統dir命令(檢視當前目錄下有哪些檔案),把執行的正確結果放到管道中

obj = subprocess.popen('dir',shell=true,stdout=subprocess.pipe,stderr=subprocess.pipe)

# stdout是正確資訊,stderr是錯誤資訊

# 拿到結果的管道,讀出裡面的內容

ss = obj.stdout.read() # 讀正確資訊

err = obj.stderr.read() # 讀錯誤資訊

print('錯誤資訊》',str(err,encoding='gbk')) # 列印錯誤資訊,因為windows用的gbk編碼,所以用gbk解碼

print('正確資訊》',str(ss,encoding='gbk')) # 列印正確資訊

import socket

soc = socket.socket() # 不傳參預設是tcp協議

soc.connect(('127.0.0.1',8005))

while true: # 通訊迴圈

in_s = input('請輸入要執行的命令》').strip()

soc.send(in_s.encode('utf8')) # 轉換成bytes格式傳送

data = soc.recv(1024) # 接收資料

print(str(data,encoding='gbk')) # 列印接收的資料

e:\老男孩教育\python專案\pycharm練習\網路程式設計\0906 模擬ssh(遠端執行命令)功能和subprocess模組 的目錄

2019/09/10 21:04

.2019/09/10 21:04 ..

2019/09/10 20:30 363 client_ssh.py

2019/09/10 21:04 912 server_ssh.py

2019/09/10 19:56 666 subprocess --執行系統命令模組.py

3 個檔案 1,941 位元組

2 個目錄 101,702,057,984 可用位元組

import socket

import subprocess

soc = socket.socket(socket.af_inet,socket.sock_stream)

soc.bind(('192.168.11.176',8005))

soc.listen(5)

while true: # 連線迴圈

print('等待客戶端連線')

conn,addr = soc.accept()

print('有個客戶端連線上了》',addr)

while true: # 通訊迴圈

try:

data = conn.recv(1024)

if len(data) == 0:

break

print(data)

# 使用subprocess模組

obj = subprocess.popen(str(data,encoding='utf8'),shell=true,stdout=subprocess.pipe,stderr=subprocess.pipe)

# 執行正確的結果bytes格式,gbk編碼(windows平台)

msg = obj.stdout.read()

# 把執行的結果通過網路傳給c端

conn.send(msg)

except exception:

break

# 關閉通路

conn.close()

# 關閉連線

soc.close()

等待客戶端連線

有個客戶端連線上了》 ('127.0.0.1', 50889)

b'dir'

python之sys模組和subprocess模組

sys.path 可以把檔案路徑加入到環境變數 返回模組的搜尋路徑 返回模組的搜尋路徑,初始化時使用pythonpath環境變數的值 sys.argv 用來接收python直譯器執行py檔案後跟的引數 例如 python cp.py argv1 argv2 arg3 python直譯器執行 sys....

通過python模擬SSH

通過python模擬ssh from time import import paramiko 定義乙個類,表示一台遠端linux主機 class linux object 通過ip,使用者名稱,密碼,超時時間初始化乙個遠端linux主機 def init self,ip,username,passw...

shell功能模擬

shell主要涉及多程序 shell 主要功能管理程序,執行程式 執行程式過程 使用者鍵入命令,shell建立乙個新程序來執行這個程式 shell將程式從磁碟中載入 程式在它的程序中執行直至結束 回到主程序shell 主要需要 execvp fork wait等函式 1.初級版 下面是我結合書的例子...