微信公眾平台開發(49)物聯網硬體裝置控制技術

2021-09-06 11:02:13 字數 1230 閱讀 9853

1、基於網路協議的智慧型家電控制

snmp開發於九十年代早期,其目的是簡化大型網路中裝置的管理和資料的獲取。許多與網路有關的軟體包,如hp的open view和nortel networks的optivity network management system,還有multi router traffic grapher(mrtg)之類的免費軟體,都用snmp服務來簡化網路的管理和維護。

由於snmp的效果實在太好了,所以網路硬體廠商開始把snmp加入到它們製造的每一台裝置。今天,各種網路裝置上都可以看到預設啟用的snmp服務,從交換機到路由器,從防火牆到網路印表機,無一例外。

僅僅是分布廣泛還不足以造成威脅,問題是許多廠商安裝的snmp都採用了預設的通訊字串(例如密碼),這些通訊字串是程式獲取裝置資訊和修改配置必不可少的。採用預設通訊字串的好處是網路上的軟體可以直接訪問裝置,無需經過複雜的配置。

通訊字串主要包含兩類命令:get命令,set命令。get命令從裝置讀取資料,這些資料通常是操作引數,例如連線狀態、介面名稱等。set命令允許設定裝置的某些引數,這類功能一般有限制,例如關閉某個網路介面、修改路由器引數等功能。但很顯然,get、set命令都可能被用於拒絕服務攻擊(dos)和惡意修改網路引數。

最常見的預設通訊字串是public(讀/寫)和private(唯讀),除此之外還有許多廠商私有的預設通訊字串。幾乎所有執行snmp的網路裝置上,都可以找到某種形式的預設通訊字串。

snmp2.0和snmp1.0的安全機制比較脆弱,通訊不加密,所有通訊字串和資料都以明文形式傳送。攻擊者一旦捕獲了網路通訊,就可以利用各種嗅探工具直接獲取通訊字串,即使使用者改變了通訊字串的預設值也無濟於事。

近幾年才出現的sn***.0解決了一部分問題。為保護通訊字串,sn***.0使用des(dataencryptionstandard)演算法加密資料通訊;另外,sn***.0還能夠用md5和sha(securehashalgorithm)技術驗證節點的識別符號,從而防止攻擊者冒充管理節點的身份操作網路。

雖然sn***.0出現已經有一段時間了,但目前還沒有廣泛應用。如果裝置是2、3年前的產品,很可能根本不支援sn***.0;甚至有些較新的裝置也只有snmp2.0或snmp1.0。

即使裝置已經支援sn***.0,許多廠商使用的還是標準的通訊字串,這些字串對黑客組織來說根本不是秘密。因此,雖然sn***.0比以前的版本提供了更多的安全特性,如果配置不當,其實際效果仍舊有限。

2、基於觸**詢的自動列印技術

物聯網裝置微信硬體平台接入

1 硬體裝置直接接入 裝置廠商沒有雲伺服器的方式 從友好互動和方便性我們選擇了第二種。接入方案看 1 準備條件 2 做介面開發 接下來需要至少實現如下介面 在表結構設計上使用mongodb進行儲存,因為xml和json儲存方便直接。對xml解析使用dom4j包,匯入方式 org.dom4j dom4...

微信公眾平台開發(一) 接入微信公眾平台

一 接入流程分析參考官方文件 參考文件接入概述分別由以下幾部分完成 1 填寫伺服器配置 2 驗證伺服器位址的有效性 3 依據介面文件實現業務邏輯 按照流程第一部是先填寫伺服器配置,但是我們通常都是先做第二步 編寫 驗證伺服器位址的有效性 controller的寫法 restcontroller pu...

微信公眾平台開發概述

請開發者注意 4 每個介面都有每日介面呼叫頻次限制,可以在公眾平台官網 開發者中心處檢視具體頻次。5 在開發出現問題時,可以通過介面呼叫的返回碼,以及報警排查指引 在公眾平台官網 開發者中心處可以設定介面報警 來發現和解決問題。6 公眾平台以access token為介面呼叫憑據,來呼叫介面,所有介...