Π Π°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ IoT Inspector ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
/ ΡΠΎΡΠΎ PD
Π Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° Π²Π΅ΡΠ΅ΠΉ
Π ΠΊΠΎΠ½ΡΠ°Π»ΡΠΈΠ½Π³ΠΎΠ²ΠΎΠΉ ΡΠΈΡΠΌΠ΅ Bain & Company () Π³ΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ c 2017 ΠΏΠΎ 2021 Π³ΠΎΠ΄ ΠΎΠ±ΡΠ΅ΠΌ IoT-ΡΡΠ½ΠΊΠ° ΡΠ²Π΅Π»ΠΈΡΠΈΡΡΡ Π² Π΄Π²Π° ΡΠ°Π·Π°: Ρ 235 Π΄ΠΎ 520 ΠΌΠ»ΡΠ΄ Π΄ΠΎΠ»Π»Π°ΡΠΎΠ². ΠΠ° Π΄ΠΎΠ»Ρ Π³Π°Π΄ΠΆΠ΅ΡΠΎΠ² Π΄Π»Ρ ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ° . Π£ ΡΠΊΡΠΏΠ΅ΡΡΠΎΠ² ΠΏΠΎ ΠΠ ΡΠ°ΠΊΠΈΠ΅ ΡΠ΅ΠΌΠΏΡ ΡΠΎΡΡΠ° Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΎΠΏΠ°ΡΠ΅Π½ΠΈΡ.
ΠΠΎ , Π² 40% ΡΠ»ΡΡΠ°Π΅Π² Ρ
ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½ΠΎ ΡΠΌΠ½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π΅Ρ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ, ΠΏΠΎΠ΄Π²Π΅ΡΠ³Π°ΡΡΡΡ ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π²ΡΡ Π΄ΠΎΠΌΠ°ΡΠ½ΡΡ ΡΠ΅ΡΡ. Π ΠΠ°Π±ΠΎΡΠ°ΡΠΎΡΠΈΠΈ ΠΠ°ΡΠΏΠ΅ΡΡΠΊΠΎΠ³ΠΎ , ΡΡΠΎ Π·Π° ΠΏΠ΅ΡΠ²ΡΠΉ ΠΊΠ²Π°ΡΡΠ°Π» ΠΏΡΠΎΡΠ»ΠΎΠ³ΠΎ Π³ΠΎΠ΄Π° Π½Π° ΡΠΌΠ½ΡΠ΅ Π³Π°Π΄ΠΆΠ΅ΡΡ ΠΎΠ±ΡΡΡΠΈΠ»ΠΎΡΡ Π² ΡΡΠΈ ΡΠ°Π·Π° Π±ΠΎΠ»ΡΡΠ΅ Π°ΡΠ°ΠΊ, ΡΠ΅ΠΌ Π·Π° Π²Π΅ΡΡ 2017 Π³ΠΎΠ΄.
Π§ΡΠΎΠ±Ρ Π·Π°ΡΠΈΡΠΈΡΡ ΡΠΌΠ½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΈ ΠΠ’-ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ ΠΈ Π²ΡΠ·ΠΎΠ² ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ. ΠΈΠ· ΠΡΠΈΠ½ΡΡΠΎΠ½ΡΠΊΠΎΠ³ΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ° ΠΎΡΠΊΡΡΡΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Princeton IoT Inspector. ΠΡΠΎ Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ°Π±ΠΎΡΡ IoT-ΡΡΡΡΠΎΠΉΡΡΠ² Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ°
IoT Inspector ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ IoT-Π΄Π΅Π²Π°ΠΉΡΠΎΠ² Π² ΡΠ΅ΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ . ΠΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΡΡΠ°ΡΠΈΠΊΠ° ΡΡΡΡΠΎΠΉΡΡΠ². Π‘ΠΈΡΡΠ΅ΠΌΠ° ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ΅ΡΠ΅Π²ΠΎΠΌ ΡΡΠ°ΡΠΈΠΊΠ΅ Π΄Π»Ρ Π²ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΎΠ·ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ. ΠΡΠΈ ΡΡΠΎΠΌ ΡΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠ°ΠΊ IP- ΠΈ MAC-Π°Π΄ΡΠ΅ΡΠ° Π½Π΅ ΡΡΠΈΡΡΠ²Π°ΡΡΡΡ.
ΠΡΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ ARP-ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² :
class ArpScan(object):
def __init__(self, host_state):
assert isinstance(host_state, HostState)
self._lock = threading.Lock()
self._active = True
self._thread = threading.Thread(target=self._arp_scan_thread)
self._thread.daemon = True
def start(self):
with self._lock:
self._active = True
utils.log('[ARP Scanning] Starting.')
self._thread.start()
def _arp_scan_thread(self):
utils.restart_upon_crash(self._arp_scan_thread_helper)
def _arp_scan_thread_helper(self):
while True:
for ip in utils.get_network_ip_range():
time.sleep(0.05)
arp_pkt = sc.Ether(dst="ff:ff:ff:ff:ff:ff") /
sc.ARP(pdst=ip, hwdst="ff:ff:ff:ff:ff:ff")
sc.sendp(arp_pkt, verbose=0)
with self._lock:
if not self._active:
return
def stop(self):
utils.log('[ARP Scanning] Stopping.')
with self._lock:
self._active = False
self._thread.join()
utils.log('[ARP Scanning] Stopped.')
ΠΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π² ΡΠ΅ΡΡ, ΡΠ΅ΡΠ²Π΅Ρ IoT Inspector ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ, Ρ ΠΊΠ°ΠΊΠΈΠΌΠΈ ΡΠ°ΠΉΡΠ°ΠΌΠΈ IoT-Π³Π°Π΄ΠΆΠ΅ΡΡ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΊΠ°ΠΊ ΡΠ°ΡΡΠ½ΠΎ ΠΎΠ½ΠΈ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ ΠΎΠ±ΡΡΠΌΠ°Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π²ΡΡΠ²ΠΈΡΡ ΠΏΠΎΠ΄ΠΎΠ·ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΎΡΡΡΠ»Π°ΡΡΡΡ ΠΠ Π±Π΅Π· Π²Π΅Π΄ΠΎΠΌΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΠΎΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄ macOS. Π‘ΠΊΠ°ΡΠ°ΡΡ zip-Π°ΡΡ ΠΈΠ² ΠΌΠΎΠΆΠ½ΠΎ Π½Π° . ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ macOS High Sierra ΠΈΠ»ΠΈ Mojave, Π±ΡΠ°ΡΠ·Π΅Ρ Firefox ΠΈΠ»ΠΈ Chrome. Π Safari ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ .
Π ΡΡΠΎΠΌ Π³ΠΎΠ΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΎΠ±Π΅ΡΠ°Π»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²Π΅ΡΡΠΈΡ Π΄Π»Ρ Linux, Π° Π² ΠΌΠ°Π΅ β ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ Windows. ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ΡΡΡ .
ΠΠΎΡΠ΅Π½ΡΠΈΠ°Π» ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π³ΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΠ’-ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΠΌ ΠΈΡΠΊΠ°ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠΈ IoT-Π΄Π΅Π²Π°ΠΉΡΠΎΠ² ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΠΌΠ½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°. Π£ΠΆΠ΅ ΡΠ΅ΠΉΡΠ°Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΡ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ.
IoT Inspector Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ°ΡΡΠΎ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ, Π΄Π°ΠΆΠ΅ ΠΊΠΎΠ³Π΄Π° ΠΈΠΌΠΈ Π½ΠΈΠΊΡΠΎ Π½Π΅ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ. Π’Π°ΠΊΠΆΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡ ΡΠΌΠ½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΠΌΠ΅Π΄Π»ΡΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ°ΡΡΠΎ ΡΠΊΠ°ΡΠΈΠ²Π°ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ.
Π£ IoT Inspector ΠΏΠΎΠΊΠ° Π΅ΡΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠ΅, Π΅Π³ΠΎ Π΅ΡΠ΅ Π½Π΅ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ Π½Π° Π²ΡΠ΅Ρ IoT-ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠΌΠΈ. ΠΠΎΡΡΠΎΠΌΡ ΡΠ°ΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΠΎΠ΅ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΌΠ½ΡΡ Π³Π°Π΄ΠΆΠ΅ΡΠΎΠ². ΠΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ Π°Π²ΡΠΎΡΡ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΌΠ΅Π΄ΠΈΡΠΈΠ½ΡΠΊΠΈΠΌ Π³Π°Π΄ΠΆΠ΅ΡΠ°ΠΌ.
Π‘Π΅ΠΉΡΠ°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΡΠΎΠΊΡΡΠΈΡΠΎΠ²Π°Π»ΠΈΡΡ Π½Π° ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠΈ Π±Π°Π³ΠΎΠ², Π½ΠΎ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΡΠΈΠ½ΡΡΠΎΠ½ΡΠΊΠΎΠ³ΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ° ΠΏΠ»Π°Π½ΠΈΡΡΠ΅Ρ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π²Π½Π΅Π΄ΡΠΈΡΡ Π² Π½Π΅Π³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ. ΠΠ½ΠΈ ΠΏΠΎΠΌΠΎΠ³ΡΡ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ DDoS-Π°ΡΠ°ΠΊ Π΄ΠΎ 99%. ΠΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΠΈΠ΄Π΅ΡΠΌΠΈ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π² .
ΠΡΡΠ³ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ Π² ΡΡΠ΅ΡΠ΅ IoT
ΠΡΡΠΏΠΏΠ° Π°ΠΌΠ΅ΡΠΈΠΊΠ°Π½ΡΠΊΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΡΡΡΠ΄Π½ΠΈΡΠ°Π΅Ρ Ρ ΠΡΠ½Π½ΠΈ ΠΡΠ΄ΠΌΠ°Π½ΠΎΠΌ (Danny Goodman), Π°Π²ΡΠΎΡΠΎΠΌ ΠΊΠ½ΠΈΠ³ ΠΏΠΎ JavaScript ΠΈ HTML, ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΡΠΊΠΎΡΠΈΡΡΠ΅ΠΌΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° Π²Π΅ΡΠ΅ΠΉ β .
Π¦Π΅Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° β ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ IoT-Π³Π°Π΄ΠΆΠ΅ΡΡ ΡΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ° Π² Π΅Π΄ΠΈΠ½ΡΡ ΡΠ΅ΡΡ ΠΈ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π³ΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΡΠ°Π·Π½ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ ΡΠ°ΡΡΠΎ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ°Π·ΡΠΎΠ·Π½Π΅Π½Π½ΠΎ. Π§ΡΠΎΠ±Ρ ΡΠ΅ΡΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Π°Π²ΡΠΎΡΡ ΠΈΠ½ΠΈΡΠΈΠ°ΡΠΈΠ²Ρ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΠ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠ΅ΡΠ΅Π²ΡΠΌΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°ΠΌΠΈ, Π³Π°Π΄ΠΆΠ΅ΡΠ°ΠΌΠΈ ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ.
Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ Π΄Π΅Π²Π°ΠΉΡΠΎΠ² . Π’Π°ΠΌ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΈ .
ΠΡΡΠ³ΠΎΠΉ ΠΎΡΠΊΡΡΡΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ β . ΠΠ²ΡΠΎΡΡ ΠΈΠ½ΠΈΡΠΈΠ°ΡΠΈΠ²Ρ Π΄Π΅Π»ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ IoT-ΡΠ΅ΡΠΈ Π½Π° Π±Π°Π·Π΅ Raspberry Pi. ΠΠ° ΡΠ°ΠΉΡΠ΅ Π΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ², Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΡΠ΅ΡΡ ΠΈΠ· Π΄Π°ΡΡΠΈΠΊΠΎΠ² , , Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ .

