python 获取mqtt客户端连接信息

使用mosquitto

通过将日志发布到topic

配置文件 mosquitto.conf

log_type all
log_dest topic $SYS/broker/log/

 

python 接收消息回调函数

pattern = "New client connected from (.*?) as (.*?) "
def on_message(client, userdata, msg):
    print(msg.topic,msg.payload.decode('utf-8'))

    if msg.topic == '$SYS/broker/log/N':
        data = msg.payload.decode('utf-8')
        if 'New client connected from ' in data:
            res = re.search(pattern, data)
            host = res.group(1)
            ip = str(host).split(':')[0]
            client_id = res.group(2)
            print(host, client_id, ip)

 

posted @ 2024-12-11 18:15  Wchime  阅读(147)  评论(0)    收藏  举报