chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Modbus協(xié)議的RTU、ASCII、TCP的原理及區(qū)別

strongerHuang ? 來源:strongerHuang ? 作者:strongerHuang ? 2022-12-06 09:42 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

校驗碼:校驗碼通常是一組數(shù)字的最后一位,由前面的數(shù)字通過某種運算得出,用以檢驗該組數(shù)據(jù)的正確性。代碼作為數(shù)據(jù)在向計算機或其它設備進行輸入時,容易產(chǎn)生輸入錯誤,為了減少這種輸入錯誤,編碼專家發(fā)明了各種校驗檢錯方法,并依據(jù)這些方法設置了校驗碼。常用的校驗有:累加和校驗SUM、字節(jié)異或校驗XOR、縱向冗余校驗LRC、循環(huán)冗余校驗CRC……

離散量輸入:主要用來讀取單個位的數(shù)據(jù),如IO的狀態(tài);

線圈:開關輸出信號,主要用來寫入單個位的數(shù)據(jù),與離散量構成組成對位的操作;

輸入寄存器:主要用來讀取16位,也就是兩個字節(jié)的數(shù)據(jù);

保持寄存器:主要用來寫入16位的數(shù)據(jù);

PLC:可編程邏輯控制器,是一種采用一類可編程的存儲器,用于其內(nèi)部存儲程序和執(zhí)行邏輯運算、順序控制、定時、計數(shù)與算術操作等面向用戶的指令,并通過數(shù)字或模擬式輸入/輸出控制各種類型的機械或生產(chǎn)過程。

串口通信:隨著計算機系統(tǒng)的應用和微機網(wǎng)絡的發(fā)展,通信功能越來越顯得重要。這里所說的通信是指計算機與外界的信息交換。因此,通信既包括計算機與外部設備之間,也包括計算機和計算機之間的信息交換。由于串行通信是在一根傳輸線上一位一位的傳送信息,所用的傳輸線少,并且可以借助現(xiàn)成的電話網(wǎng)進行信息傳送,因此特別適合于遠距離傳輸。對于那些與計算機相距不遠的人-機交換設備和串行存儲的外部設備如終端、打印機、邏輯分析儀、磁盤等,采用串行方式交換數(shù)據(jù)也很普遍。在實時控制和管理方面,采用多臺微機處理機組成分級分布控制系統(tǒng)中,各 CPU 之間的通信一般都是串行方式。所以串行接口是微機應用系統(tǒng)常用的接口。許多外設和計算機按串行方式進行通信,這里所說的串行方式,是指外設與接口電路之間的信息傳送方式,實際上CPU 與接口之間仍按并行方式工作。

串口:串口是計算機上一種非常通用設備通信的協(xié)議,不要與通用串行總線Universal Serial Bus(USB)混淆。大多數(shù)計算機包含兩個基于RS232的串口。串口同時也是儀器儀表設備通用的通信協(xié)議;很多GPIB兼容的設備也帶有RS-232口。同時,串口通信協(xié)議也可以用于獲取遠程采集設備的數(shù)據(jù)。

串口通信的概念非常簡單,串口按位(bit)發(fā)送和接收字節(jié)。盡管比按字節(jié)(byte)的并行通信要慢,但是串口可以在使用一根線發(fā)送數(shù)據(jù)的同時用另一根線接收數(shù)據(jù)。它很簡單并且能夠實現(xiàn)遠距離通信。比如IEEE488定義并行通行狀態(tài)時,規(guī)定設備線總常不得超過20米,并且任意兩個設備間的長度不得超過2米;而對于串口而言,長度可達1200米。

典型地,串口用于ASCII碼字符的傳輸。通信使用3根線完成:地線、發(fā)送和接收。由于串口通信是異步的,端口能夠在一根線上發(fā)送數(shù)據(jù)同時在另一根線上接收數(shù)據(jù)。其他線用于握手,但是不是必須的。串口通信最重要的參數(shù)是波特率、數(shù)據(jù)位、停止位和奇偶校驗。對于兩個進行通行的端口,這些參數(shù)必須匹配:

a. 波特率:這是一個衡量通信速度的參數(shù)。它表示每秒鐘傳送的bit的個數(shù)。例如300波特表示每秒鐘發(fā)送300個bit。當我們提到時鐘周期時,我們就是指波特率。例如如果協(xié)議需要4800波特率,那么時鐘是4800Hz。這意味著串口通信在數(shù)據(jù)線上的采樣率為4800Hz。通常電話線的波特率為14400,28800和36600。波特率可以遠遠大于這些值,但是波特率和距離成反比。高波特率常常用于放置的很近的儀器間的通信,典型的例子就是GPIB設備的通信。


