摘 要:通過串口通訊的方式,研究一個封閉內網與危險外網連接的方法,利用現有條件實現了封閉內網與外界通訊的需求,保證了封閉內網計算機及網絡的安全。
關鍵詞:串口通訊;封閉內網;安全
DOI:10.16640/j.cnki.37-1222/t.2018.22.107
本鋼二冷軋廠酸軋生產線,生產操作使用的計算機及網絡稱為一級系統,一級系統并沒有配備遠程查看生產畫面、PLC程序等功能,計算機是win2000操作系統,雖然滿足生產要求,但是整個系統非常脆弱,極易受到病毒感染,因此一級系統禁止插入USB存儲設備、禁止連接其他內部網絡,更是禁止連接外部網絡。在這樣一個全封閉的網絡下很難與外界聯系。
在夜晚和節假日期間設備發生故障時,負責設備維護工作的點檢員要快速和盡可能多的掌握生產現場的相關信息,以利于故障響應、排查和處理,而系統本身的脆弱和制度又決定了要放棄通過外網遠程協助這樣直接的方式來。有沒有既能保證內部系統安全,又能使封閉內網與外界進行聯系的方法呢?這就是本文將要描述的一種方式:以串口通訊實現封閉內網與外界通訊的方法。
1 系統的構成和安全的實現
系統由三個部分組成:服務端、中轉端和客戶端。服務端是指:運行在封閉內網某一臺計算機上的一個程序,用來采集數據并通過串口向中轉端發送。中轉端是指:運行在可以聯網的計算機上的一個程序,用來將服務端發送的數據通過網絡轉發到客戶端,同時也可以將客戶端發送的指令轉發到服務端,由于我廠局域網限制,對外網訪問僅限于收發電子郵件,因此中轉端與客戶端的通信是通過電子郵箱中轉??蛻舳耸侵福涸谑謾C或者家用計算機中運行的程序,用來查看數據或者發送指令,服務端和中轉端是要通過編程實現,而客戶端僅需要下載安裝郵箱管理軟件即可。
由于封閉內網與存在風險局域網的兩臺計算機是通過串口通訊,它們之間發送的僅僅是字符數據,這就實現了兩個網絡物理上的隔離,從而保證了安全,同時也實現了數據的交換。
2 串口協議與編程環境
由于RS-232是計算機上普遍存在的串行接口,因此本系統采用的就是RS-232串口通訊,用一條串口數據線將服務端和中轉端的兩個計算機連接起來。在串口通訊之前要設置好相同的參數,因為本系統全部用來傳送字符數據,傳輸速度越快越好,受限于計算機硬件,本系統串口設置的波特率是115200bps,數據位是8位,奇偶校驗無,停止位為1。本系統中的兩個程序都是運行在Windows環境中,而基于Windows的開發工具也很多,比如VB、VC、Delphi等,因為Delphi簡單、高效,同時其包含可視組件類庫VCL,方便程序的開發,本系統采用的是Turbo Delphi。
3 串口通訊程序的編程實現
Delphi的優勢在于其包含的眾多控件,使得用Delphi編制一個串口通訊和郵件收發的程序非常容易,這里串口通訊使用一個第三方控件,串口通訊用到的主要代碼如下:
ComPort1:=TComPort.Create(self);//創建一個ComPort1對象
ComPort1.Port:='COM1';//設定COM端口名稱
ComPort1.BaudRate:=br115200;//設置波特率
ComPort1.DataBits:=dbEight;//設置數據位
Comport1.StopBits:=cport.sbOneStopBit;//設置停止位
Comport1.Parity.Bits:=prNone;//設置奇偶校驗
ComPort1.Open;//打開端口
//現在就可以向串口發送數據
ComPort1.WriteStr('數據');
//在ComPort1RxChar事件讀取字符數據
ComPort1.ReadStr(st,Count);
//在使用完端口后關閉端口
ComPort1.Close;
//程序退出時釋放資源
ComPort1.Free
服務端程序不停的讀取串口數據以及現場數據,收到特定指令字符時或者現場數據滿足特定條件后,收集信息并向中轉端發送,中轉端接收到完整信息后將信息以一封電子郵件的方式發送到特定郵箱。客戶端就是一個郵件客戶端,在手機上就可以查看或發送指令。
4 應用實例
兩種用法,一種是服務端監測關鍵數據,當條件滿足時觸發主動發送數據。另一種是客戶端發送特定指令,服務端收到指令后收集并發送數據。例如:故障停機是我最關心的事件,因此我編制的程序將軋機停機作為觸發條件,當服務端監測到軋機停機超過10分鐘,就會將關鍵的數據轉發出來。當我覺得有必要查看一下報警信息時,我再發送一條含有特定指令的郵件,等待一分鐘左右,我在手機中就可以查看到最新的報警信息,以此做下一步分析。
5 結論
使用本文所描述的使用串口通訊的方式連接一個封閉內網與危險外網的方法,既滿足了封閉內網與外界通訊的需求,又保證了內網計算機及網絡的安全,同時這也是一個幾乎零成本的方法,可以用在很多特殊的地方。
參考文獻:
[1]鄭彪,汪秉文.串口通信在工業控制中的應用[J].自動化儀表,
2002,23(04):58-59.
[2]羅小平.Delphi精要[M].北京:電子工業出版社,2004.
[3]黃軍.Delphi串口通信編程[M].北京:人民郵電出版社,2001.
作者簡介:孫吉平(1983-),男,遼寧本溪人,本科,助理工程師,研究方向:自動化。