【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 局域网控制】——做一个超简单的局域网指令控制电脑

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • PyCharm实用插件

    PyCharm实用插件超级实用

  • 数据库基础知识一(MySQL)[通俗易懂]

    数据库基础知识一(MySQL)[通俗易懂]数据库是研究数据管理的技术。即如何妥善地保存和科学地管理数据。数据管理是指对数据进行分类、组织、编码、存储、检索和维护等操作。数据管理技术好坏评判的标准:(1)数据冗余(2)数据共享(3)数据独立性(4)数据统一集中管理数据库:按一定结构组织存储的、集成的、可共享的数据的集合。数据库有两种类型:关系型数据库与非关系型数据库。关系型数据库:存储格式能直观地反映实体间的关系,和创…

  • 小米手环app android,小米健康官方app[通俗易懂]

    小米健康官方app是一款基于手机传感器实现的,提供健康监测、分析、服务的应用https://woshiluren.lanzous.com/b00zcdbtg。保持每天随身携带手机,它就能分析你一天健康状态,并依据你的个人基础信息,自动定制健康目标,给予健康提示。目前只提供运动和睡眠相关的服务,后续我们还将推出更多维度的健康服务。应用特色目前只提供运动和睡眠相关的服务。保持每天随身携带手机,它就能分…

  • javah 详解_java entity

    javah 详解_java entity1javah–help帮助说明乱码说明javah–help输出内容采用的是utf-8编码,在cmd打开可能出现乱码,因此执行指令chcp936,指定编码字符集(cmd默认的字符编码集是GBK)2javah参数说明javah–help用法:javah[options]<classes>其中,…

  • GOPROXY_go map

    GOPROXY_go mapproxy顾名思义就是代理服务器的意思。GOPROXY是Go语言官方提供的一种通过中间代理商来为用户提供包下载服务的方式。要使用GOPROXY只需要设置环境变量GOPROXY即可。目前公

  • 【幻灯片分享】揭开IPA文件的灰沙 — 通过静态分析工具了解IPA实现 | 友盟 张超 | iOS DevCamp

    【幻灯片分享】揭开IPA文件的灰沙 — 通过静态分析工具了解IPA实现 | 友盟 张超 | iOS DevCamp

发表回复

您的电子邮箱地址不会被公开。

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