b. 數(shù)據(jù)位:這是衡量通信中實際數(shù)據(jù)位的參數(shù)。當計算機發(fā)送一個信息包,實際的數(shù)據(jù)不會是8位的,標準的值是5、7和8位。如何設置取決于你想傳送的信息。比如,標準的ASCII碼是0~127(7位)。擴展的ASCII碼是0~255(8位)。如果數(shù)據(jù)使用簡單的文本(標準 ASCII碼),那么每個數(shù)據(jù)包使用7位數(shù)據(jù)。每個包是指一個字節(jié),包括開始/停止位,數(shù)據(jù)位和奇偶校驗位。由于實際數(shù)據(jù)位取決于通信協(xié)議的選取,術語“包”指任何通信的情況。


c. 停止位:用于表示單個包的最后一位。典型的值為1,1.5和2位。由于數(shù)據(jù)是在傳輸線上定時的,并且每一個設備有其自己的時鐘,很可能在通信中兩臺設備間出現(xiàn)了小小的不同步。因此停止位不僅僅是表示傳輸?shù)慕Y束,并且提供計算機校正時鐘同步的機會。適用于停止位的位數(shù)越多,不同時鐘同步的容忍程度越大,但是數(shù)據(jù)傳輸率同時也越慢。


d. 奇偶校驗位:在串口通信中一種簡單的檢錯方式。有四種檢錯方式:偶、奇、高和低。當然沒有校驗位也是可以的。對于偶和奇校驗的情況,串口會設置校驗位(數(shù)據(jù)位后面的一位),用一個值確保傳輸?shù)臄?shù)據(jù)有偶個或者奇?zhèn)€邏輯高位。例如,如果數(shù)據(jù)是011,那么對于偶校驗,校驗位為0,保證邏輯高的位數(shù)是偶數(shù)個。如果是奇校驗,校驗位1,這樣就有3個邏輯高位。高位和低位不真正的檢查數(shù)據(jù),簡單置位邏輯高或者邏輯低校驗。這樣使得接收設備能夠知道一個位的狀態(tài),有機會判斷是否有噪聲干擾了通信或者是否傳輸和接收數(shù)據(jù)是否不同步。

02背景

早在1971年,Modicon公司首次推出了Modbus協(xié)議,ModbusRTU和Modbus ASCII誕生于此。后來施耐德電氣(SchneiderElectric)收購了Modicon公司,并在1997年推出了ModbusTCP協(xié)議。2004年,中國國家標準委員會正式把Modbus作為了國家標準,開啟了Modbus為中國工業(yè)通信做貢獻的時代。

通過此協(xié)議,控制器相互之間、控制器經(jīng)由網(wǎng)絡和其它設備之間可以通信。Modbus協(xié)議具有標準、開放,可以支持多種電氣接口,數(shù)據(jù)幀格式簡單緊湊,數(shù)據(jù)傳輸量大、實時性好等特點,在工業(yè)控制系統(tǒng)中得到了廣泛的應用,已經(jīng)成為通用工業(yè)標準。深入分析Modbus協(xié)議實現(xiàn)原理和其安全性對提高工控系統(tǒng)安全性有著重要的現(xiàn)實意義。

ModbusRTU和ModbusASCII主要用于串行通信領域,而ModbusTCP則常用于以太網(wǎng)通信?,F(xiàn)在,Modbus已經(jīng)成為工業(yè)領域通信協(xié)議標準,并且現(xiàn)在是工業(yè)電子設備之間相當常用的連接方式。

8115aa04-74fc-11ed-8abf-dac502259ad0.jpg

03協(xié)議原理

Modbus使用一種簡單的MasterandSlave主從協(xié)議(客戶機/服務器協(xié)議)進行通信。客戶機作為主站,向服務器發(fā)送請求;服務器(從站)接到請求后,對請求進行分析并作出應答。其中使用的通信幀被稱為應用數(shù)據(jù)單元(Application Data Unit,ADU),它包括通信地址段、功能代碼段、數(shù)據(jù)段和校驗段,如下圖:

81282012-74fc-11ed-8abf-dac502259ad0.jpg

一般使用上,監(jiān)控系統(tǒng)(HMI)都為Master,PLC、電表、儀表等都為Slave,HMI系統(tǒng)一直PollingSlave的各種relayandregister最新數(shù)值,然后做顯示及各種邏輯計算及控制調(diào)整等處理。

