mosquitto基於SSL/TLS安全認證測試MQTT
阿新 • • 發佈:2020-08-14
一、環境搭建
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訊息
檢視訂閱視窗是否收到訊息: