Slijede razlike između dviju inačica stranice.
Starije izmjene na obje strane Starija izmjena Novija izmjena | Starija izmjena | ||
racfor_wiki:mrezna_forenzika:mqtt_protokol [2020/01/09 19:15] kvesligaj [Sažetak] |
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. Kako bi se to moglo postići treba međusobno povezati razne uređaje, a tu do izražaja dolazi MQTT (//Message Queue Telemtry | + | Ž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 |
- | Keywords: **MQTT**, **Internet of Things**, | + | 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// | + | 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// |
Redak 34: | 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:// | 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:// | ||
- | |||
- | \\ | ||
- | |||
===== Osnovni koncepti ===== | ===== Osnovni koncepti ===== | ||
Redak 59: | 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 90: | 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 96: | Redak 89: | ||
==== ==== | ==== ==== | ||
+ | |||
+ | \\ | ||
+ | |||
==== Varijabilno zaglavlje ==== | ==== Varijabilno zaglavlje ==== | ||
Redak 107: | 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 115: | Redak 111: | ||
* zastavica za korisničko ime i lozinku - znači da su korisničko ime i lozinka uključeni u sadržaju (// | * zastavica za korisničko ime i lozinku - znači da su korisničko ime i lozinka uključeni u sadržaju (// | ||
- | ==== 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 130: | 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:// |
- | Uredi | + | [2] [[http:// |
- | Uredi | + | [3] [[http:// |
- | ===== Chapter 6 ===== | + | [4] [[http:// |
- | Uredi | + | [5] [[https:// |
- | Uredi | + | [6] [[https:// |
+ | |||
+ | \\ | ||