python socket套接字执行cmd命令

服务器端先指定一个端口开始监听。

客户端输入自己的ip和端口连接。

#服务器端
import os
import socket
import sys
port=int(sys.argv[1])
s=socket.socket()
s.bind(('0.0.0.0',port))   #连接ip和端口
s.listen(1)
wf,addr=s.accept()   #接受TCP连接,并返回新的套接字与IP地址
print(f'{addr}已经成功连接!')
while 1:
    cmd=wf.recv(1024).decode()
    if cmd=='exit':
        break
    if cmd=='cd' and len(cmd)>2:
        os.chdir(cmd[2:].strip())
    result=os.popen(cmd).read()
    if not result:
        result='ok'
    wf.send(result.encode())
wf.close()
print("任务已完成")
#客户端
import sys  
import socket
ip=sys.argv[1]
port=int(sys.argv[2])
s=socket.socket()
s.connect((ip,port))  #要连接的IP与端口
while 1:
    cmd=input("请输入cmd命令:").strip()
    s.send(cmd.encode())
    if cmd=='exit':
        break
    result=s.recv(8192).decode()
    print(result)
s.close()

如:
在这里插入图片描述
在这里插入图片描述
输入exit退出。

猜你喜欢

转载自blog.csdn.net/haha13l4/article/details/89596694