我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python通过Windows下远程控制Linux系统

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python通过Windows下远程控制Linux系统

一、学习目标

【通过Windows下远程控制linux系统实现对socket模块认识】

二、实验环境

Windows下(模拟客户端 [ IP:192.168.43.87 ] ):python3.6
Linux下(模拟服务端 [ IP:192.168.43.226 ] ):python2.7

三、前提条件

两者能够ping通
服务端关闭防火墙,selinux

四、代码

服务端代码(server.py):


#!/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 = sNTveDSb.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):


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

感兴趣的朋友可以一起研究讨论学习技术!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python通过Windows下远程控制Linux系统

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python通过Windows下远程控制Linux系统

一、学习目标 【通过Windows下远程控制linux系统实现对socket模块认识】 二、实验环境 Windows下(模拟客户端 [ IP:192.168.43.87 ] ):python3.6 Linux下(模拟服务端 [ I
2022-06-04

linux 远程控制windows系统下的程序(三种方法)

有时候我们需要通过在linux上远程运行windows系统上的程序。 方法一: 通过python中的 winrm模块,前提条件,先提前设置好winrm服务。如何设置请自行百度,winRM服务是windows server下PowerShel
2022-06-04

Windows系统远程控制Linux系统的详细图文方法介绍

远程控制因为克服了地域的限制,所以在网络管理、远程技术支持、远程交流、远程办公等领域有着非常广泛的应用。Windows之间的远程控制大家都驾轻就熟了,今天笔者给大家介绍十分专业实用的Windows远程控制linux。 基于Linux的特殊性
2023-05-26

Linux下如何远程登陆Windows系统

这篇文章将为大家详细讲解有关Linux下如何远程登陆Windows系统,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Linux下远程登陆Windows系统具体步骤1.在VMware环境分别搭建一台Linu
2023-06-28

Windows怎么实现远程连接控制Ubuntu系统

本篇内容介绍了“Windows怎么实现远程连接控制Ubuntu系统”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!有时需要在实际的电脑上安装U
2023-06-16

windows系统怎么禁用注册表防止被远程控制?

当你在使用Regedit编辑注册表时,编辑器菜单中有一个“注册表→连接网络注册表”的功能?微软此举的目的,主要是为了方便网络管理员对网络中的计算机进行管理,但如果被python别有用心的用户从远程动了自己的
2023-06-15

怎么通过SSH在远程Linux系统上运行命令

这篇文章给大家分享的是有关怎么通过SSH在远程Linux系统上运行命令的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。通用语法如下所示:$ ssh [用户名]@[远程主机名或 IP] [命令或脚本]1) 如何通过
2023-06-16

通过 SSH 在远程 Linux 系统上运行命令的方法

我们有时可能需要在远程机器上运行一些命令。如果只是偶尔进行的操作,要实现这个目的,可以登录到远程系统上直接执行命令。但是每次都这么做的话,就有点烦人了。既然如此,有没有摆脱这种麻烦操作的更佳方案? 是的,你可以从你本地系统上执行这些操作,而
2022-06-04

Linux上通过SSH挂载远程文件系统方法详解

SSHFS的特点: 基于FUSE(linux的最佳用户空间文件系统框架) 多线程:在服务器上可以有多个请求 允许大读取(最大64k) 缓存目录内容 步骤1:安装fuse-sshfs 对于centos/rhel用户,fuse sshfs在ep
2022-06-04

Python通过paramiko远程下载Linux服务器上的文件实例

如下所示:#!/usr/local/bin/python # encoding:utf-8import paramiko import osHOST_IP='59.110.12.72' REMOTE_PATH='
2022-06-04

在Linux系统上通过uWSGI配置Nginx+Python环境的教程

1.安装ubuntu有uwsgi的ppa:add-apt-repository ppa:stevecrozz/ppa apt-get update apt-get install uwsgi 2. 用uwsgi代替mod_wsgi Ng
2022-06-04

Android系统进程间通信(IPC)机制Binder中的Client获得Server远程接口过程源代码分析

在上一篇文章中,我们分析了Android系统进程间通信机制Binder中的Server在启动过程使用Service Manager的addService接口把自己添加到Service Manager守护过程中接受管理。在这一篇文章
2022-06-06

编程热搜

目录