用Python實(shí)現(xiàn)局域網(wǎng)控制電腦
程序分為兩部分,一個(gè)是客戶(hù)端也是被操控的端口,另一個(gè)是服務(wù)端就是用來(lái)操作被操控的端口
程序很簡(jiǎn)單,是通過(guò)局域網(wǎng)聊天系統(tǒng)改造而成,沒(méi)有高級(jí)的GUI框架,只有簡(jiǎn)簡(jiǎn)單單的DOS窗口,這個(gè)僅供學(xué)習(xí),當(dāng)然也可以在你的第二臺(tái)電腦里放入客戶(hù)端,然后用服務(wù)端進(jìn)行指令操作,也是很不錯(cuò)的。
客戶(hù)端會(huì)自動(dòng)獲取你的 IPv4 地址,并顯示出來(lái),需要用客戶(hù)端給出的IP地址去服務(wù)端進(jìn)行連接。執(zhí)行指令也很簡(jiǎn)單,用接收到的數(shù)據(jù)進(jìn)行os.system()進(jìn)行執(zhí)行。想法多的也可以做一個(gè)鼠標(biāo)定位數(shù)據(jù)傳輸,可達(dá)到鼠標(biāo)控制電腦,想法很大,行動(dòng)很難。這個(gè)是一個(gè)供學(xué)習(xí)的
客戶(hù)端:
import socket
import os
import psutil
# 執(zhí)行接收到的命令
def send_data(data):
os.system(data)
print('[-][+][~]執(zhí)行命令:[',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: # 持續(xù)循環(huán)執(zhí)行
try: # 接受數(shù)據(jù)和命令,如果出錯(cuò)則視為已斷開(kāi)連接
print(f'[#~]當(dāng)前服務(wù)器IP地址為[{myaddr()}]...')
print('[#~]等待連接中...')
sed,dree=Database.accept() # 等待服務(wù)端接入
print('[+]已連接服務(wù)器.')
while True:
if sed.recv(1024).decode('utf-8') == '':
break
data = sed.recv(1024).decode('utf-8')#接受數(shù)據(jù)
send_data(data) # 發(fā)送
except:
pass
print('[-]連接已斷開(kāi)..\n')
if __name__ == "__main__":
main()

服務(wù)端需要客戶(hù)端輸出的IP地址才可以連接上,輸出的指令盡量不要把客戶(hù)端的DOS窗口頂?shù)?,列如cmd直接就給替換掉了,盡量使用start cmd 即可打開(kāi)
服務(wù)端:
import socket
udp_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
def main():
while True:
DATA = input('請(qǐng)輸入指令:')
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('輸入要連接服務(wù)器的IP地址:')
udp_socket.connect((myaddr, 8888)) # 連接服務(wù)器
data_list = '' # 測(cè)試
udp_socket.send(data_list.encode('utf-8'))
main()我們輸入客戶(hù)端的IP地址,回車(chē)可以看到?jīng)]有報(bào)錯(cuò)說(shuō)明連接上了

這個(gè)是客戶(hù)端,可以看到已經(jīng)連接成功,我們使用服務(wù)端操作一下指令

服務(wù)端,我們start cmd 打開(kāi)cmd

客戶(hù)端,可以看到已經(jīng)打開(kāi)了cmd窗口

到此這篇關(guān)于用Python實(shí)現(xiàn)局域網(wǎng)控制電腦的文章就介紹到這了,更多相關(guān)Python域網(wǎng)控制電腦內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python自動(dòng)循環(huán)定時(shí)開(kāi)關(guān)機(jī)(非重啟)測(cè)試
這篇文章主要為大家詳細(xì)介紹了python自動(dòng)循環(huán)定時(shí)開(kāi)關(guān)機(jī)(非重啟)測(cè)試,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08
Python中的XML庫(kù)4Suite Server的介紹
這篇文章主要介紹了Python中的XML庫(kù)4Suite Server,來(lái)自于IBM官方網(wǎng)站,需要的朋友可以參考下2015-04-04
python語(yǔ)法之語(yǔ)言元素和分支循環(huán)結(jié)構(gòu)詳解
這篇文章主要介紹了Python的語(yǔ)言元素和分支循環(huán)結(jié)構(gòu),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-10-10
詳解python selenium 爬取網(wǎng)易云音樂(lè)歌單名
這篇文章主要介紹了python selenium爬取網(wǎng)易云音樂(lè)歌單名,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
Python自動(dòng)生成代碼 使用tkinter圖形化操作并生成代碼框架
這篇文章主要為大家詳細(xì)介紹了Python自動(dòng)生成代碼,使用tkinter圖形化操作并生成代碼框架,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-09-09
Python區(qū)塊鏈Creating?Miners教程
這篇文章主要為大家介紹了Python區(qū)塊鏈Creating?Miners教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05