其中,功能代碼段和數(shù)據(jù)段組合稱為協(xié)議數(shù)據(jù)單元(Protocol Data Unit or Protocol Description Unit),PDU)。功能代碼段占用一個字節(jié),取值范圍為1~255,其中128~255為保留值,用于異常消息應答報文。1~127為功能代碼編號,其中65~72和100~110為用戶自定義編碼。

04傳輸方式

Modbus 協(xié)議是一種應用層報文傳輸協(xié)議,包括ASCII、RTU、TCP三種報文類型,協(xié)議本身并沒有定義物理層,只是定義了控制器能夠認識和使用的消息結構,而不管它們是經(jīng)過何種網(wǎng)絡進行通信的。

Modbus 協(xié)議使用串口傳輸時可以選擇RTU或ASCII模式,并規(guī)定了消息、數(shù)據(jù)結構、命令和應答方式并需要對數(shù)據(jù)進行校驗。ASCII 模式采用LRC校驗,RTU模式采用16 位CRC校驗。通過以太網(wǎng)傳輸時使用TCP,這種模式不使用校驗,因為TCP協(xié)議是一個面向連接的可靠協(xié)議。

05ModbusRTU與Modbus ASCII有什么區(qū)別

Modbus是一種應用層協(xié)議,它定義了與基礎網(wǎng)絡無關的數(shù)據(jù)單元(ADU),可以在以太網(wǎng)(TCP/IP)或串行鏈路上(RS232、RS485等)進行通信(以太網(wǎng)ADU和串行ADU略有不同)。在串行鏈路上,Modbus協(xié)議有兩種傳輸模式——ASCII模式和RTU模式。其中,ASCII是英文“American Standard Code for Information Interchange”的縮寫,中文翻譯為“美國國家信息交換標準編碼”;RTU是英文“ Remote Terminal Unit”的縮寫,中文翻譯為“遠程終端設備”。

首先,讓我們來看看Modbus的工作原理。

Modbus采用主從(Master-Salve)通信模式,僅有主設備(Master)能對傳輸進行初始化,從設備(Slave)根據(jù)主設備的請求進行應答。典型的主設備包括現(xiàn)場儀表和顯示面板,典型的從設備為可編程邏輯控制器(PLC)。

在串行鏈路的主從通信中,Modbus主設備可以連接一個或N(最大為247)個從設備,主從設備之間的通信包括單播模式和廣播模式。

在廣播模式中,Modbus主設備可同時向多個從設備發(fā)送請求(設備地址0用于廣播模式),從設備對廣播請求不進行響應。

在單播模式中,主設備發(fā)送請求至某個特定的從設備(每個Modbus從設備具有唯一地址),請求的消息幀中會包含功能代碼和數(shù)據(jù),比如功能代碼“01”用來讀取離散量線圈的狀態(tài)。從設備接到請求后,進行應答并把消息反饋主設備。

8132be00-74fc-11ed-8abf-dac502259ad0.jpg

在主從設備的通信中,可以使用ASCII模式或者RTU模式。在ASCII(AmericanStandard Code for Information Interchange)傳輸模式下,消息幀以英文冒號(“:”,ASCII3A Hex)開始,以回車和換號(CRLF,ASCII 0D and 0A Hex)符號結束,允許的傳輸?shù)淖址癁槭M制的0~9和A~F;網(wǎng)絡中的從設備監(jiān)視傳輸通路上是否有英文冒號(“:”),如果有的話,就對消息幀進行解碼,查看消息中的地址是否與自己的地址相同,如果相同的話,就接收其中的數(shù)據(jù);如果不同的話,則不予理會。

814b2e18-74fc-11ed-8abf-dac502259ad0.jpg

在ASCII模式下,每個8位的字節(jié)被拆分成兩個ASCII字符進行發(fā)送,比如十六進制數(shù)0xAF ,會被分解成ASCII字符“A”和“F”進行發(fā)送,發(fā)送的字符量比RTU增加一倍。ASCII模式的好處是允許兩個字符之間間隔的時間長達1s而不引發(fā)通信故障,該模式采用縱向冗余校驗(Longitudinal Redundancy Check ,LRC)) 的方法來檢驗錯誤,當控制器設為在Modbus 網(wǎng)絡上以RTU 模式通信,消息中的每個8Bit 字節(jié)都包含兩個4 Bit 的十六進制字符,這種模式?jīng)]有開始和結束標記。其優(yōu)點是: 在同樣的波特率下,可傳送更多的數(shù)據(jù)。

