bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


Barra lateral

ASIX Administració de Sistemes Informàtics i Xarxes
Tots els mòduls del cicle
MP01 Implantació de sistemes operatius
Totes les UFs del modul
MP02 Gestió de bases de dades
Totes les UFs del modul
MP03 Programació bàsica
Totes les UFs del modul
MP04 Llenguatges de marques i sistemes de gestió d'informació
Totes les UFs del modul
MP05 Fonaments de maquinari
Totes les UFs del modul
MP06 Administració de sistemes operatius
Totes les UFs del modul
MP07 Planificació i administració de xarxes
Totes les UFs del modul
MP08 Serveis de xarxa i Internet
Totes les UFs del modul
MP09 Implantació d'aplicacions web
Totes les UFs del modul
MP10 Administració de sistemes gestors de bases de dades
Totes les UFs del modul
MP11 Seguretat i alta disponibilitat
Totes les UFs del modul
MP12 Formació i orientació laboral
Totes les UFs del modul
MP13 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP14 Projecte
Totes les UFs del modul
DAM Desenvolupament d’aplicacions multiplataforma
Tots els mòduls del cicle
MP01 Sistemes informàtics
Totes les UFs del modul
MP02 Bases de dades
Totes les UFs del modul
MP03 Programació bàsica
Totes les UFs del modul
MP04 Llenguatges de marques i sistemes de gestió d'informació
Totes les UFs del modul
MP05 Entorns de desenvolupament
Totes les UFs del modul
MP06 Accés a dades
Totes les UFs del modul
MP07 Desenvolupament d’interfícies
Totes les UFs del modul
MP08 Programació multimèdia i dispositius mòbils
Totes les UFs del modul
MP09 Programació de serveis i processos
Totes les UFs del modul
MP10 Sistemes de gestió empresarial
Totes les UFs del modul
MP11 Formació i orientació laboral
Totes les UFs del modul
MP12 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP13 Projecte de síntesi
Totes les UFs del modul
MPDual Mòdul Dual / Projecte
DAW Desenvolupament d’aplicacions web
Tots els mòduls del cicle
MP01 Sistemes informàtics
Totes les UFs del modul
MP02 Bases de dades
Totes les UFs del modul
MP03 Programació
Totes les UFs del modul
MP04 Llenguatge de marques i sistemes de gestió d’informació
Totes les UFs del modul
MP05 Entorns de desenvolupament
Totes les UFs del modul
MP06 Desenvolupament web en entorn client
Totes les UFs del modul
MP07 Desenvolupament web en entorn servidor
Totes les UFs del modul
MP08 Desplegament d'aplicacions web
Totes les UFs del modul
MP09 Disseny d'interfícies web
Totes les UFs del modul
MP10 Formació i Orientació Laboral
Totes les UFs del modul
MP11 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP12 Projecte de síntesi
Totes les UFs del modul
SMX Sistemes Microinformàtics i Xarxes
Tots els mòduls del cicle
MP01 Muntatge i manteniment d’equips
Totes les UFs del modul
MP02 Sistemes Operatius Monolloc
Totes les UFs del modul
MP03 Aplicacions ofimàtiques
Totes les UFs del modul
MP04 Sistemes operatius en xarxa
Totes les UFs del modul
MP05 Xarxes locals
Totes les UFs del modul
MP06 Seguretat informàtica
Totes les UFs del modul
MP07 Serveis de xarxa
Totes les UFs del modul
MP08 Aplicacions Web
Totes les UFs del modul
MP09 Formació i Orientació Laboral
Totes les UFs del modul
MP10 Empresa i iniciativa emprenedora
Totes les UFs del modul
MP11 Anglès
Totes les UFs del modul
MP12 Síntesi
Totes les UFs del modul
CETI Ciberseguretat en Entorns de les Tecnologies de la Informació
Tots els mòduls del cicle
CiberOT Ciberseguretat en Entorns d'Operació
Tots els mòduls del cicle
simulacio_de_dispositius_ot

CONSTRUCCIÓ DE UN ENTORN DE SIMULACIÓ DE DISPOSITIUS INDUSTRIALS OT

