一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術(shù)及教程分享平臺!
分類導(dǎo)航

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

服務(wù)器之家 - 腳本之家 - Python - python通過Windows下遠程控制Linux系統(tǒng)

python通過Windows下遠程控制Linux系統(tǒng)

2021-03-07 00:11KevinMahone Python

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

一、學(xué)習(xí)目標(biāo)

【通過Windows遠程控制Linux系統(tǒng)實現(xiàn)對socket模塊認識】

二、實驗環(huán)境

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

三、前提條件

兩者能夠ping通
服務(wù)端關(guān)閉防火墻,selinux

四、代碼

服務(wù)端代碼(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)       # 打開監(jiān)聽
conn,addr = s.accept()  # 同意建立連接
print(addr)       # 輸出客戶端IP
 
def get_client_file():   # 定義服務(wù)端獲取文件函數(shù)
  conn.send("Ready to receive!")
  data = conn.recv(20480) # 接受客戶端的數(shù)據(jù)
  print(data)
  with open("clientFile.txt",'wb') as f:
    f.write(data)
  conn.close()
 
def send_server_file():   # 定義服務(wù)端發(fā)送文件函數(shù)
  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() # 發(fā)送服務(wù)端文件
      break   
    data = os.popen(cmd)  # 響應(yīng)客戶端命令
    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)     # 連接服務(wù)器
 
def send_client_file(): # 定義客戶端發(fā)送文件函數(shù)
  data = c.recv(1024)   # 接收預(yù)備傳輸提示
  print(data)      
  c_filepath = input("Please enter the client file path:")
  with open(c_filepath,"rb") as f:
    file = f.read()   # 以byte方式讀取文件內(nèi)容
  c.sendall(file)     # 將讀取的內(nèi)容發(fā)往服務(wù)端
 
def get_server_file():   # 定義客戶端接受文件函數(shù)
  s_filepath = input("Please enter the server file path:")
  c.send(bytes(s_filepath,encoding='gbk'))
  data = c.recv(20480# 等待接受服務(wù)器數(shù)據(jù)
  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"))  # 發(fā)送數(shù)據(jù)
    if cmd == "q":
      break
    if cmd == "transdata":   # 創(chuàng)建發(fā)送客戶端文件命令
      send_client_file()
      break
    if cmd == "recvdata":    # 創(chuàng)建接收服務(wù)端文件命令
      get_server_file()
      break
    data = c.recv(20480)
    print(data)
  c.close()
 
if __name__ =="__main__":
  main()

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

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

python通過Windows下遠程控制Linux系統(tǒng)

感興趣的朋友可以一起研究討論學(xué)習(xí)技術(shù)!

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 男人j进女屁股视频在线观看 | 99久久免费国产香蕉麻豆 | 日韩在线1| aⅴ导航站 | 毛片的网站 | 天天舔天天操天天干 | 特黄视频 | 毛片网站观看 | 青草园网站在线观看 | 好大好猛好爽好深视频免费 | 99热这里只有精品国产免费 | 天堂69亚洲精品中文字幕 | 天堂资源在线www中文 | 国产精品免费综合一区视频 | 日本黄大片影院一区二区 | 欧美日韩一区二区三区免费不卡 | 午夜免费体验30分 | 操尼姑| 我与肥熟老妇的性事 | 亚洲国产精品第一页 | 日岳母小说 | 天堂8在线天堂资源bt | 欧美特级特黄a大片免费 | 嫩草影院地址一地址二 | 二区三区在线观看 | 91青青草原| 久久久无码精品亚洲A片猫咪 | 欧美日韩国产最新一区二区 | 日韩一区在线播放 | 午夜性爽视频男人的天堂在线 | 成人免费国产欧美日韩你懂的 | 日本破处 | 王的视频vk | 免费一级国产生活片 | 国产99久久久国产精品成人 | 四虎视屏 | 国产免费一区二区 | 亚洲国产成人在线 | 91久久精品国产一区二区 | 免费一级国产生活片 | 国产精品刺激好大好爽视频 |