• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      淺析PROFINET中DCP協(xié)議

      2022-05-30 08:13:56晏騰飛
      智能建筑與工程機(jī)械 2022年8期
      關(guān)鍵詞:協(xié)議

      晏騰飛

      摘 要:DCP協(xié)議作為PROFINET協(xié)議的一部分,作用是對(duì)PROFINET設(shè)備進(jìn)行名稱分配以及設(shè)置網(wǎng)絡(luò)參數(shù)等。介紹DCP報(bào)文的基本格式、含義,以菲尼克斯PLC模塊及管理型交換機(jī)搭建的簡單PROFINET工業(yè)以太網(wǎng)為例,結(jié)合網(wǎng)絡(luò)報(bào)文分析工具Wireshark,對(duì)PROFINET設(shè)備名稱、IP地址等網(wǎng)絡(luò)參數(shù)設(shè)置的過程細(xì)節(jié)進(jìn)行了分析,總結(jié)DCP的特點(diǎn)以及應(yīng)用注意事項(xiàng)。

      關(guān)鍵詞:PROFINET;DCP;Wireshark;協(xié)議

      中圖分類號(hào):TP391文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):2096-6903(2022)08-0123-03

      0 引言

      PROFINET是一個(gè)開放式的工業(yè)以太網(wǎng)通訊協(xié)議,由PROFIBUS & PROFINET國際組織(PI)所提出。PROFINET吸收了多年成熟應(yīng)用的PROFIBUS和工業(yè)以太網(wǎng)的技術(shù)特點(diǎn),采用開放的IT標(biāo)準(zhǔn),與以太網(wǎng)的TCP/IP標(biāo)準(zhǔn)兼容,并提供了實(shí)時(shí)功能,能滿足所有自動(dòng)化的需求[1]。自2003年起,PROFINET成為IEC 61158及IEC 61784標(biāo)準(zhǔn)中的一部分。成為市場上領(lǐng)先的工業(yè)以太網(wǎng)標(biāo)準(zhǔn)。根據(jù)PROFIBUS & PROFINET國際組織(PI)發(fā)布的最新數(shù)據(jù),截至2021年底,總計(jì)已有4800多萬臺(tái)PROFINET設(shè)備安裝于工業(yè)現(xiàn)場,與2019年相比增加了850萬臺(tái),增長率22%。

      分析PROFINET使用DCP協(xié)議對(duì)設(shè)備進(jìn)行發(fā)現(xiàn)、名稱分配、設(shè)定網(wǎng)絡(luò)參數(shù)的過程,采用管理型交換機(jī)以及Wireshark對(duì)設(shè)備間的真實(shí)網(wǎng)絡(luò)報(bào)文進(jìn)行捕獲與解析,以了解DCP協(xié)議工作的細(xì)節(jié)與特點(diǎn)。

      1?DCP簡介

      DCP全稱Discovery and Basic Configuration Protocol,意為發(fā)現(xiàn)和基本配置協(xié)議。在將PROFINET設(shè)備投入使用前,需要通過工程工具或者控制器設(shè)置該設(shè)備的名稱、IP地址等參數(shù)。設(shè)備名稱(Name of Station)對(duì)于PROFINET網(wǎng)絡(luò)中設(shè)備來說是必須的,且同一網(wǎng)絡(luò)中的設(shè)備名稱不能重復(fù)。為防止重啟后失效,參數(shù)需永久性地保存在設(shè)備的設(shè)置中[2]。

      DCP工作在數(shù)據(jù)鏈路層,依靠設(shè)備的MAC地址區(qū)分不同設(shè)備,因此無須設(shè)置IP地址即可發(fā)現(xiàn)或者設(shè)定PROFINET設(shè)備,這個(gè)特性還帶來一個(gè)影響:計(jì)算機(jī)只能發(fā)現(xiàn)和設(shè)定在同一子網(wǎng)中的PROFINET設(shè)備,即DCP數(shù)據(jù)幀不能穿過NAT設(shè)備,例如路由器。

      2DCP幀結(jié)構(gòu)

      一個(gè)DCP幀具有以太網(wǎng)類型0x8892(表示PROFINET),其結(jié)構(gòu)如圖1所示,其中數(shù)據(jù)字段的長度及取值見表1。

      服務(wù)ID代表了DCP的四大功能:Get、Set、Identify、Hello,最常用的功能是Set和Indentify。Set表明這是一個(gè)設(shè)置幀,當(dāng)服務(wù)類型是Request時(shí),收到該幀的設(shè)備將按照數(shù)據(jù)塊中的內(nèi)容設(shè)置自己的名稱、IP地址、子網(wǎng)掩碼、網(wǎng)關(guān)、閃爍識(shí)別、恢復(fù)出廠設(shè)置等,設(shè)置完成便向?qū)Ψ桨l(fā)送服務(wù)類型為Response Success的設(shè)置幀表示應(yīng)答。Identify表明這是一個(gè)識(shí)別幀,功能是PROFINET設(shè)備的識(shí)別和應(yīng)答,收到該幀的設(shè)備會(huì)向控制器回復(fù)自己的信息,包括設(shè)備名、型號(hào)、廠商、IP地址等。工程工具掃描網(wǎng)絡(luò)中有一些PROFINET設(shè)備便是使用此功能。

      Xid:請(qǐng)求和響應(yīng)通常是成對(duì)出現(xiàn),所有的響應(yīng)都要包含和請(qǐng)求同樣的Xid,以便控制器確定收到的響應(yīng)是屬于哪一個(gè)請(qǐng)求。

      響應(yīng)延遲:由于 DCP 可能同時(shí)查詢網(wǎng)絡(luò)上的所有設(shè)備,它們也會(huì)或多或少地立即發(fā)送回復(fù),因此可能出現(xiàn)同時(shí)發(fā)送的情況。這將導(dǎo)致流量大幅增加,并可能導(dǎo)致?lián)砣瑥亩蓴_設(shè)備間關(guān)鍵過程數(shù)據(jù)的交換。為了防止這種情況,響應(yīng)延遲字段用于定義一個(gè)時(shí)間間隔,所有響應(yīng)都應(yīng)在該時(shí)間間隔內(nèi)展開。有效值是從 1 到 6400,這意味著響應(yīng)可以是最小10 ms和最大64 s。

      3DCP報(bào)文監(jiān)聽

      3.1 硬件設(shè)置

      以菲尼克斯型號(hào)為AXC 3050的PLC及BK PN子站為主要研究對(duì)象,使用管理型交換機(jī)以及Wireshark網(wǎng)絡(luò)分析工具來對(duì)DCP的工作過程進(jìn)行具體分析。

      將控制器AXC 3050連接至交換機(jī)端口1,將子站BK PN連接到交換機(jī)端口3,安裝了Wireshark的計(jì)算機(jī)連接到交換機(jī)端口5,如圖2所示。

      3.2 軟件設(shè)置

      設(shè)置管理型交換機(jī),將端口5作為端口1 的鏡像端口,即端口1的所有數(shù)據(jù)幀將會(huì)被復(fù)制到端口5,包括流出和流入的數(shù)據(jù),接到端口5的Wireshark便可以捕獲并分析所有AXC 3050與BK PN模塊之間的通信。打開Wireshark,選擇連接了交換機(jī)端口5的網(wǎng)卡,點(diǎn)擊捕獲,開始記錄端口5上的數(shù)據(jù)。

      在工程軟件中新建一個(gè)項(xiàng)目DcpTest,將各設(shè)備做如表2的配置,其中,AXC 3050的MAC地址為a8:74:1d:02:6e:12,BK PN的MAC地址為00:a0:45:91:cf:c9。

      在將項(xiàng)目下載到AXC 3050前,應(yīng)先設(shè)置其名稱及IP地址、子網(wǎng)掩碼等,步驟如下,打開DCP Tool,掃描設(shè)備,找到AXC 3050,設(shè)置其名稱為axc-30503,IP地址為10.11.11.2。

      3.3 DCP數(shù)據(jù)幀分析

      在Wireshark過濾器中輸入pn_dpc以過濾掉無關(guān)的幀??梢杂^察到DCP Tool設(shè)置設(shè)備名稱及IP的過程(如圖3所示):

      幀4為DCP Tool發(fā)送的設(shè)置名稱請(qǐng)求,目的地址正是AXC 3050的MAC地址。內(nèi)容是“站名稱:axc-30503”。

      幀5為AXC 3050的回復(fù):設(shè)置完成,響應(yīng)正常。

      幀10為DCP Tool發(fā)送的設(shè)置IP請(qǐng)求,內(nèi)容是“永久保存,IP地址10.11.11.2,子網(wǎng)掩碼255.255.255.0等”。

      幀11是AXC 3050的回復(fù):設(shè)置完成,響應(yīng)正常。

      將項(xiàng)目下載到AXC 3050中,等控制器啟動(dòng)完成,可以觀察到若干個(gè)識(shí)別請(qǐng)求。應(yīng)該注意,DCP 識(shí)別請(qǐng)求對(duì)于 PROFINET 設(shè)備的識(shí)別和參數(shù)化至關(guān)重要。在控制器啟動(dòng)時(shí),它們用于搜索組態(tài)中的 PROFINET 設(shè)備,這個(gè)過程循環(huán)重復(fù),直到相應(yīng)的設(shè)備響應(yīng)??稍趫D4中觀察到這種現(xiàn)象。

      幀17~47表明控制器向MAC地址01:0e:cf:00:00:00發(fā)送識(shí)別請(qǐng)求幀,這個(gè)特殊的MAC是PROFINET的組播地址。這些報(bào)文的含義如下:哪個(gè)站的名稱是axl-f-bk-pn,收到請(qǐng)響應(yīng)。因?yàn)锽K PN的設(shè)備名稱還未設(shè)置,所以網(wǎng)絡(luò)中沒有設(shè)備能響應(yīng)控制器的請(qǐng)求,控制器就一直重復(fù)發(fā)送這個(gè)組播幀。

      控制器啟動(dòng)完成后,通常在 PROFINET 網(wǎng)絡(luò)中不再發(fā)生DCP多播??赡艿睦馐桥R時(shí)可訪問設(shè)備的配置,例如由于工具更改或無線鏈接。應(yīng)該根據(jù)情況決定采取措施(例如臨時(shí)注銷節(jié)點(diǎn))來最小化 DCP 多播的數(shù)量。如果控制器啟動(dòng)后需搜尋的設(shè)備數(shù)量大于20,則會(huì)導(dǎo)致組播負(fù)載太高,不能保證無故障運(yùn)行[4]。

      下一步使用DCP Tool設(shè)置BK PN模塊的名稱為axl-f-bk-pn,然后觀察控制器和子站間的數(shù)據(jù)(如圖5所示)。

      幀89,控制器請(qǐng)求:設(shè)置子站的名稱為axl-f-bk-pn。

      幀90,子站回復(fù):設(shè)置完成。

      幀96,控制器組播:哪個(gè)站的名稱是axl-f-bk-pn。

      幀97,子站回復(fù):本站的名字是axl-f-bk-pn。

      幀117,控制器:設(shè)置IP為10.11.11.30等參數(shù)。

      幀118,子站回復(fù):設(shè)置完成。

      打開DCP Tool,重新掃描設(shè)備,可以觀察到子站BK PN的IP地址等網(wǎng)絡(luò)參數(shù)已經(jīng)分配,與DcpTest項(xiàng)目中的設(shè)置保持一致。

      可以看出,DCP與常見的DHCP(動(dòng)態(tài)主機(jī)配置協(xié)議)有相似之處[3],都是對(duì)網(wǎng)絡(luò)中的設(shè)備分配IP地址等參數(shù)的協(xié)議,主要不同點(diǎn)是DCP由控制器主動(dòng)查找設(shè)備,對(duì)符合硬件組態(tài)的設(shè)備主動(dòng)進(jìn)行分配設(shè)置,不能跨網(wǎng)段,而DHCP是設(shè)備向主機(jī)發(fā)起請(qǐng)求,主機(jī)再進(jìn)行響應(yīng),其作用范圍是跨網(wǎng)段的。

      4 基于DCP的網(wǎng)絡(luò)攻擊

      目前的DCP協(xié)議中并沒有設(shè)計(jì)身份驗(yàn)證字段,而該協(xié)議又負(fù)責(zé)設(shè)備的配置,因此通過偽造報(bào)文,可以發(fā)動(dòng)對(duì)PROFINET網(wǎng)絡(luò)的攻擊。例如數(shù)據(jù)包洪流攻擊、數(shù)據(jù)包嗅探、Xid欺騙等[5]。以數(shù)據(jù)包洪流攻擊為例,正常網(wǎng)絡(luò)中,控制器識(shí)別出設(shè)備并收到響應(yīng)之后便不再發(fā)送識(shí)別請(qǐng)求。而偽裝成控制器的攻擊者可以掃描出網(wǎng)絡(luò)中的所有設(shè)備的名稱,然后向網(wǎng)絡(luò)中組播大量的識(shí)別請(qǐng)求,設(shè)備可能會(huì)忙于進(jìn)行響應(yīng)而不能處理正常的數(shù)據(jù),甚至導(dǎo)致宕機(jī)(如圖6所示)。

      不過,正因?yàn)镈CP報(bào)文使用的是第二層協(xié)議,不能通過路由設(shè)備,惡意設(shè)備必須能訪問到控制器所在的同一網(wǎng)段才能起到作用,所以影響較小。當(dāng)網(wǎng)絡(luò)規(guī)模較大,難以控制接入設(shè)備時(shí),被入侵的風(fēng)險(xiǎn)也隨之增加了。

      5結(jié)語

      通過搭建一個(gè)PLC主站及子站構(gòu)成的簡單PROFINET網(wǎng)絡(luò),分析了DCP發(fā)揮作用的過程,挖掘DCP工具不能跨子網(wǎng)進(jìn)行設(shè)置的原因,以及控制器如何發(fā)現(xiàn)并管理PROFINET設(shè)備的細(xì)節(jié),還對(duì)利用DCP進(jìn)行網(wǎng)絡(luò)攻擊的可能性進(jìn)行了分析。有助于厘清DCP工作的基本原理、抓包網(wǎng)絡(luò)的搭建以及工程工具的適用環(huán)境。

      參考文獻(xiàn)

      [1] 廖常初,祖正容.西門子工業(yè)通信網(wǎng)絡(luò)組態(tài)編程與故障診斷[M].北京:機(jī)械工業(yè)出版社,2009:336.

      [2] 和淑芬,沈勇,范雄濤,等.深入解析 ProfiNet IO 系統(tǒng)啟動(dòng)前尋址的實(shí)時(shí)報(bào)文[J].電氣技術(shù),2018(2):96-101.

      [3] 陳曦.PROFINET IO技術(shù)中的DCP協(xié)議[J].中國儀器儀表, 2016(10):27-30.

      [4] PNO, PI.PROFINET Commissioning Guideline for PROFINET[C].PROFIBUS Germany,2019.

      [5] Sangkyo Oh, Hyunji Chung, Sangjin Lee, et al. Advanced Protocol to Prevent Man-in-the-middle Attack in SCADA System[J].International Journal of Security and its Applications,2014(2):1-8.

      猜你喜歡
      協(xié)議
      基于云的高校計(jì)算機(jī)機(jī)房的設(shè)計(jì)研究
      基于數(shù)字化變電站SV報(bào)文通信可靠性問題研究
      基于IATAHost—To—Host協(xié)議的GDS互聯(lián)適配器設(shè)計(jì)
      Modbus設(shè)備在機(jī)房溫度監(jiān)控系統(tǒng)中的應(yīng)用
      負(fù)面清單的管理研究
      中國市場(2016年36期)2016-10-19 04:20:43
      對(duì)無線傳感器網(wǎng)絡(luò)MAC層協(xié)議優(yōu)化的研究與設(shè)計(jì)
      科技視界(2016年22期)2016-10-18 15:25:08
      基于對(duì)等網(wǎng)協(xié)議的BotNet 防御系統(tǒng)的設(shè)計(jì)
      PKI技術(shù)在SSLVPN中的應(yīng)用
      挪用還是貪污
      《網(wǎng)絡(luò)原理》課程中協(xié)議可靠性探討
      剑河县| 西和县| 齐河县| 福鼎市| 柳江县| 广灵县| 西昌市| 苏州市| 平湖市| 旬邑县| 台南市| 基隆市| 邳州市| 金沙县| 高青县| 虎林市| 高安市| 青岛市| 武冈市| 皋兰县| 丹东市| 高平市| 朝阳县| 泰兴市| 名山县| 清苑县| 延寿县| 施甸县| 琼海市| 晋江市| 军事| 左云县| 那曲县| 陇川县| 宁晋县| 准格尔旗| 城市| 潍坊市| 二连浩特市| 葵青区| 北票市|