首页 > 其他 > 详细

tcp远程控制命令输出

时间:2020-04-20 17:06:08      阅读:54      评论:0      收藏:0      [点我收藏+]
# 服务端

import socket
import subprocess

# 开机
phone = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 绑定ip,端口
phone.bind((127.0.0.1, 8080))

# 监听
phone.listen(5)

# 链接循环
while 1:
    # 接收最大1024个bytes
    conn, addr = phone.accept(1024) 

    # 通信循环
    while 1:
        # 异常处理
        try:
            data = conn.recv(1024)

            # unix下不能接收空
            if len(data) == 0:break

            res = subprocess.Popen(bata.decode(gbk),   (windows默认字符编码‘gbk’)      
            shell=True, stderr=subprocess.PIPE, 
            stdout=subprocess.PIPE)

            resout = res.stdout.read()
            reserr = res.stderr.read()

         # windows下接收空退出   
         except Exception:
            break
    
    conn.close()

phone.close() 
# 客户端

import socket

phone= socket.socket(socket.AF_INET, socket.SCOK_STREAM)

# 连接
phone.connect((127.0.0.1, 8080))

# 循环输出
while 1:
    msg = input(请输入命令>>>).strip()

    # 不能输入空
    if len(msg) == 0:continue

    # 发送消息
    phone.send(msg.encode(gkb))
    
    data = phone.recv(1024)

    print(data.decode(gbk))

# 关闭
phone.close    

运行服务端,再运行客户端(当然这是自己和自己玩...),输入个 dir 命令试一下:

                    技术分享图片

 

 恩,就这样。。

 

tcp远程控制命令输出

原文:https://www.cnblogs.com/qjk95/p/12738734.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!