日韩欧美视频第二区,秋霞成人午夜鲁丝一区二区三区,美女日批视频在线观看,av在线不卡免费

電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設計 | 電子開發(fā)網(wǎng)Rss 2.0 會員中心 會員注冊
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> PLC基礎入門教程 >> 正文

Modbus 的RTU、ASCII、TCP傻傻搞不清楚?一文全解讀

作者:佚名    文章來源:本站原創(chuàng)    點擊數(shù):    更新時間:2023/3/31

寫在面前

今天來聊一聊Modbus,先看看今天的主要內(nèi)容:

01 術語解讀

02 背景

03 協(xié)議原理

04 傳輸方式

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

06 Modbus TCP及其注意點

07 功能碼作用

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



校驗碼:校驗碼通常是一組數(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ù)。它很簡單并且能夠?qū)崿F(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(jié)束,并且提供計算機校正時鐘同步的機會。適用于停止位的位數(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ù)是否不同步。


早在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)通信。現(xiàn)在,Modbus已經(jīng)成為工業(yè)領域通信協(xié)議標準,并且現(xiàn)在是工業(yè)電子設備之間相當常用的連接方式。

 


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

 

一般使用上,監(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為用戶自定義編碼。


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

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


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)。從設備接到請求后,進行應答并把消息反饋主設備。

 

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

 

在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)]有開始和結(jié)束標記。其優(yōu)點是: 在同樣的波特率下,可傳送更多的數(shù)據(jù)。

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

具體格式如下圖所示:

 


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所示。

 

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

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

【注意】

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

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

6.4 modbus tcp 和 TCP IP的關系

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


啟動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)輸入,例如:開關,接觸點,馬達運轉(zhuǎn),超限switch…等等。于PLC上被稱為Input relay、input coil等。

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

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

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

 


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)研究并結(jié)合工控系統(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)提供保護功能。

Tags:modbus,RTU,ASCII,TCP  
責任編輯:admin
  • 上一篇文章:
  • 下一篇文章: 沒有了
  • 相關文章列表
    modbus協(xié)議實例講解,功能碼和報文詳解
    Modbus測試工具與控件介紹
    西門子PLC 200smartPLC與第三方進行Modbus TCP通訊
    MODBUS--變頻器\PLC\儀表連不上怎么辦?送最簡單的軟件搞定問題
    西門子plc Smart 200主從站之間RS485通訊實例_從站主站讀寫程序
    西門子plc之間的通訊_兩臺西門子S7-200 SMART PLC如何通過Modbus
    西門子S7-200 Smart plc的Modbus RTU庫通訊輪詢實例
    學習s7-200之間的Modbus通訊_兩個PLC互相通信,主站從站通訊
    西門子PLC S7-200Smart實現(xiàn)Modbus-RTU通信實例 多功能電表 溫控表
    西門子plc S7-200 SMART與丹佛斯變頻器之間Modbus通信
    西門子plc S7-200 SMART與變頻器MODBUS-RTU通信例程
    RS232、RS485標準以及在DB9公頭、母頭上的接線定義_Modbus通訊接
    PLC控制伺服電機運動的完整案例(PLC設置伺服驅(qū)動參數(shù))_ 絲杠運
    MODBUS常用功能碼
    Modbus寄存器分類及地址分配表 寄存器分類及說明 寄存器的地址
    西門子plc S7-200smart 與臺達變頻器通訊Modbus梯形圖編程實例
    Modbus調(diào)試軟件--ModbusPoll、ModbusSlave使用詳解
    modbus poll 使用教程  Modbus通訊
    20種PLC對應Modbus地址表
    西門子plc S7-200SMART通過MODBUS通信控制變頻器啟停如何看電流頻
    西門子plc梯形圖編程實例 西門子200smart與電流表Modbus RTU通訊
    使用西門子plc的Modbus通訊 串口調(diào)試助手與S7-200SMART PLC從站通
    Modbus 調(diào)試助手的使用(一) Modsim32使用詳解Modbus Poll
    【工具使用】Modsim32軟件使用詳解 串口調(diào)試軟件
    什么是Modbus網(wǎng)關?modbus網(wǎng)關有什么作用?
    西門子S7-200PLC ModbusTCP通訊,ModScan32使用
    Modbus協(xié)議詳解 科普Modbus通訊協(xié)議
    Modbus通訊簡單測試—Modscan32使用簡介
    Modbus Scan32模擬軟件使用,Modscan32使用教程
    Modbus協(xié)議的數(shù)據(jù)模型和地址模型
    請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
    1分 2分 3分 4分 5分

    還可以輸入 200 個字
    [ 查看全部 ] 網(wǎng)友評論
    推薦文章
    最新推薦
    關于我們 - 聯(lián)系我們 - 廣告服務 - 友情鏈接 - 網(wǎng)站地圖 - 版權聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁面
    下到頁底
    晶體管查詢
    主站蜘蛛池模板: 伊春市| 江孜县| 永清县| 涟水县| 贵阳市| 合作市| 五家渠市| 宣化县| 永清县| 特克斯县| 神农架林区| 达州市| 罗田县| 西青区| 彭山县| 遂平县| 榆社县| 郎溪县| 焉耆| 新源县| 明水县| 黔西县| 宁河县| 隆安县| 哈密市| 穆棱市| 铅山县| 鹿邑县| 兰州市| 利津县| 灵川县| 丹巴县| 康定县| 衡南县| 莒南县| 亳州市| 读书| 瑞丽市| 资阳市| 茶陵县| 定襄县|