En aquest taller aprendràs a desplegar un entorn de simulació de dispositius industrials OT, instal·lant simuladors del protocol Modbus TCP i del protocol s7comm que utilitzen els dispositius Siemens.

Utilitzarem les aplicacions QModMaster i Modbuspal amb les eines Snap7 que simulen dispositius Siemens per simular un entorn industrial.

Per comprovar el funcionament configurarem les eines d'escaneig actiu utilitzant les aplicacions NMap i PLCScan. I finalment proposem realitzar 3 exercicis.

Introducció

Aquest taller està separat en dues parts

En la primera part instal·larem un grup d'eines que et permetran simular les comunicacions que es generen en dispositius que utilitzen el protocol Modbus, en concret Modbus TCP. Aquests dispositius simularan un Mestre Modbus, que és el que realitza la petició i la consulta de la informació que emmagatzema l'Esclau Modbus, i un Esclau Modbus que és el que rep les peticions i envia la informació al Mestre Modbus, com faria un PLC Industrial.

En la segona que instal·larem les eines necessàries per simular un dispositiu PLC Siemens, amb el paquet de programariSnap7. Aquest paquet de programari està format per dues aplicacions de tipus client/servidor i ambdues en conjunt simulen el funcionament d'un dispositiu PLC Siemens.

Requeriments previs

Abans de començar a treballar s'ha de tenir instal·lat a l'ordinador els programes Oracle VM VirtualBox 7.0 i dins, almenys una màquina virtual de Ubuntu 20_04 LTS.

Descàrregues que utilitzarem per realitzar l'entorn industrial virtual:

Preparació de l'entorn

En primer lloc executa les instruccions que et permeten la actualització dels paquets de programari del repositori:

$ sudo apt update
$ sudo apt upgrade

Un cop tens els repositoris actualitzats, instal·la el paquet net-tools per poder utilitzar l'ordre ifconfig que tornarà tota la informació de la interfície de xarxa que utilitzeu, com la adreça IP.

$ sudo apt install net-tools

Ara hem d'instal·lar 2 paquets de software qt5 i qtcreator, que formen part del framework multiplataforma per desenvolupar aplicacions gràfiques Qt, necessaris per la aplicació QModMaster

$ sudo apt install qt5-default
$ sudo apt install qtcreator

Per últim, instal·lem el paquet de software «g++» (compilador de C++ de GNU):

§ sudo apt install g++

QModMaster (dispositiu mestre Modbus)

Descarrega i descomprimeix l'arxiu qModMaster-code-0.5.2-3.zip a la carpeta Documents i crea una carpeta «build». que es on construirem el programa executable qModMaster.pro:

§ cd qModMaster-code-0.5.2-3/
§ mkdir build
§ cd build/
§ qmake ../qModMaster.pro
§ make

Copiem la carpeta ManModbus de forma recursiva i executem el programa:

§ cp -r ../ManModbus/ ManModbus
§ ./qModMaster

Es pot observar la següent finestra de l'aplicació QModMaster:

Modbuspal (simulador esclau de Modbus)

Obre un nou terminal i realitza l'instal·lació del paquet de software per a màquines virtuals de Java:

§ sudo apt install default-jre 

Descarrega i descomprimeix l'arxiu modbuspal.jar a la nova carpeta modbuspal, deprés executa l'arxiu ModbusPal.jar:

§ mkdir Documentos/modbuspal 
§ cp Descargas/ModbusPal.jar Documentos/modbuspal/
§ cd Documentos/modbuspal/
§ sudo java -jar ModbusPal.jar

Ara ja tenim el simulador de dispositius ModbusPal amb el qual, més endavant, crearem els nostres esclaus:

Snap7 Client (eines de simulació de dispositius Siemens)

Aquest paquet de programari està format per dues aplicacions de tipus client/servidor i totes dues en conjunt simulen el funcionament d'un dispositiu PLC Siemens. La primera és l'aplicació Snap7 Server Demo i és la que exerceix el rol de dispositiu PLC i subministra les dades quan li són sol·licitades.

