ืืืจ ืืขืจืฆืืืื ืืืจ ืืืึธืก IoT Inspector ืืื ืืื ืืื ืขืก ืึทืจืืขื.
/ ืคืึธืืึธ
ืืืขืื Internet of Things ืืืืขืจืืืื
ืืื ืื ืงืึทื ืกืึทืืืื ื ืคืืจืืข Bain & Company (
ืืืืฃ
ืฆื ืืึทืฉืืฆื ืกืืึทืจื ืืขืืืืกืขืก, ืขืืคึผืืืืื ืคืื IT ืงืึธืืคึผืึทื ืืขืก ืืื ืืื ืืืืขืจืกืืืขืื ืึทื ืืืืืงืืขื ื ืืึทืข ืืืืืืืืืจื ืืืฉืืจืื.
ืืื ืื ืกืืกืืขื ืึทืจืืขื
IoT Inspector ืืึธื ืืืึธืจืก ืื ืืขืืืงืืื ืคืื IoT ืืขืืืืกืขืก ืืืืฃ ืื ื ืขืฅ ื ืืฆื ืืขืื ืึธืืึธืืืข
ืืืขื ืฉืืงื 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. ืืืจ ืงืขื ืขื ืืจืืคืงืืคืืข ืื ืคืึทืจืฉืืขืกืืขื ืึทืจืงืืืื ืืืึท
ืืขื ืืึธืจ, ืื ืืขืืืขืืึธืคึผืขืจืก ืฆืืืขืืืื ืฆื ืืืืื ืึท ืืืขืจืกืืข ืคึฟืึทืจ ืืื ืืงืก, ืืื ืืื - ืึท ืึทืคึผืืึทืงืืืฉืึทื ืคึฟืึทืจ ืืืื ืืึธืื. ืืขืจ ืคึผืจืืืขืงื ืืงืืจ ืงืึธื ืืื ืื ืืืฆื
ืคึผืึธืืขื ืฆืืขื ืืื ืืืกืึทืืืืึทื ืืืืืฉืื
ืื ืืขืืืขืืึธืคึผืขืจืก ืืึธืื ืึทื ืื ืกืืกืืขื ืืืขื ืืขืืคึฟื IT ืงืึธืืคึผืึทื ืืขืก ืงืืงื ืคึฟืึทืจ ืืืึทืื ืขืจืึทืืืืืืื ืืื ืื ืืืืืืืืืจื ืคืื IoT ืืขืืืืกืขืก ืืื ืืึทืื ืืขืจ ืืืืขืจ ืกืืึทืจื ืืขืืืืกืขืก. ืื ืืขืฆืืึทื ืงืขื ืขื ืฉืืื ืืขืืขืงื ืืืึทืื ืขืจืึทืืืืืืื ืคืื ืืืืขืจืืืื ืืื ืคืึธืจืฉืืขืืื ื.
IoT Inspector ืืขืคืื ื ืืขืืืืกืขืก ืืืึธืก ืืืขืจืืขืื ืฆื ืึธืคื, ืืคืืื ืืืขื ืงืืื ืขืจ ื ืืฆื ืืื. ืื ืืขืฆืืึทื ืืืื ืืขืืคึผืก ืฆื ืืขืืขืงื ืกืืึทืจื ืืขืืืืกืขืก ืืืึธืก ืกืืึธืืื ื ืื ื ืขืฅ, ืึทืืึท ืืื ืืึทืื ืืึธืืืื ื ืืขืจืืืึทื ืืืงืื ืืขื ืฆื ืึธืคื.
IoT Inspector ื ืึธื ืืื ืขืืืขืืข ืืืกืึธืจื. ืืื ื ืื ืึทืคึผืืึทืงืืืฉืึทื ืืื ืืงืกืคึผืขืจืืขื ืึทื, ืขืก ืืื ื ืึธื ื ืืฉื ืืขืกืืขื ืืืืฃ ืึทืืข IoT ืืขืืืืกืขืก ืืื ืคืึทืจืฉืืืขื ืข ืงืึทื ืคืืืืขืจืืืฉืึทื ื. ืืขืจืืืขืจ, ืื ืืขืฆืืึทื ืืื ืงืขื ืขื ืืึธืื ืึท ื ืขืืึทืืืื ืคึผืจืึทื ืืืืฃ ืื ืคืึธืจืฉืืขืืื ื ืคืื ืงืืื ืืึทืืืฉืึทืฅ. ืคึฟืึทืจ ืืขื ืกืืื, ืื ืืืืจืื ืืึธื ื ืืฉื ืจืขืงืึธืืขื ืืืจื ืงืึทื ืขืงืืื ื ืื ืึทืคึผืืึทืงืืืฉืึทื ืฆื ืืขืืืฆืื ืืฉ ืืึทืืืฉืึทืฅ.
ืืืฆื ืื ืืขืืืขืืึธืคึผืขืจืก ืืขื ืขื ืคืึธืืงืืกื ืืืืฃ ืืืืืึทื ืืืืื ื ืืึทืื, ืึธืืขืจ ืืื ืืขืจ ืฆืืงืื ืคึฟื ืื ืคึผืจืื ืกืืึทื ืืื ืืืืขืจืกืืืขื ืืึทื ืฉืึทืคึฟื ืคึผืืึทื ื ืฆื ืืงืกืคึผืึทื ื ืื ืคืึทื ืืงืฉืึทื ืึทืืืื ืคืื ืืืืขืจ ืึทืคึผืืึทืงืืืฉืึทื ืืื ืืึทืงืขื ืขื ืืึทืฉืื ืืขืจื ืขื ืึทืืืขืจืืืึทืื ืืื ืขืก. ืืื ืืืขืื ืืขืืคึฟื ืคืึทืจืืจืขืกืขืจื ืื ืืึทืฉืืึธืขืก ืคืื ืืืืขืงืืื ื DDoS ืื ืคืืื ืฆื 99%. ืืืจ ืงืขื ืขื ืืึทืงืืืขื ืืึทืงืึทื ื ืืื ืึทืืข ืื ืืขืืื ืงืขื ืคืื ืจืืกืขืจืืฉืขืจื ืืื
ืื ืืขืจืข IoT ืคึผืจืึทืืืฉืขืงืก
ื ืืจืืคึผืข ืคืื โโืืืขืจืืงืื ืขืจ ืืขืืืขืืึธืคึผืขืจืก ืืืึธืก ืืืืึทืจืืขืื ืืื Danny Goodman, ืืืืจ ืคืื ืืืืขืจ ืืืืฃ ืืืฉืึทืืืึทืกืงืจืืคึผื ืืื HTML, ืฉืึทืคึฟื ืึท ืืขืฆืืึทื ืคึฟืึทืจ ืืึธื ืืืึธืจืื ื ืื ืืื ืืขืจื ืขื ืคืื ืืืื ืืก ืืงืึธืืกืืกืืึทื -
ืืขืจ ืฆืื ืคืื ืื ืคึผืจืืืขืงื ืืื ืฆื ืคืึทืจืืื ืื ืกืืึทืจื ืืืื IoT ืืึทืืืฉืึทืฅ ืืื ืึท ืืืื ื ืขืฅ ืืื ืกืขื ืืจืึทืืืื ืงืึธื ืืจืึธื. ืืขืืืขืืึธืคึผืขืจืก ืืึธืื ืึทื ืืขืืืืกืขืก ืคืื ืคืึทืจืฉืืืขื ืข ืืึทื ืืึทืคืึทืงืืฉืขืจืขืจื ืึธืคื ืงืขื ืขื ื ืืฉื ืืืขืจืืขืื ืืื ืืขืืขืจ ืื ืืขืจืข ืืื ืึทืจืืขื ืกืขืคึผืขืจืึทืืื. ืฆื ืกืึธืืืืข ืืขื ืคึผืจืึธืืืขื, ืื ืืืืจืื ืคืื ืืขืจ ืืื ืืฆืืืืืื ืืืฉืืคื ืืืืืืืืืจื ืืืึธืก ืงืขื ืขื ืึทืจืืขืื ืืื ืคืึทืจืฉืืืขื ืข ื ืขืฅ ืคึผืจืึธืืึธืงืึธืืก, ืืึทืืืฉืึทืฅ ืืื ืงืืืขื ื ืึทืคึผืืึทืงืืืฉืึทื ื.
ืจืฉืืื ืคืื ืฉืืืฆื ืืขืืืืกืขืก
ืื ืื ืืขืจ ืขืคืขื ืขื ืคึผืจืืืขืงื -
/ ืคืึธืืึธ
ืื ืฆืืงืื ืคึฟื ืคืื ืขื ืืขื ืกืึทืืืฉืึทื ื
ืขืคึฟืขื ืขื ืืงืืจ ืคึผืจืึทืืืฉืขืงืก, ืืืืืจืขืจืื ืืื ืคืจืึทืืขืืืึธืจืงืก ืืขื ืขื ืื ืงืจืืกืื ืืื ืึทืคึผืืจืื ื ืืืืฃ ืื IoT ืืึทืจืง. ืื ืืื ืืงืก ืืืืงืืคึผืขืืืข, ืืืึธืก ืืืื ืึทืจืืขื ืืื ืื IoT ืคืขืื (ืืื ืืืฉืืคื ืื ืึธืคึผืขืจืืืืื ื ืกืืกืืขื
ืืืืขืืช ืคืื ืืขืจ ืขืจืฉืืขืจ ืืืึธื ืืืขืื ืคึฟืืจืืข IaaS:
ืืื REDWEB ืืื ืืืื ืืื ืื IT-GRAD ืืืึธืืงื ืึทื ืืืืืงืืื ื ืคืื ืืึทืื ืกืขื ืืขืจืก: ืืขืงื ืึทืืึทืืืฉืืงืึทื ืืจืขื ืืก Avito.ru: ืืื ืื IaaS ืืืึธืืงื ืืขืืคึผืก ืฆื ืึธืจืืึทื ืืืืจื ืื ืืขืฉืขืคื ืคืื ืึท ืคืืจืืข ืืื ืฆื ืคึฟืึทืจืืขืกืขืจื ืื ืขื ืขืจืืืข ืขืคืขืงืืืืืงืืึทื ืคืื ืึท ืืึทืื ืฆืขื ืืขืจ ืื ืืืขืื ืคืจืืขืจ ืืื ื ืึธื. ืืื ืืขืื ืืขืืืื ืืื ืื ืึทืืืืขื ื ืคืื ืื ืก ืคืืึทื ืืึธื ืืืืืืง ืจืขืงืึธืืืขืจื ืืื ืึท ืกืขืจืืืืก: ืืืึธืก ืืืจ ืืึทืจืคึฟื ืฆื ืืืืกื ืืื IaaS ืืขืืคึผืก ืึทื ืืืืืงืืขื ืืขืฉืขืคื: ืืจืื ืคืจืืืืขืืขื ืืืึธืก ืื ืืืึธืืงื ืืืขื ืกืึธืืืืข
ืืงืืจ: www.habr.com