在RTU(RemoteTerminal Unit)模式下,每個字節(jié)可以傳輸兩個十六進制字符,比如十六進制數(shù)0xAF,直接以十六進制0xAF(二進制:10101111)進行發(fā)送,因此它的發(fā)送密度比ASCII模式高一倍;RTU模式采用循環(huán)冗余校驗(CRC),下面是對RTU模式的總結:

具體格式如下圖所示:

815c64e4-74fc-11ed-8abf-dac502259ad0.jpg

06ModbusTCP及其注意點

6.1 主機和從機、服務端和客戶端

【在modbus協(xié)議中】

主機發(fā)送modbus請求,從機根據(jù)請求內(nèi)容向主機返回響應。在modbus協(xié)議中,主機總是主動方,從機總是被動方。

【在網(wǎng)絡應用中】

在網(wǎng)絡應用中存在客戶端和服務器端,客戶端(例如瀏覽器)發(fā)送請求到服務器,服務器向客戶端返回內(nèi)容(例如HTML文本)。

【在modbus tcp中】

主機是客戶端,而從機是服務器端。千萬不要以為服務器端重要,主機也重要,所以主機就是服務器端。

6.2 是否可以多主機

通過前面的分析,主機為客戶端那么modbustcp支持多個主機,在一個 局域網(wǎng)中可存在多個主機和多個從機。從機的連接能力(連接主機的數(shù) 量)由uIP的最大TCP連接個數(shù)決定。

6.3 modbus TCP協(xié)議簡述

modbus TCP和modbus RTU基本相同,但是也存在一些區(qū)別:

a.從機地址變得不再重要,多數(shù)情況下忽略。從某種意義上說從機地址被IP地址取代;

b.CRC校驗變得不再重要,甚至可以忽略。由于TCP數(shù)據(jù)包中已經(jīng)存在校驗,為了不重復造輪子,modbus TCP干脆取消了CRC校驗。

TCP 模式是為了讓Modbus 數(shù)據(jù)順利在以太網(wǎng)上傳輸產(chǎn)生的,使用TCP502 端口。該協(xié)議物理層,數(shù)據(jù)鏈路層,網(wǎng)絡層,傳輸層都是基于TCP 協(xié)議,只在應用層,將Modbus 協(xié)議修改后封裝進去; 接收端將該TCP 數(shù)據(jù)包拆封后,重新獲得原始Modbus 幀,然后按照Modbus 協(xié)議規(guī)范進行解析,并將返回的數(shù)據(jù)包重新封裝進TCP 協(xié)議中,返回到發(fā)送端。與串行鏈路傳輸?shù)臄?shù)據(jù)格式不同,TCP 模式去除了附加地址和校驗,增加了報文頭,其具體格式如圖4所示。

816ffacc-74fc-11ed-8abf-dac502259ad0.jpg

在modbus TCP中包含一個MBAP頭,該頭包含以下幾個部分:

區(qū)域

長度

描述

客戶端

服務器

傳輸標志 2字節(jié) MODBUS 請求和響應傳輸過程中序列號 客戶端生成 應答時復制該值
協(xié)議標志 2字節(jié) Modbus協(xié)議默認為0 客戶端生成 應答時復制該值
長度 2字節(jié) 剩余部分的長度 客戶端生成 應答時由服務器端生成
單元標志 1字節(jié) 從機標志(從機地址) 客戶端生成 應答時復制該值

注意:

a.傳輸標志可理解為序列號,防止 MODBUS TCP通信錯位,例如后發(fā)生的響應先到了主機,而早發(fā)生的響應后到主機;

b.單元標志可理解為從機地址,此時已經(jīng)不再重要。

6.4 modbus tcp 和 TCP IP的關系

modbus TCP可以理解為發(fā)生在TCP上的應用層協(xié)議,既然是TCP協(xié)議那么一個完整的MODBUSTCP報文必然包括TCP首部,IP首部和Ethernet首部。


07功能碼作用

啟動Modbus事務處理的客戶機創(chuàng)建Modbus應用數(shù)據(jù)單元。功能碼(PDU中的)向服務器指示將執(zhí)行哪種操作。

用一個字節(jié)編碼Modbus數(shù)據(jù)單元的功能碼域。有效范圍是十制制1-255(128-255為異常響應保留)。當從客戶機向服務器發(fā)送報文時,功能碼域通過服務器執(zhí)行哪種操作。

從客戶機向服務器發(fā)送的報文數(shù)據(jù)域包括附加信息,服務器使用這個信息執(zhí)行功能碼定義的操作。這個域還包括離散項目和寄存器地址、處理項目的數(shù)量以及域中的實際數(shù)據(jù)字節(jié)數(shù)。