/ ΡΠΎΡΠΎ PD
ΠΡΠ΄ΡΡΠ΅Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ
ΠΠ° IoT-ΡΡΠ½ΠΊΠ΅ Π²ΡΠ΅ ΡΠ°ΡΠ΅ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΠΎΠΏΠ΅Π½ΡΠΎΡΡΠ½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ. Π Linux Foundation, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΡΡΠ΅ΡΠ΅ IoT (ΠΎΠ½ΠΈ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ), Π³ΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΡΡΠΈΡΠ°ΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΠΌΠΈ. Π’Π°ΠΊΠΎΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Π² ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΡΠ°ΡΡΠ²ΡΠ΅Ρ Β«ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠ°Π·ΡΠΌΒ» ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° ΡΠΊΡΠΏΠ΅ΡΡΠΎΠ² ΠΏΠΎ ΠΠ. ΠΠ· Π²ΡΠ΅Π³ΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ²ΠΎΠ΄, ΡΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡΡ Π²ΡΠΎΠ΄Π΅ IoT Inspector Π±ΡΠ΄ΡΡ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π²ΡΠ΅ ΡΠ°ΡΠ΅ ΠΈ ΠΏΠΎΠΌΠΎΠ³ΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎΡ ΡΠ΅Π³ΠΌΠ΅Π½Ρ ΡΡΡΡΠΎΠΉΡΡΠ² Π±ΠΎΠ»Π΅Π΅ Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΠΌ.
ΠΠΎΡΡΡ ΠΈΠ· ΠΠ΅ΡΠ²ΠΎΠ³ΠΎ Π±Π»ΠΎΠ³Π° ΠΎ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠΌ IaaS:
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com
