激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - python通過Windows下遠程控制Linux系統

python通過Windows下遠程控制Linux系統

2021-03-07 00:11KevinMahone Python

這篇文章主要為大家詳細介紹了python通過Windows下遠程控制Linux系統,實現對socket模塊認識,具有一定的參考價值,感興趣的小伙伴們可以參考一下

一、學習目標

【通過Windows遠程控制Linux系統實現對socket模塊認識】

二、實驗環境

Windows下(模擬客戶端 [ IP:192.168.43.87 ] ):python3.6
Linux下(模擬服務端 [ IP:192.168.43.226 ] ):python2.7

三、前提條件

兩者能夠ping通
服務端關閉防火墻,selinux

四、代碼

服務端代碼(server.py):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/usr/bin/env python
#coding:utf-8
 
import socket
import os
 
HOST = "192.168.43.226"
PORT = 5000
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
addr = (HOST,PORT)
s.bind(addr)       # 綁定地址
s.listen(1)       # 打開監聽
conn,addr = s.accept()  # 同意建立連接
print(addr)       # 輸出客戶端IP
 
def get_client_file():   # 定義服務端獲取文件函數
  conn.send("Ready to receive!")
  data = conn.recv(20480) # 接受客戶端的數據
  print(data)
  with open("clientFile.txt",'wb') as f:
    f.write(data)
  conn.close()
 
def send_server_file():   # 定義服務端發送文件函數
  c_filepath = conn.recv(1024) # 接受客戶機請求路徑
  with open(c_filepath,'rb') as f:
    data = f.read()
    conn.sendall(data)
    conn.close()
 
def main():
  while True:
    cmd = conn.recv(1024)
    print(cmd) # 打印接受的命令
    if cmd == "q":
      break
    if cmd == "transdata":
      get_client_file()  # 獲取客戶端文件
      break
    if cmd == "recvdata":
      send_server_file() # 發送服務端文件
      break   
    data = os.popen(cmd)  # 響應客戶端命令
    sdata = data.read()  
    if sdata:
      conn.sendall(sdata)
    else:
      conn.send("finish")    
  conn.close() 
  s.close() 
if __name__ == "__main__":
  main()

客戶端(client.py):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import socket
 
HOST = "192.168.43.226"
PORT = 5000
c = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
addr = ((HOST,PORT))
c.connect(addr)     # 連接服務器
 
def send_client_file(): # 定義客戶端發送文件函數
  data = c.recv(1024)   # 接收預備傳輸提示
  print(data)      
  c_filepath = input("Please enter the client file path:")
  with open(c_filepath,"rb") as f:
    file = f.read()   # 以byte方式讀取文件內容
  c.sendall(file)     # 將讀取的內容發往服務端
 
def get_server_file():   # 定義客戶端接受文件函數
  s_filepath = input("Please enter the server file path:")
  c.send(bytes(s_filepath,encoding='gbk'))
  data = c.recv(20480# 等待接受服務器數據
  with open("shadow.txt","wb") as f:
    f.write(data)
 
def main():
 
  while True:
    cmd = input("Plsase input a command:")
    c.send(bytes(cmd,encoding="gbk"))  # 發送數據
    if cmd == "q":
      break
    if cmd == "transdata":   # 創建發送客戶端文件命令
      send_client_file()
      break
    if cmd == "recvdata":    # 創建接收服務端文件命令
      get_server_file()
      break
    data = c.recv(20480)
    print(data)
  c.close()
 
if __name__ =="__main__":
  main()

五、測試結果(這里拿獲取服務端shadow文件測試)

在windows下運行client.py文件
》》鍵入:recvdata
》》鍵入:/etc/shadow

python通過Windows下遠程控制Linux系統

感興趣的朋友可以一起研究討論學習技術!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/Aaron_Miller/article/details/80485430

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 天堂成人一区二区三区 | 久久成人精品视频 | 国产区二区 | 96视频在线免费观看 | 国产自在线 | 毛片大全 | 美女福利视频国产 | 意大利av在线 | 成人h视频在线 | 91在线视频导航 | 真人一级毛片免费 | 色婷婷久久久久久 | 亚洲精品永久视频 | 特级黄色一级毛片 | 九九热精品在线 | av在线一区二区三区四区 | 亚洲最黄视频 | 毛片免费在线观看 | 成年免费视频黄网站在线观看 | 欧美亚洲免费 | 成人免费入口 | 国产国语毛片 | 色诱亚洲精品久久久久久 | 亚洲成a人在线 | 成人午夜一区二区 | 久久亚洲春色中文字幕久久 | 久久国产精品一区 | 中文字幕天堂在线 | 国产精品久久久久久久av | 亚洲成人福利在线观看 | 日韩av片在线播放 | 渔夫荒淫艳史 | 久久久久久久久久久国产精品 | 污黄视频在线播放 | 草草久| 一级黄色毛片a | 91久久国产露脸精品国产 | 国产一级桃视频播放 | 亚洲亚色| h色网站在线观看 | 久久久日韩精品一区二区三区 |