在某種請求中,數(shù)據(jù)域可以是不存在的,在此情況下服務器不需要任何附加信息。功能碼僅說明操作。

功能碼的類型:

功能碼主要分為有效功能碼、異常功能碼和錯誤功能碼。如果在一個正確接收Modbus ADU中,不出現(xiàn)與請求Modbus功能有關的差錯,那么服務器至客戶機的響應數(shù)據(jù)會包含請求中的正常功能碼。如果出現(xiàn)與請求Modbus功能有關的差錯,那么響應數(shù)據(jù)會包含一個異常碼和錯誤碼。

例如,客戶機能夠讀一組離散量輸出或輸入的開/關狀態(tài),或者用戶能夠讀/寫一組寄存器數(shù)據(jù)內(nèi)容。當服務器對客戶機響應時,它使用功能碼域來指示正常(無差錯)響應或出現(xiàn)某種差錯(稱為異常響應)。對于一個正常響應來說,服務器僅對原始功能碼響應。

對于異常響應,服務器返回一個與客戶機等同的碼,設置該原始功能碼的最高有效位為邏輯1,并加該異常碼后增加錯誤碼,以通知客戶機異常原因。

有效功能碼

有效功能碼有二十幾種,但是一般使用上都以1、2、3、4、5、6、15、16等八種最為常用,以及另外特殊使用的20、21兩種,此為General Reference Register,絕大部份的Modbus設備并不會提供此Register。于PLC上主要的控制數(shù)據(jù)有下列四種型式。此八種功能碼就是處理這些控制資料,詳細說明如下各點:

控制數(shù)據(jù)四種型式:

DI:DigitalInput(數(shù)字輸入,離散輸入),一個地址一個數(shù)據(jù)位,用戶只能讀取它的狀態(tài),不能修改。以一個 bit表示 On/Off,用來記錄控制信號的狀態(tài)輸入,例如:開關,接觸點,馬達運轉,超限switch…等等。于PLC上被稱為Input relay、input coil等。

DO:DigitalOutput(數(shù)字輸出,線圈輸出),一個地址一個數(shù)據(jù)位,用戶可以置位、復位,可以回讀狀態(tài)。以一個 bit表示 On/Off,用來輸出控制信號,以激活或停止馬達,警鈴,燈光…等等。于PLC上被稱為Output relay、Output coil等。

AIAnalog Input(模擬輸入,輸入寄存器),一個地址16位數(shù)據(jù),用戶只能讀,不能修改,,以16 bits integer表示一個數(shù)值,用來記錄控制信號的數(shù)值輸入,例如:溫度、流量、料量、速度、轉速、文件板開度、液位、重量…等等。于PLC上被稱為Input register。

AO:AnalogOutput(模擬輸出,保持寄存器),一個地址16位數(shù)據(jù),用戶可以寫,也可以回讀,以16 bits integer表示一個數(shù)值,用來輸出控制信號的數(shù)值,例如:溫度、流量、速度、轉速、文件板開度、飼料量…等等設定值。于PLC上被稱為Output register、Holding register。

81896002-74fc-11ed-8abf-dac502259ad0.jpg


08Modbus協(xié)議安全分析

Modbus 協(xié)議是典型的工控網(wǎng)協(xié)議,研究其安全性對于加強工業(yè)控制網(wǎng)絡的安全性有重要意義。一般來說,協(xié)議安全性問題可以分為兩種,一種是協(xié)議自身的設計和描述引起的安全問題; 另一種是協(xié)議的不正確實現(xiàn)引起的安全問題。Modbus 協(xié)議也存在著這兩方面的問題。

8.1Modbus 協(xié)議的固有問題

絕大多數(shù)工控協(xié)議在設計之初,僅僅考慮了功能實現(xiàn)、提高效率、提高可靠性等方面,而沒考慮過安全性問題。Modbus 協(xié)議也不例外,盡管其已經(jīng)成為事實上的工業(yè)標準。從前面原理分析可以看出其本身的安全性問題是: 缺乏認證、授權、加密等安全防護機制和功能碼濫用問題。

(1)缺乏認證

認證的目的是保證收到的信息來自合法的用戶,未認證用戶向設備發(fā)送控制命令不會被執(zhí)行。在Modbus 協(xié)議通信過程中,沒有任何認證方面的相關定義,攻擊者只需要找到一個合法的地址就可以使用功能碼就能建立一個Modbus 通信會話,從而擾亂整個或者部分控制過程。

(2)缺乏授權

