zoukankan      html  css  js  c++  java
  • mosquitto基于SSL/TLS安全认证测试MQTT

    一、环境搭建

    1.mosquitto介绍

    mosquitto是一个实现了MQTT3.1协议的代理服务器,由MQTT协议创始人之一的Andy Stanford-Clark开发,它为我们提供了非常棒的轻量级数据交换的解决方案。

    本文简单的介绍了关于mosquitto客户端的使用。mosquitto客户端在开发、测试过程中能模拟设备、应用程序,是一款较方便、好用的终端脚本工具。

    2.mosquitto工具安装

    Linux:yum install mosquitto

    Window:https://mosquitto.org/download/

    检查一下:

    二、使用教程

    1.mosquitto_pub命令参数

    -d  打印debug信息
    -f  将指定文件的内容作为发送消息的内容
    -h  指定要连接的域名  默认为localhost
    -i  指定客户端clientid,默认为附加进程ID的mosquitto_pub_
    -I  指定clientId前缀
    -m  消息内容
    -n  发送一个空(null)消息
    -p  连接端口号
    -q  指定QoS的值(0,1,2)
    -t  指定topic
    -u  用户名
    -P  用户密码    
    -V  指定MQTT协议版本
    --will-payload  指定一个消息,该消息当客户端与broker意外断开连接时发出。该参数需要与--will-topic一起使用
    --will-qos  Will的QoS值。该参数需要与--will-topic一起使用
    --will-retain 指定Will消息被当做一个retain消息(即消息被广播后,该消息被保留起来)。该参数需要与--will-topic一起使 用
    --will-topic  用户发送Will消息的topic

    2.mosquitto_sub命令参数

    -c  指定客户端clean_session是否保存。
    -d  打印debug信息
    -h  指定要连接的域名  默认为localhost
    -i  指定客户端clientid
    -I  指定clientId前缀
    -k  keepalive 每隔一段时间,发PING消息通知broker,仍处于连接状态。 默认为60秒.
    -q  指定希望接收到QoS为什么的消息  默认QoS为0
    -R  不显示陈旧的消息
    -t  订阅topic
    -v  打印消息
    --will-payload  指定一个消息,该消息当客户端与broker意外断开连接时发出。该参数需要与--will-topic一起使用
    --will-qos  Will的QoS值。该参数需要与--will-topic一起使用
    --will-retain 指定Will消息被当做一个retain消息(即消息被广播后,该消息被保留起来)。该参数需要与--will-topic一起使>用
    --will-topic  用户发送Will消息的topic

    3.SSL/TLS CA证书说明

    --cafile:CA证书文件

    --cert:服务器证书文件

    --key:服务器私钥文件

    服务器未配置SSL/TLS认证的,就不需要--cafile  --cert  --key参数。

    4.订阅一个主题

    mosquitto_sub -h 主机 -p 端口 -t 主题 --cafile  --cert  --key 

    5.发布消息

    mosquitto_pub -h 主机 -p 端口 -t 主题 --cafile  --cert  --key  -m 消息

     查看订阅窗口是否收到消息:

    —————————————————————————————— 选择正确的事、再把事做正确 ——————————————————————————————
  • 相关阅读:
    Easy | LeetCode 154 | 剑指 Offer 11. 旋转数组的最小数字 | 二分法
    Easy | 剑指 Offer 17. 打印从1到最大的n位数 | 大数
    Easy | LeetCode 191 | 剑指 Offer 15. 二进制中1的个数 | 位运算
    Easy | 剑指 Offer 57
    Medium | LeetCode 15. 三数之和 | 双指针法
    jq load()方法实现html 模块化。
    vue 剪切图片上传头像,使用 cropperjs 实现
    vue 的nextTick的理解
    使用nodejs进行开发,concurrently模块,使我们同时执行多个命令。
    cookie生命周期expires 时间过期,但是cookie没有被浏览器清理的问题
  • 原文地址:https://www.cnblogs.com/airb/p/13229419.html
Copyright © 2011-2022 走看看