La segona aplicació és l'encarregada d'interactuar amb aquest PLC com a client i interfície per mostrar tota la informació del mateix.

Obre un nou terminal i realitza en primer lloc l'instal·lació del paquet de software python 3 pip, necessari pel funcionament de Sanp7

§ sudo apt install python3-pip

Descarrega i descomprimeix l'arxiu snap7-full-1.4.2: a Documents, després compila l'arxiu dins del nostre sistema Linux de 64 bits:

§ cd Documentos/snap7-full-1.4.2/build/unix/
§ make -f x86_64_linux.mk
§ cd ../bin/x86_64-linux/
§ sudo cp libsnap7.so /usr/lib

Hem de crear els vincles necessaris per les biblioteques compartides amb ldconfig i donar permisos d'execució a les dues aplicacions d'Snap7

§ sudo ldconfig
§ cd ../../../rich-demos/x86_64-linux/bin/
§ chmod u+x clientdemo
§ chmod u+x serverdemo

Ara ja podem executar les 2 aplicacions, abans hem de executar ifconfig per esbrinar la IP de l'adaptador de xarxa de la MV Ubuntu. En el nostre cas la direcció IP és la 10.0.2.15:

Primer, executa l'aplicació «serverdemo» :

sudo ./serverdemo

Segon, en un nou terminal, executa l'aplicació Client Demo :

§ cd Documentos/snap7-full-1.4.2/rich-demos/x86_64-linux/bin/
§ ./clientdemo

Per comprovar que funciona hem de posar la direcció IP 10.0.2.15 i a l'entrada «Connect as«, escollim S7 BASIC. Si fem click sobre el botó «Connect» veurem que es connecta i ara a la pestanya «Control» podem realitzar operació de parada del PLC (Stop) i arrancada del PLC (Start):

Es important per tornar a arrencar el PLC, premer el botó «Hot Restart« i si vols desconectar prems en aquest ordre al botó de «Disconnect» (a l'aplicació Snap 7 Client Demo) i «Stop» (a l'aplicació Snap 7 Server Demo).

Configuració d'eines de escaneig actiu (NMAP I PLCSCAN)

Obre un nou terminal i instal·lem i verifiquem el paquet de software Nmap:

§ sudo apt install nmap
§ nmap -V
§ sudo apt install git

Per utilitzar l'eina PLCscan clonarem a la carpeta «Documentos» el repositori del GitHub, seguidament per poder exectar-lo hem d'instal·lar python2


§ git clone https://github.com/meeas/plcscan
§ cd Documentos
§ sudo apt install python2
§ cd plcscan/
§ python2 plcscan.py

Exercicis proposats

Exercici 1. Creació de l'esclau núm. 1 MODBUS i lectura de COILS

En aquest apartat crearem un esclau a l'aplicació ModbusPal i establirem la comunicació Modbus TCP amb l'aplicació QModMaster per a la lectura de les dades.

Les coils són noms d'adreces de memòria, és a dir, són registres o noms de variables predefinides de tipus booleà, i que poden ser llegides o escrites. • Els holding registers, igual que els coils, són noms d'adreces de memòria que permeten emmagatzemar dades de tipus integer (és a dir, nombres enters).

Exercici 2. Creació de l'esclau núm. 2 MODBUS i realitza una lectura de HOLDING REGISTERS

En aquest apartat es crearà un segon esclau amb l'aplicació Modbuspal (com has vist anteriorment) i s'establirà la comunicació Modbus TCP amb l'aplicació QModMaster per a la lectura de les dades del Holding register de l'esclau nº1 que heu creat anteriorment i d'un nou Holding register que crearem a l'esclau nº2.

Exercici 3. Escaneig de dispositius que utilitzen el protocol Modbus amb l'eina PLCSCAN

En aquest apartat s'utilitzarà l'eina PLCScan per a realitzar la identificació de dispositius que utilitzen el protocol Modbus TCP, així com els dispositius Siemens que utilitzen el protocol de comunicació s7comm

simulacio_de_dispositius_ot.txt · Darrera modificació: 2023/06/28 16:56 per carlos_garcia_calvo