授權是保證不同的特權操作需要由擁有不同權限的認證用戶來完成,這樣可大大降低誤操作與內(nèi)部攻擊的概率。目前,Modbus 協(xié)議沒有基于角色的訪問控制機制,也沒有對用戶分類,沒有對用戶的權限進行劃分,這會導致任意用戶可以執(zhí)行任意功能。

(3)缺乏加密

加密可以保證通信過程中雙方的信息不被第三方非法獲取。Modbus 協(xié)議通信過程中,地址和命令全部采用明文傳輸,因此數(shù)據(jù)可以很容易的被攻擊者捕獲和解析,為攻擊者提供便利。

(4)功能碼濫用

功能碼是Modbus 協(xié)議中的一項重要內(nèi)容,幾乎所有的通信都包含功能碼。目前,功能碼濫用是導致Modbus 網(wǎng)絡異常的一個主要因素。例如不合法報文長度,短周期的無用命令,不正確的報文長度,確認異常代碼延遲等都有可能導致拒絕服務攻擊。

8.2協(xié)議實現(xiàn)產(chǎn)生的問題

雖然Modbus 協(xié)議獲得了廣泛的應用,但是在實現(xiàn)具體的工業(yè)控制系統(tǒng)時,開發(fā)者并不具備安全知識或者沒有意識到安全問題。這樣就導致了使用Modbus 協(xié)議的系統(tǒng)中可能存在各種各樣的安全漏洞。

(1)設計安全問題

Modbus 系統(tǒng)開發(fā)者重點關注的是其功能實現(xiàn)問題,安全問題在設計時很少被注意到。設計安全是指設計時充分考慮安全性,解決Modbus 系統(tǒng)可能出現(xiàn)的各種異常和非法操作等問題。比如在通信過程中,某個節(jié)點被惡意控制后發(fā)出非法數(shù)據(jù),就需要考慮這些數(shù)據(jù)的判別和處理問題。

(2)緩沖區(qū)溢出漏洞

緩沖區(qū)溢出是指在向緩沖區(qū)內(nèi)填充數(shù)據(jù)時超過了緩沖區(qū)本身的容量導致溢出的數(shù)據(jù)覆蓋在合法數(shù)據(jù)上,這是在軟件開發(fā)中最常見也是非常危險的漏洞,可以導致系統(tǒng)崩潰,或者被攻擊者利用來控制系統(tǒng)。

Modbus 系統(tǒng)開發(fā)者大多不具備安全開發(fā)知識,這樣就會產(chǎn)生很多的緩沖區(qū)溢出漏洞,一旦被惡意者利用會導致嚴重的后果。

(3)Modbus TCP 安全問題

目前,Modbus 協(xié)議已經(jīng)可以在通用計算機和通用操作系統(tǒng)上實現(xiàn),運行于TCP /IP 之上以滿足發(fā)展需要。這樣,TCP /IP 協(xié)議自身存在的安全問題不可避免地會影響到工控網(wǎng)絡安全。非法網(wǎng)絡數(shù)據(jù)獲取,中間人,拒絕服務, IP 欺騙,病毒木馬等在IP 互聯(lián)網(wǎng)中的常用攻擊手段都會影響Modbus 系統(tǒng)安全。

8.3安全建議

目前,Modbus 系統(tǒng)采取的安全防護措施普遍不足,這里參考信息安全業(yè)內(nèi)研究并結合工控系統(tǒng)自身的安全問題,提出了一些安全建議,能夠有效地降低工業(yè)控制系統(tǒng)面臨的威脅。

(1)從源頭開始

工控網(wǎng)絡漏洞,很大一部分是其實現(xiàn)過程出現(xiàn)的漏洞。如果從源頭開始控制,從Modbus 系統(tǒng)的需求設計、開發(fā)實現(xiàn)、內(nèi)部測試和部署等階段,全生命周期的介入安全手段,融入安全設計、安全編碼以及安全測試等技術,可以極大地消除安全漏洞,降低整個Modbus 系統(tǒng)的安全風險。

(2)異常行為檢測

異常行為代表著可能發(fā)生威脅,不管是有沒有攻擊者,因此開發(fā)針對Modbus 系統(tǒng)的專用異常行為檢測設備可以極大提高工控網(wǎng)絡的安全性。針對Modbus 系統(tǒng),首先要分析其存在的各種操作行為,依據(jù)“主體,地點,時間,訪問方式,操作,客體”等行為描述成一個六元組模型; 進而分析其行為是否屬于異常; 最終決定采取記錄或者報警等措施。

(3)安全審計

