用Python实现局域网控制电脑
作者:小木_.
大家好,本篇文章主要讲的是用Python实现局域网控制电脑,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
程序分为两部分,一个是客户端也是被操控的端口,另一个是服务端就是用来操作被操控的端口
程序很简单,是通过局域网聊天系统改造而成,没有高级的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()
服务端需要客户端输出的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地址,回车可以看到没有报错说明连接上了
这个是客户端,可以看到已经连接成功,我们使用服务端操作一下指令
服务端,我们start cmd 打开cmd
客户端,可以看到已经打开了cmd窗口
到此这篇关于用Python实现局域网控制电脑的文章就介绍到这了,更多相关Python域网控制电脑内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!