用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连接、操作mongodb数据库的方法实例详解
栏 目:Python代码
下一篇:Python读取文件比open快十倍的库fileinput
本文标题:用Python实现局域网控制电脑
本文地址:http://www.codeinn.net/misctech/194411.html