Modbus 的安全審計就是對協(xié)議數(shù)據(jù)進行深度解碼分析,記錄操作的時間、地點、操作者和操作行為等關鍵信息,實現(xiàn)對Modbus 系統(tǒng)的安全審計日志記錄和審計功能,從而提供安全事件爆發(fā)后的時候追查能力。

(4)使用網(wǎng)絡安全設備

使用入侵防御和防火墻等網(wǎng)絡安全設備。防火墻是一個串行設備,通過設置,只允許特定的地址訪問服務端,禁止外部地址訪問Modbus 服務器,可以有效的防止外部入侵; 入侵防御設備可以分析Modbus協(xié)議的具體操作內(nèi)容,有效地檢測并阻止來自內(nèi)部/外部的異常操作和各種滲透攻擊行為,對內(nèi)網(wǎng)提供保護功能。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    114

    文章

    17113

    瀏覽量

    184401
  • 寄存器
    +關注

    關注

    31

    文章

    5434

    瀏覽量

    124577
  • MODBUS
    +關注

    關注

    28

    文章

    2123

    瀏覽量

    79612

原文標題:Modbus 的RTU、ASCII、TCP

文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Modbus協(xié)議轉換:讓工業(yè)設備輕松“對話”

    在工業(yè)自動化中,Modbus協(xié)議是設備通信的關鍵。本文將聚焦于Modbus協(xié)議的串口與網(wǎng)口轉換需求,并通過ZLG致遠電子PXB-6030D的案例,展示如何輕松實現(xiàn)協(xié)議轉換。Modbus協(xié)議
    的頭像 發(fā)表于 07-15 11:47 ?85次閱讀
    <b class='flag-5'>Modbus協(xié)議</b>轉換:讓工業(yè)設備輕松“對話”

    Modbus TCPModbus RTU網(wǎng)關連接組態(tài)王的5大技巧!

    在工業(yè)自動化領域,Modbus協(xié)議以其簡潔高效、易于實施的特性被廣泛應用。然而,面對不同的網(wǎng)絡環(huán)境和設備需求,單一的通信方式往往難以滿足實際應用場景的復雜性。這時,興達易控Modbus TCP
    的頭像 發(fā)表于 03-16 16:11 ?429次閱讀
    <b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b>轉<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>網(wǎng)關連接組態(tài)王的5大技巧!

    Modbus TCPRTU:輕松轉換指南!

    在現(xiàn)代工業(yè)自動化領域,Modbus TCPModbus RTU兩種通信協(xié)議因其高效、穩(wěn)定的特點被廣泛應用。然而,隨著技術的發(fā)展和設備升級的
    的頭像 發(fā)表于 03-14 15:21 ?571次閱讀
    <b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b> 到 <b class='flag-5'>RTU</b>:輕松轉換指南!

    DJN Modbus協(xié)議

    DJN Modbus協(xié)議
    的頭像 發(fā)表于 11-27 13:52 ?1573次閱讀
    DJN <b class='flag-5'>Modbus協(xié)議</b>

    Modbus網(wǎng)關如何實現(xiàn)Modbus RTUModbus TCP協(xié)議的數(shù)據(jù)采集?

    著重要作用。 Modbus網(wǎng)關 作為數(shù)據(jù)通信的橋梁,能夠實現(xiàn)Modbus RTUModbus TCP協(xié)
    的頭像 發(fā)表于 10-22 15:57 ?985次閱讀

    Modbus RTU協(xié)議Modbus TCP/IP協(xié)議區(qū)別

    Modbus RTUModbus TCP/IP的本質都是Modbus協(xié)議,都是通過Modbus
    的頭像 發(fā)表于 10-18 17:44 ?1966次閱讀

    使用Modbus、樓宇自控、電力協(xié)議Modbus協(xié)議網(wǎng)關實現(xiàn)生產(chǎn)設備的遠程監(jiān)控和管理

    對不同協(xié)議設備的可靠數(shù)據(jù)采集;上行轉發(fā)協(xié)議方面支持Modbus RTUModbus TCP,為
    的頭像 發(fā)表于 08-08 17:29 ?671次閱讀
    使用<b class='flag-5'>Modbus</b>、樓宇自控、電力<b class='flag-5'>協(xié)議</b>轉<b class='flag-5'>Modbus協(xié)議</b>網(wǎng)關實現(xiàn)生產(chǎn)設備的遠程監(jiān)控和管理

    Modbus、樓宇自控、電力協(xié)議Modbus協(xié)議轉換網(wǎng)關用于MThings部署

    、IEC104(IEC 60870-5-104)、BACnet、Lonworks、IEC61850等多種下行采集協(xié)議,以及Modbus RTUModbus
    的頭像 發(fā)表于 08-08 13:46 ?657次閱讀
    <b class='flag-5'>Modbus</b>、樓宇自控、電力<b class='flag-5'>協(xié)議</b>轉<b class='flag-5'>Modbus協(xié)議</b>轉換網(wǎng)關用于MThings部署

    BACnet轉Modbus協(xié)議網(wǎng)關實現(xiàn)設備無縫對接GE Digital iFIX

    Modbus協(xié)議網(wǎng)關支持BACnet MS/TP和BACnet IP協(xié)議的下行采集,以及支持Modbus RTUModbus
    的頭像 發(fā)表于 08-06 17:32 ?706次閱讀
    BACnet轉<b class='flag-5'>Modbus協(xié)議</b>網(wǎng)關實現(xiàn)設備無縫對接GE Digital iFIX

    Modbus網(wǎng)關實現(xiàn)Modbus RTUModbus TCP協(xié)議相互轉換

    鋇錸Modbus網(wǎng)關BL120是一款專注于Modbus協(xié)議轉換的通信設備,支持Modbus RTUModbus
    的頭像 發(fā)表于 08-02 15:13 ?1118次閱讀
    <b class='flag-5'>Modbus</b>網(wǎng)關實現(xiàn)<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>和<b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b><b class='flag-5'>協(xié)議</b>相互轉換

    鋇錸Modbus RTU/TCP協(xié)議轉換網(wǎng)關BL120

    Modbus網(wǎng)關BL120是一款在工業(yè)自動化和物聯(lián)網(wǎng)領域廣泛應用的通信設備,專注于Modbus協(xié)議之間的相互轉換。支持的下行采集協(xié)議和上行轉發(fā)協(xié)議
    的頭像 發(fā)表于 08-02 11:58 ?810次閱讀
    鋇錸<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>/<b class='flag-5'>TCP</b><b class='flag-5'>協(xié)議</b>轉換網(wǎng)關BL120

    PLC協(xié)議Modbus RTU TCP 、DL T645、IEC101-104、BACnet 轉Modbus TCP RTU、OPC UA、MQTT、BACnet IP協(xié)議網(wǎng)關

    一、概述 BL110是一款物聯(lián)網(wǎng)無線工業(yè)智能網(wǎng)關,支持各種PLC協(xié)議、Modbus RTU?、Modbus TCP、DL/T645、IEC1
    的頭像 發(fā)表于 07-24 16:04 ?1152次閱讀
    PLC<b class='flag-5'>協(xié)議</b>、<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>  <b class='flag-5'>TCP</b> 、DL T645、IEC101-104、BACnet 轉<b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b> <b class='flag-5'>RTU</b>、OPC UA、MQTT、BACnet IP<b class='flag-5'>協(xié)議</b>網(wǎng)關

    基恩士PLC數(shù)據(jù) 轉 Modbus RTU TCP項目案例

    網(wǎng)關,是把一種協(xié)議轉換成另外一種協(xié)議。網(wǎng)關可以采集西門子,歐姆龍,三菱,AB PLC,DLT645,DLT698電表,modbus rtu tcp
    的頭像 發(fā)表于 07-23 17:10 ?979次閱讀
    基恩士PLC數(shù)據(jù) 轉 <b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b> <b class='flag-5'>TCP</b>項目案例

    Modbus RTUModbus TCP轉MQTT網(wǎng)關實現(xiàn)Modbus設備與云平臺的無縫通信

    鋇錸Modbus轉MQTT網(wǎng)關,簡而言之,就是通過將Modbus協(xié)議(包括Modbus RTUModbus
    的頭像 發(fā)表于 07-23 16:58 ?4539次閱讀
    <b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>、<b class='flag-5'>Modbus</b> <b class='flag-5'>TCP</b>轉MQTT網(wǎng)關實現(xiàn)<b class='flag-5'>Modbus</b>設備與云平臺的無縫通信

    ModbusRTU ASCII轉ModbusTCP協(xié)議轉化網(wǎng)關通訊解決方案

    /ASCII網(wǎng)絡中。 本網(wǎng)關連接到Modbus RTU/ASCII總線中做為主站使用,連接到MODBUS-TCP總線中做為主站(客戶端)或從
    的頭像 發(fā)表于 07-23 15:12 ?957次閱讀
    ModbusRTU <b class='flag-5'>ASCII</b>轉ModbusTCP<b class='flag-5'>協(xié)議</b>轉化網(wǎng)關通訊解決方案