【Python 局域网控制】——做一个超简单的局域网指令控制电脑

【Python 局域网控制】——做一个超简单的局域网指令控制电脑程序分为两部分,一个是客户端也是被操控的端口,另一个是服务端就是用来操作被操控的端口点个赞留个关注吧!!程序很简单,是通过局域网聊天系统改造而成,没有高级的GUI框架,只有简简单单的DOS窗口,这个仅供学习,当然也可以在你的第二台电脑里放入客户端,然后用服务端进行指令操作,也是很不错的。客户端会自动获取你的IPv4地址,并显示出来,需要用客户端给出的IP地址去服务端进行连接。执行指令也很简单,用接收到的数据进行os.system()进行执行。想法多的也可以做一个鼠标定位数据传输,可达到鼠

大家好,又见面了,我是你们的朋友全栈君。

程序分为两部分,一个是客户端也是被操控的端口,另一个是服务端就是用来操作被操控的端口

点个赞留个关注吧!!

程序很简单,是通过局域网聊天系统改造而成,没有高级的GUI框架,只有简简单单的DOS窗口,这个仅供学习,当然也可以在你的第二台电脑里放入客户端,然后用服务端进行指令操作,也是很不错的。

客户端会自动获取你的 IPv4 地址,并显示出来,需要用客户端给出的IP地址去服务端进行连接。执行指令也很简单,用接收到的数据进行os.system()进行执行。想法多的也可以做一个鼠标定位数据传输,可达到鼠标控制电脑,想法很大,行动很难。这个是一个供学习的

客户端:

import socket
import os
import psutil

# 执行接收到的命令
def send_data(data):
    os.system(data)
    print('[-][+][~]执行命令:[',data+']')

Database = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

# 获取IPv4地址
info = psutil.net_if_addrs()
wlan = info['WLAN']
def myaddr():
    for i in wlan:
        for myaddr in i:
            if '192.168' in str(myaddr):
                return myaddr
Database.bind((myaddr(),8888))
Database.listen(1)
def main():
    while True:   # 持续循环执行
        try:      # 接受数据和命令,如果出错则视为已断开连接
            print(f'[#~]当前服务器IP地址为[{myaddr()}]...')
            print('[#~]等待连接中...')
            sed,dree=Database.accept()    # 等待服务端接入
            print('[+]已连接服务器.')
            while True:
                if sed.recv(1024).decode('utf-8') == '':
                    break
                data = sed.recv(1024).decode('utf-8')#接受数据
                send_data(data)   # 发送
        except:
            pass
        print('[-]连接已断开..\n')

if __name__ == "__main__":
    main()

【Python 局域网控制】——做一个超简单的局域网指令控制电脑

 

服务端需要客户端输出的IP地址才可以连接上,输出的指令尽量不要把客户端的DOS窗口顶掉,列如cmd直接就给替换掉了,尽量使用start cmd 即可打开

服务端:

import socket
udp_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
def main():
    while True:
        DATA = input('请输入指令:')
        if DATA == '':
            pass
        else:
            if len(DATA):
                udp_socket.send(DATA.encode('utf-8'))
                udp_socket.send(DATA.encode('utf-8'))
if __name__ == '__main__':
    myaddr = input('输入要连接服务器的IP地址:')
    udp_socket.connect((myaddr, 8888))  # 连接服务器
    data_list = ''   # 测试
    udp_socket.send(data_list.encode('utf-8'))
    main()

我们输入客户端的IP地址,回车可以看到没有报错说明连接上了

【Python 局域网控制】——做一个超简单的局域网指令控制电脑

 这个是客户端,可以看到已经连接成功,我们使用服务端操作一下指令

【Python 局域网控制】——做一个超简单的局域网指令控制电脑

 

服务端,我们start cmd 打开cmd

【Python 局域网控制】——做一个超简单的局域网指令控制电脑

 客户端,可以看到已经打开了cmd窗口

【Python 局域网控制】——做一个超简单的局域网指令控制电脑

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151154.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 第三章 软件项目范围管理

    第三章 软件项目范围管理项目范围对项目的影响是决定性的,它确定了软件项目工作内容的多少。有效的范围管理可以保证项目只做必须做的事情,避免范围蔓延和做无用功,同时也避免不清晰的需求所导致的严重的系统缺陷。 本章内容提要n3.1需求获取n3.2范围定义n3.3创建工作分解结构n3.4范围确认n3.5范围控制n3.6案例分析3.1需求获取n需求获取工作的任务就是收集项目干系人的需求信息,为定义项目的范围奠定基础。…

    2022年5月30日
    28
  • 高通骁龙处理器天梯排行榜2021 高通骁龙处理器发布时间排行

    高通骁龙处理器天梯排行榜2021 高通骁龙处理器发布时间排行第一名:骁龙8881、工艺:搭载最新一代5nm制作工艺,为用户带来最强的处理器性能,5nm的制作工艺,带来最为顶尖的技术、成本、功能性能要求。我用的手机就是活动时7.5折抢购的点击开抢http://shouji.adiannao.cn/72、核心:使用了超大核+大核+小核的三丛集架构,其中超大核为CortexX1,大核为CortexA78,小核为CortexA55。3、体验:超级大核Cortex-X1拥有1MB的L2缓存,A78大核L2缓存则为256KB,可以给你更好的性能体验,用户带来

    2022年5月23日
    221
  • BT 种子 tracker 磁链

    BT 种子 tracker 磁链传统的种子和磁链的区别主要参考:https://www.quora.com/Whats-the-difference-between-magnet-links-and-regular-torrent-files-on-tracker-siteshttps://www.zhihu.com/question/36151980(很多回答,但是都没有说清楚)在使用迅雷时,磁链会先下载一个…

    2022年4月29日
    95
  • Android 开发环境详细概述

    Android 开发环境详细概述理解AndroidApp开发环境搭建的部分以及他们之间如何联系,协调工作(会和理解为什么要去做,知其然知其所以然)掌握环境搭建的步骤掌握配置环境项的用途,以方便我们的开发操作Android开发组成Java+AndroidSDK+开发工具(IDE)Android的开发语言是Java,只有安装JDK才能让Java运行起来Android的SDK提供了运行和硬件开发环境Eclipse开发工具可以提高编…

    2022年7月23日
    7
  • python产生随机数的方法_产生随机数的函数

    python产生随机数的方法_产生随机数的函数Python产生随机数:一.Python自带的random库1.参生n–m范围内的一个随机数:random.randint(n,m)2.产生0到1之间的浮点数:random.random()3.产生n—m之间的浮点数:random.uniform(1.1,5.4)4.产生从n—m间隔为k的整数:random.randrange(n,m,k)5.从序列中随机选取一个元素:random.choice([1,2,3,4,5,6,7

    2022年10月4日
    0
  • vsftpd日志配置_centos7配置vsftp

    vsftpd日志配置_centos7配置vsftp1、开始vsftp记录日志。修改/etc/vsftpd/vsftpd.conf如下:xferlog_enable=YESxferlog_std_format=YESxferlog_file=/var/log/xferlogFTP服务器的日志设置,可以通过修改主配置文件/etc/vsftpd.conf实现。主配置文件中与日志设置有关的选项包括xferlog_enable、xferlog_file…

    2022年9月24日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号