日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

用Python實現局域網控制電腦_python

作者:小木_. ? 更新時間: 2022-04-05 編程語言

程序分為兩部分,一個是客戶端也是被操控的端口,另一個是服務端就是用來操作被操控的端口

程序很簡單,是通過局域網聊天系統改造而成,沒有高級的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窗口

原文鏈接:https://blog.csdn.net/weixin_46625757/article/details/122629110

欄目分類
最近更新