用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域網控制電腦內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: