Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.

Razlike

Slijede razlike između dviju inačica stranice.

Poveznica na ovu usporedbu

Starije izmjene na obje strane Starija izmjena
Novija izmjena
Starija izmjena
racfor_wiki:mrezna_forenzika:mqtt_protokol [2020/01/09 17:03]
kvesligaj [Sigurnost]
racfor_wiki:mrezna_forenzika:mqtt_protokol [2024/12/05 12:24] (trenutno)
Redak 1: Redak 1:
 ====== MQTT protokol ====== ====== MQTT protokol ======
- 
  
 ===== Sažetak ===== ===== Sažetak =====
  
-Živimo u vremenu kada nastojimo sve uređaje povezati na internet i integrirati u jednu cjelinu koju je onda lagano kontrolirati od bilo gdje na svijetu. U ubrzanom svijetu u kakvom živimo postoji potreba za nekom standardizacijom koja olakšava +Živimo u vremenu kada nastojimo sve uređaje povezati na internet i integrirati u jednu cjelinu koju je onda lagano kontrolirati od bilo gdje na svijetu. Kako bi se to moglo postići treba međusobno povezati razne uređaje, a tu do izražaja dolazi MQTT (//Message Queue Telemetry Transport//) protokol koji je osmišljen sa idejama da bude jednostavan za implementaciju, troši malo energije i da bude izrazito efikasan. U ovom je radu detaljno objašnjen način rada protokolaa napravljen je i kratki osvrt na sigurnost ovog protokola što je bitna stavka pošto je danas toliko rasprostranjen.
- +
-Keywords: **MQTT****Internet of Things**, +
- +
-Uredi+
  
-Uredi+Keywords: **MQTT**, **Internet of Things**
  
  
 ===== Uvod ===== ===== Uvod =====
  
-Napretkom tehnologije svijet teži tome da se svi uređaji u nečijem posjedu međusobno povežu na internet kako bi se omogućila kontrola i nadzor svih tih uređaja od bilo gdje na svijetu, to je osnovna ideja iza tzv. //Internet of Things//. Kod takvih se mreža javlja potreba za komunikacijom između uređaja koja je u pravilu bežična, a dimenzije čim manje zbog čega je svako iole kompliciranije rješenje teško izvedivo. Upravo radi takvih situacija je osmišljen MQTT (//MQ Telemetry Transport//) koji je prvotno bio namijenjen za specifični problem nadziranja cjevovoda u pustinji gdje je bio potreban način prijenosa podataka koji će biti efikasan, jednostavan i koristiti čim manje električne energije. Ovaj komunikacijski protokol funkcionira na principu //Publish/Subscribe, //a zbog jednostavnosti implementacije postao je iznimno popularan pogotovo pri izradi raznih //Home Automation //sustava, a s druge strane radi tih karakteristika ga koristi i primjerice Facebook Messenger.+Napretkom tehnologije svijet teži tome da se svi uređaji u nečijem posjedu međusobno povežu na internet kako bi se omogućila kontrola i nadzor svih tih uređaja od bilo gdje na svijetu, to je osnovna ideja iza tzv. //Internet of Things//. Kod takvih se mreža javlja potreba za komunikacijom između uređaja koja je u pravilu bežična, a dimenzije čim manje zbog čega je svako iole kompliciranije rješenje teško izvedivo. Upravo radi takvih situacija je osmišljen MQTT (//MQ Telemetry Transport//) koji je prvotno bio namijenjen za specifični problem nadziranja naftovoda u pustinji gdje je bio potreban način prijenosa podataka koji će biti efikasan, jednostavan i koristiti čim manje električne energije. Ovaj komunikacijski protokol funkcionira na principu //Publish/Subscribe, //a zbog jednostavnosti implementacije postao je iznimno popularan pogotovo pri izradi raznih //Home Automation //sustava, a s druge strane radi tih karakteristika ga koristi i primjerice Facebook Messenger.
  
  
Redak 38: Redak 33:
  
 Također je moguće koristiti gotove i javno dostupne MQTT brokere od kojih se informacije o nekima od njih nalaze na sljedećim web stranicama: [[http://iot.eclipse.org|Eclipse IoT]], [[http://test.mosquitto.org|Mosquitto]], [[http://broker.mqttdashboard.com|MQTT Dashboard]] Također je moguće koristiti gotove i javno dostupne MQTT brokere od kojih se informacije o nekima od njih nalaze na sljedećim web stranicama: [[http://iot.eclipse.org|Eclipse IoT]], [[http://test.mosquitto.org|Mosquitto]], [[http://broker.mqttdashboard.com|MQTT Dashboard]]
- 
-\\ 
- 
  
 ===== Osnovni koncepti ===== ===== Osnovni koncepti =====
Redak 63: Redak 55:
  
 Ova funkcija omogućava da klijent napiše poruku koja će biti objavljena (broker će objaviti) u predviđenu temu ukoliko se dogodi nenadani prekid veze. Ova mogućnost je veoma korisna jer je moguće obavijestiti korisnika o prestanku rada čvora što se zna dosta često dogoditi. Ova funkcija omogućava da klijent napiše poruku koja će biti objavljena (broker će objaviti) u predviđenu temu ukoliko se dogodi nenadani prekid veze. Ova mogućnost je veoma korisna jer je moguće obavijestiti korisnika o prestanku rada čvora što se zna dosta često dogoditi.
- 
-\\ 
- 
  
 ===== Struktura MQTT paketa ===== ===== Struktura MQTT paketa =====
Redak 94: Redak 83:
 |UNSUBSCRIBE|10|klijent → broker|zahtjev za otkazivanje pretplate| |UNSUBSCRIBE|10|klijent → broker|zahtjev za otkazivanje pretplate|
 |UNSUBACK|11|broker → klijent|potvrda za otkazivanje pretplate| |UNSUBACK|11|broker → klijent|potvrda za otkazivanje pretplate|
-\\ PINGREQ|12|klijent → broker|zahtjev za odaziv|+ PINGREQ|12|klijent → broker|zahtjev za odaziv|
 |PINGRESP|13|broker → klijent|odgovor na odaziv| |PINGRESP|13|broker → klijent|odgovor na odaziv|
 |DISCONNECT|14|klijent → broker|klijent prekida vezu| |DISCONNECT|14|klijent → broker|klijent prekida vezu|
Redak 100: Redak 89:
  
 ====   ==== ====   ====
 +
 +\\
 +
  
 ==== Varijabilno zaglavlje ==== ==== Varijabilno zaglavlje ====
Redak 111: Redak 103:
   * naziv teme   * naziv teme
  
-=== Specifične zastavice  ===+=== Specifične zastavice ===
  
   * zastavica čiste sesije - broker mora pohraniti pretplate klijenta   * zastavica čiste sesije - broker mora pohraniti pretplate klijenta
Redak 119: Redak 111:
   * zastavica za korisničko ime i lozinku - znači da su korisničko ime i lozinka uključeni u sadržaju (//Payload//)   * zastavica za korisničko ime i lozinku - znači da su korisničko ime i lozinka uključeni u sadržaju (//Payload//)
  
-==== Sadržaj (  Payload  ) ====+==== Sadržaj ( Payload ) ====
  
-Samo neki MQTT paketi sadrže sadržaj. Znamo da očito sadržaj sadrži PUBLISH tip poruke u kojem se nalazi sam sadržaj koji klijent želi objaviti u neku temu. Osim njega, sadržaj sadrži i CONNECT paket kojemu se u sadržaju mogu nalaziti: jedinstveni ID, tema oporkuke, poruka oporuke, korisničko ime i lozinka. Također sadržaj ima i SUBSCRIBE poruka koja na taj način prenosi teme na koje se želi klijent pretplatiti i QoS kojim želi komunicirati sa brokerom. +Samo neki MQTT paketi sadrže sadržaj. Znamo da očito sadržaj sadrži PUBLISH tip poruke u kojem se nalazi sam sadržaj koji klijent želi objaviti u neku temu. Osim njega, sadržaj sadrži i CONNECT paket kojemu se u sadržaju mogu nalaziti: jedinstveni ID, tema oporuke, poruka oporuke, korisničko ime i lozinka. Također sadržaj ima i SUBSCRIBE poruka koja na taj način prenosi teme na koje se želi klijent pretplatiti i QoS kojim želi komunicirati sa brokerom.
- +
-\\+
  
  
Redak 134: Redak 124:
 Takvom zaštitom se štite poruke i unatoč npr. //Man in the middle //napada podaci štite jer nitko bez ključa ne može pročitati podatke tj. sigurnost ovisi o samoj sigurnosti TLS/SSL protokola. Takvom zaštitom se štite poruke i unatoč npr. //Man in the middle //napada podaci štite jer nitko bez ključa ne može pročitati podatke tj. sigurnost ovisi o samoj sigurnosti TLS/SSL protokola.
  
 +===== Izvori =====
  
-===== Chapter 5 =====+[1] [[https://en.wikipedia.org/wiki/MQTT</font|https://en.wikipedia.org/wiki/MQTT]]
  
-Uredi+[2] [[http://www.steves-internet-guide.com/mqtt/</font|http://www.steves-internet-guide.com/mqtt/]]
  
-Uredi+[3] [[http://www.steves-internet-guide.com/mqtt-security-mechanisms/</font|http://www.steves-internet-guide.com/mqtt-security-mechanisms/]]
  
-===== Chapter 6 =====+[4] [[http://www.steves-internet-guide.com/mqtt-protocol-messages-overview/</font|http://www.steves-internet-guide.com/mqtt-protocol-messages-overview/]]
  
-Uredi+[5] [[https://docs.solace.com/MQTT-311-Prtl-Conformance-Spec/MQTT%20Control%20Packet%20format.htm|https://docs.solace.com/MQTT-311-Prtl-Conformance-Spec/MQTT%20Control%20Packet%20format.htm]]
  
-Uredi+[6] [[https://repozitorij.unin.hr/islandora/object/unin:1915/datastream/PDF/view|Izvedba i testiranje komunikacijskog sustava baziranog na MQTT protokolu]], Dario Košutar, 2018 
 + 
 +\\
  
  
racfor_wiki/mrezna_forenzika/mqtt_protokol.1578589422.txt.gz · Zadnja izmjena: 2024/12/05 12:23 (vanjsko uređivanje)
Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0