loader
Foto

OPC UA vizsgálata a virtuális PLC-n, FreeOpcUa telepítése

Ez az ipari protokoll egyre népszerűbb az ipari rendszerek gyártói körében. Ezért megnézzük most az alapokat, amelyek ahhoz szükségesek, hogy ennek a kommunikációs protkollnak a gyakorlati megismerése sikeres legyen. A korábbi cikkünkben elkészítettük azt a tesztelési környezetet, amely tartalmaz OPC UA  vizsgálati lehetőséget is.

Ez az ipari protokoll (OPC UA - Open Platform Communications Unified Architecture) egyre népszerűbb az ipari rendszerek üzemeltetői körében. Ezért megnézzük most az alapokat, amelyek ahhoz szükségesek, hogy ennek a kommunikációs protokollnak a gyakorlati megismerése sikeres legyen. Sajnos nagyon sok olyan ipari vezérlő van, amely még nem tartalmazza ennek a protokollnak a használati lehetőségét. Ezért ezt is emulálni fogjuk, a Python nyelvet fogjuk alkalmazni.
A korábbi cikkünkben elkészítettük azt a tesztelési környezetet, amely tartalmaz OPC UA  tesztelési lehetőséget is.
Indítsuk el tehát a virtuális gépünket, amely a PLC emulálásához szükésges, illetve a Kali Linux-ot is. Fontos az, hogy ez a két virtuális gép egy hálózati tartományban legyen.

A Kli Linux-on található "netdiscover" alkalmazással derítsük fel a hálózati eszközöket, ehhez a következő utasítás kiadása szükséges.

sudo netdiscover

Természetesen megadható egy adott IP címtartomány is a "-r"  kapcsoló segítségével.

kep
1. ábra   Hálózat felderítése
 

Már ismert a virtuális PLC IP címe, lépjünk be a másik virtuális gépbe, és a terminálablakban adjuk ki a következő utasítást, azaz, indítsuk el a Python-t. A "sudo" azért kell, mert a python kódunknak fontos a hálózati kártya elérése.

sudo python3

 

A Python felületén már lehetőségünk nyílt arra, hogy elindítsuk az OPC UA szervert. Írjuk be a következő kódsorokat.

import opcua
serverOPCUA = opcua.server.server.Server()
serverOPCUA.start()

Látható a következő ábrán, hogy az OPC UA szerver létrehozása és elindítása sikeres volt, a létrehozott szerver a 4840-es porton hallgatózik.

kep
2. ábra   Az OPCUA szerver elindítása a virtuális gépen
 

Működik az Ubuntu virtuális gépen az OPC UA kommunikációs protokoll emulálása, most a Kali Linuxon derítsük fel az emulált PLC nyitott portjait. Használjuk ehhez az nmap-ot a "-p-" kapcsolóval azért, hogy minden port állapota vizsgálatra kerüljön..

sudo nmap -p- 192.168.56.111

A 3. ábrán látható a port scan eredménye, és  a 4840-es port is nyitott, tehát egy kliens már kapcsolódni tud az emulált PLC-hez.

kep
3. ábra   A céleszköz (virtuális PLC) nyitott portjai
 

A port scan egy részlete látható a következő ábrán.

kep
4. ábra   Port scan a hálózati forgalomban
 

Hiába van OPC UA szerver, jelenleg nem tudjuk használni, mert kell egy kliens, amelyik képes kommunikálni a szerverrel. A port scan is TCP protokollt alkalmazott, de az OPC UA nem jelent meg a hálózati forgalomban.
Ezért készíteni kell egy klienst, amely képes kapcsolódni a szerverhez. Későbbi cikkeink egyikében fogunk egy OPC UA klienst készíteni, de most egy kész alkalmazást fogunk a Kali Linuxra telepíteni.

A FreeOpcUa klienst fogjuk alkalmazni, a telepítéshez a terminál ablakban adjuk ki a következő utasítást azért, hogy a github-ról lemásoljuk a forráskódokat.

git clone https://github.com/FreeOpcUa/opcua-client-gui.git

kep
5. ábra   OPCUA kliens telepítésre a vizsgáló gépre, a Kali Linux-ra
 

Lépjünk be az "opcua-client-gui" könvtárba, és nézzük meg a tartalmát.

ls -l

kep
6. ábra   A letöltött könyvtár tartalma
 

A telepítéshez a következő utasítás szükséges.

sudo python3 setup.py install

kep
7. ábra   Telepítés menete
 

A siikeres telepítés után már elindítható az OPC UA kliens.. Ennek az alkalmazásnak a futtatásához szükséges a root jogok használata a hálózati kártya használata miatt, ezért így indítsuk el a FreeOpcUa klienst.

sudo opcua-client

kep
8. ábra   A telepített OPCUA kliens elindítása
 

A kliens elindítása után megjelenik a FreeOpcUa kliens grafikus felülete.

kep
9. ábra   FreeOpcUa Client felülete
 

A sorozatunk következő részében ezt az alkalmazást fogjuk használni az OPC UA gyakorlati megismerése során.

 



Egyéb cikkek

További cikkeink ebben a témakörben

Régebbi cikkeink

Az nmap (grafikus megjelenítésnél a ZenMap) használata az IT biztonság, illetve az üzemeltetés területén dolgozó szakembereknél szinte elkerülhetetlen. Az ingyenes szoftver segítségével tesztelhetők a számítógépeink, a számítógéphálózatunk, vizsgálha. . . .

A Python programozási nyelv nagyon elterjedt a fejlesztők körében. Használják beágyazott rendszereknél, webes alkalmazásoknál, IT biztonság különböző területein, stb. Látható, hogy nagyon széles a felhasználási területe ennek a nyelvnek, ideje volt m. . . .

Bemutatjuk most a saját (!) Wifi-s hálózatunk tesztelésének az alapjait. Megnézzük, hogy hogyan lehet biztonságos jelszót választani. Feltörhetetlen rendszer nem létezik, de megismerve a tesztelés folyamatát, válaszokat kaphatunk arra vonatkozólag, h. . . .