IoT Inspector рдореНрд╣рдгрдЬреЗ рдХрд╛рдп рдЖрдгрд┐ рддреЗ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рддреЗ рдЖрдореНрд╣реА рддреБрдореНрд╣рд╛рд▓рд╛ рд╕рд╛рдВрдЧрддреЛ.
/ рдЫрд╛рдпрд╛рдЪрд┐рддреНрд░
рдЗрдВрдЯрд░рдиреЗрдЯ рдСрдл рдерд┐рдВрдЧреНрдЬрдЪреНрдпрд╛ рд╕реБрд░рдХреНрд╖рд┐рддрддреЗрдмрджреНрджрд▓
рдмреЗрди рдЕрдБрдб рдХрдВрдкрдиреА рдпрд╛ рд╕рд▓реНрд▓рд╛рдЧрд╛рд░ рдХрдВрдкрдиреАрдд (
рджреНрд╡рд╛рд░рд╛
рд╕реНрдорд╛рд░реНрдЯ рдЙрдкрдХрд░рдгрд╛рдВрдЪреЗ рд╕рдВрд░рдХреНрд╖рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдпрдЯреА рдХрдВрдкрдиреНрдпрд╛ рдЖрдгрд┐ рд╡рд┐рджреНрдпрд╛рдкреАрдард╛рдВрдЪреЗ рдХрд░реНрдордЪрд╛рд░реА рдирд╡реАрди рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдЯреВрд▓реНрд╕ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдд рдЖрд╣реЗрдд.
рдкреНрд░рдгрд╛рд▓реА рдХрд╢реА рдХрд╛рд░реНрдп рдХрд░рддреЗ
IoT рдЗрдиреНрд╕реНрдкреЗрдХреНрдЯрд░ рддрдВрддреНрд░рдЬреНрдЮрд╛рдирд╛рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди рдиреЗрдЯрд╡рд░реНрдХрд╡рд░реАрд▓ IoT рдЙрдкрдХрд░рдгрд╛рдВрдЪреНрдпрд╛ рдХреНрд░рд┐рдпрд╛рдХрд▓рд╛рдкрд╛рдВрдЪреЗ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЛ
рдПрдЖрд░рдкреА рдкреЕрдХреЗрдЯ рдкрд╛рдард╡рддрд╛рдирд╛
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 рдЗрдиреНрд╕реНрдкреЗрдХреНрдЯрд░ рд╕рд░реНрд╡реНрд╣рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЛ рдХреА рдХреЛрдгрддреНрдпрд╛ рд╕рд╛рдЗрдЯрд╡рд░ IoT рдЧреЕрдЭреЗрдЯ рдбреЗрдЯрд╛рдЪреА рджреЗрд╡рд╛рдгрдШреЗрд╡рд╛рдг рдХрд░рддрд╛рдд, рддреЗ рдХрд┐рддреА рд╡реЗрд│рд╛ рд╣реЗ рдХрд░рддрд╛рдд рдЖрдгрд┐ рдХреЛрдгрддреНрдпрд╛ рд╡реНрд╣реЙрд▓реНрдпреВрдордордзреНрдпреЗ рддреЗ рдкреЕрдХреЗрдЯ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рддрд╛рдд рдЖрдгрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛рдд. рдкрд░рд┐рдгрд╛рдореА, рдкреНрд░рдгрд╛рд▓реА рд╕рдВрд╢рдпрд╛рд╕реНрдкрдж рд╕рдВрд╕рд╛рдзрдиреЗ рдУрд│рдЦрдгреНрдпрд╛рд╕ рдорджрдд рдХрд░рддреЗ рдЬреНрдпрд╛рд╡рд░ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рдорд╛рд╣рд┐рддреАрд╢рд┐рд╡рд╛рдп рдкреАрдбреА рдкрд╛рдард╡рд┐рд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ.
рдЖрддреНрддрд╛рд╕рд╛рдареА, рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдлрдХреНрдд macOS рд╡рд░ рдХрд╛рд░реНрдп рдХрд░рддреЗ. рддреБрдореНрд╣реА рдЭрд┐рдк рд╕рдВрдЧреНрд░рд╣рдг рдпреЗрдереЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реВ рд╢рдХрддрд╛
рдпрд╛ рд╡рд░реНрд╖реА, рд╡рд┐рдХрд╕рдХрд╛рдВрдиреА рд▓рд┐рдирдХреНрд╕рд╕рд╛рдареА рдЖрд╡реГрддреНрддреА рдЬреЛрдбрдгреНрдпрд╛рдЪреЗ рд╡рдЪрди рджрд┐рд▓реЗ рдЖрдгрд┐ рдореЗ рдордзреНрдпреЗ - рд╡рд┐рдВрдбреЛрдЬрд╕рд╛рдареА рдПрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ. рдкреНрд░рдХрд▓реНрдк рд╕реНрддреНрд░реЛрдд рдХреЛрдб рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ
рд╕рдВрднрд╛рд╡реНрдп рдЖрдгрд┐ рддреЛрдЯреЗ
рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдЪреЗ рдореНрд╣рдгрдгреЗ рдЖрд╣реЗ рдХреА рд╣реА рдкреНрд░рдгрд╛рд▓реА рдЖрдпрдЯреА рдХрдВрдкрдиреНрдпрд╛рдВрдирд╛ IoT рдЙрдкрдХрд░рдгрд╛рдВрдЪреНрдпрд╛ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░рдордзреАрд▓ рднреЗрджреНрдпрддрд╛ рд╢реЛрдзрдгреНрдпрд╛рдд рдЖрдгрд┐ рдЕрдзрд┐рдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╕реНрдорд╛рд░реНрдЯ рдЙрдкрдХрд░рдгреЗ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдд рдорджрдд рдХрд░реЗрд▓. рд╕рд╛рдзрди рдЖрдзреАрдЪ рд╕реБрд░рдХреНрд╖рд╛ рдЖрдгрд┐ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рднреЗрджреНрдпрддрд╛ рд╢реЛрдзреВ рд╢рдХрддреЗ.
IoT рдЗрдиреНрд╕реНрдкреЗрдХреНрдЯрд░ рдЕрд╢реА рдЙрдкрдХрд░рдгреЗ рд╢реЛрдзрддрд╛рдд рдЬреА рдЦреВрдк рд╡рд╛рд░рдВрд╡рд╛рд░ рд╕рдВрдкреНрд░реЗрд╖рдг рдХрд░рддрд╛рдд, рдЬрд░реА рддреНрдпрд╛рдВрдЪрд╛ рдХреЛрдгреА рд╡рд╛рдкрд░ рдХрд░рдд рдирд╕рд▓рд╛ рддрд░реАрд╣реА. рд╣реЗ рд╕рд╛рдзрди рдиреЗрдЯрд╡рд░реНрдХрдЪреА рдЧрддреА рдХрдореА рдХрд░рдгрд╛рд░реА рд╕реНрдорд╛рд░реНрдЯ рдЙрдкрдХрд░рдгреЗ рд╢реЛрдзрдгреНрдпрд╛рдд рджреЗрдЦреАрд▓ рдорджрдд рдХрд░рддреЗ, рдЬрд╕реЗ рдХреА рдЕрджреНрдпрддрдиреЗ рдЦреВрдк рд╡реЗрд│рд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдгреЗ.
рдЖрдпрдУрдЯреА рдЗрдиреНрд╕реНрдкреЗрдХреНрдЯрд░рдордзреНрдпреЗ рдЕрдЬреВрдирд╣реА рдХрд╛рд╣реА рдХрдорддрд░рддрд╛ рдЖрд╣реЗрдд. рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирд╕рд╣ рд╕рд░реНрд╡ IoT рдбрд┐рд╡реНрд╣рд╛рдЗрд╕реЗрд╕рд╡рд░ рддреНрдпрд╛рдЪреА рдЪрд╛рдЪрдгреА рдЕрджреНрдпрд╛рдк рдЭрд╛рд▓реЗрд▓реА рдирд╛рд╣реА. рдореНрд╣рдгреВрди, рд╕рд╛рдзрдирд╛рдЪрд╛ рд╕реНрд╡рддрдГрдЪ рд╕реНрдорд╛рд░реНрдЯ рдЧреЕрдЭреЗрдЯрдЪреНрдпрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрд╡рд░ рдирдХрд╛рд░рд╛рддреНрдордХ рдкреНрд░рднрд╛рд╡ рдкрдбреВ рд╢рдХрддреЛ. рдпрд╛ рдХрд╛рд░рдгрд╛рд╕реНрддрд╡, рд▓реЗрдЦрдХ рд╡реИрджреНрдпрдХреАрдп рдЧреЕрдЭреЗрдЯрд╢реА рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрдиреЗрдХреНрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рд╢рд┐рдлрд╛рд░рд╕ рдХрд░рдд рдирд╛рд╣реАрдд.
рдЖрддрд╛ рд╡рд┐рдХрд╛рд╕рдХ рдмрдЧ рджреВрд░ рдХрд░рдгреНрдпрд╛рд╡рд░ рд▓рдХреНрд╖ рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдд рдЖрд╣реЗрдд, рдкрд░рдВрддреБ рднрд╡рд┐рд╖реНрдпрд╛рдд рдкреНрд░рд┐рдиреНрд╕реНрдЯрди рдпреБрдирд┐рд╡реНрд╣рд░реНрд╕рд┐рдЯреА рдЯреАрдордиреЗ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдНрдкреНрд▓рд┐рдХреЗрд╢рдирдЪреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╡рд╛рдврд╡рдгреНрдпрд╛рдЪреА рдЖрдгрд┐ рддреНрдпрд╛рдд рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдЖрдгрдгреНрдпрд╛рдЪреА рдпреЛрдЬрдирд╛ рдЖрдЦрд▓реА рдЖрд╣реЗ. рддреЗ DDoS рд╣рд▓реНрд▓реЗ рд╢реЛрдзрдгреНрдпрд╛рдЪреА рд╕рдВрднрд╛рд╡реНрдпрддрд╛ 99% рдкрд░реНрдпрдВрдд рд╡рд╛рдврд╡рд┐рдгреНрдпрд╛рдд рдорджрдд рдХрд░рддреАрд▓. рдордзреАрд▓ рд╕рдВрд╢реЛрдзрдХрд╛рдВрдЪреНрдпрд╛ рд╕рд░реНрд╡ рдХрд▓реНрдкрдирд╛рдВрд╢реА рдЖрдкрдг рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдК рд╢рдХрддрд╛
рдЗрддрд░ IoT рдкреНрд░рдХрд▓реНрдк
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдгрд┐ рдПрдЪрдЯреАрдПрдордПрд▓ рд╡рд░реАрд▓ рдкреБрд╕реНрддрдХрд╛рдВрдЪреЗ рд▓реЗрдЦрдХ рдбреЕрдиреА рдЧреБрдбрдорди рдпрд╛рдВрдЪреНрдпрд╛рд╢реА рд╕рд╣рдпреЛрдЧ рдХрд░рдгрд╛рд░рд╛ рдЕрдореЗрд░рд┐рдХрди рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдЪрд╛ рдПрдХ рдЧрдЯ, рдЗрдВрдЯрд░рдиреЗрдЯ рдСрдл рдерд┐рдВрдЧреНрдЬ рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдордЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рд╕рд╛рдзрди рддрдпрд╛рд░ рдХрд░рдд рдЖрд╣реЗ -
рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрдо IoT рдЧреЕрдЭреЗрдЯреНрд╕ рдПрдХрд╛ рдиреЗрдЯрд╡рд░реНрдХрдордзреНрдпреЗ рдПрдХрддреНрд░ рдХрд░рдгреЗ рдЖрдгрд┐ рдирд┐рдпрдВрддреНрд░рдг рдХреЗрдВрджреНрд░реАрдХреГрдд рдХрд░рдгреЗ рд╣реЗ рдкреНрд░рдХрд▓реНрдкрд╛рдЪреЗ рдЙрджреНрджрд┐рд╖реНрдЯ рдЖрд╣реЗ. рд╡рд┐рдХрд╕рдХрд╛рдВрдЪреЗ рдореНрд╣рдгрдгреЗ рдЖрд╣реЗ рдХреА рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдЙрддреНрдкрд╛рджрдХрд╛рдВрдЪреА рдЙрдкрдХрд░рдгреЗ рд╕рд╣рд╕рд╛ рдПрдХрдореЗрдХрд╛рдВрд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзреВ рд╢рдХрдд рдирд╛рд╣реАрдд рдЖрдгрд┐ рд╕реНрд╡рддрдВрддреНрд░рдкрдгреЗ рдХрд╛рд░реНрдп рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реАрдд. рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЙрдкрдХреНрд░рдорд╛рдЪреНрдпрд╛ рд▓реЗрдЦрдХрд╛рдВрдиреА рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЬреЗ рднрд┐рдиреНрди рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓, рдЧреЕрдЭреЗрдЯреНрд╕ рдЖрдгрд┐ рдХреНрд▓рд╛рдпрдВрдЯ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░реВ рд╢рдХрддрд╛рдд.
рд╕рдорд░реНрдерд┐рдд рдЙрдкрдХрд░рдгрд╛рдВрдЪреА рдпрд╛рджреА
рдЖрдгрдЦреА рдПрдХ рдЦреБрд▓рд╛ рдкреНрд░рдХрд▓реНрдк -
/ рдЫрд╛рдпрд╛рдЪрд┐рддреНрд░
рддрддреНрд╕рдо рдЙрдкрд╛рдпрд╛рдВрдЪреЗ рднрд╡рд┐рд╖реНрдп
рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕, рд▓рд╛рдпрдмреНрд░рд░реА рдЖрдгрд┐ рдлреНрд░реЗрдорд╡рд░реНрдХ IoT рдорд╛рд░реНрдХреЗрдЯрдордзреНрдпреЗ рд╡рд╛рдврддреНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рджрд┐рд╕реВрди рдпреЗрдд рдЖрд╣реЗрдд. рд▓рд┐рдирдХреНрд╕ рдлрд╛рдЙрдВрдбреЗрд╢рди, рдЬреЗ IoT рдлреАрд▓реНрдбрдордзреНрдпреЗ рджреЗрдЦреАрд▓ рдХрд╛рд░реНрдп рдХрд░рддреЗ (рддреНрдпрд╛рдВрдиреА рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рддрдпрд╛рд░ рдХреЗрд▓реА
рдХреЙрд░реНрдкреЛрд░реЗрдЯ IaaS рдмрджреНрджрд▓рдЪреНрдпрд╛ рдкрд╣рд┐рд▓реНрдпрд╛ рдмреНрд▓реЙрдЧрд╡рд░реАрд▓ рдкреЛрд╕реНрдЯ:
IT-GRAD рдХреНрд▓рд╛рдЙрдбрдордзреНрдпреЗ REDWEB рдХрд╕реЗ рд╕реНрдерд┐рдд рдЖрд╣реЗ рдбреЗрдЯрд╛ рдХреЗрдВрджреНрд░рд╛рдВрдЪрд╛ рд╡рд┐рдХрд╛рд╕: рддрд╛рдВрддреНрд░рд┐рдХ рдЯреНрд░реЗрдВрдб Avito.ru: IaaS рдХреНрд▓рд╛рдЙрдб рдХрдВрдкрдиреАрдЪрд╛ рд╡реНрдпрд╡рд╕рд╛рдп рдЖрдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рдд рдХрд╢реА рдорджрдд рдХрд░рддреЗ рдбреЗрдЯрд╛ рд╕реЗрдВрдЯрд░рдЪреА рдКрд░реНрдЬрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╢реА рд╕реБрдзрд╛рд░рд╛рдпрдЪреА рдЖрдзреА рдЖрдгрд┐ рдирдВрддрд░рдЪреЗ рдЬрдЧ. DNS рдзреНрд╡рдЬ рджрд┐рдирд╛рдЪреНрдпрд╛ рдЖрдЧрдордирд╛рдиреЗ рдЬреАрд╡рди рдХрд╕реЗ рдмрджрд▓рд▓реЗ рд╕реЗрд╡рд╛ рдореНрд╣рдгреВрди рдЖрдкрддреНрддреА рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддреА: рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдХрд╛рдп рдорд╛рд╣рд┐рдд рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ IaaS рд╡реНрдпрд╡рд╕рд╛рдп рд╡рд╛рдврдгреНрдпрд╛рд╕ рдХрд╢реА рдорджрдд рдХрд░рддреЗ: рддреАрди рдЖрд╡реНрд╣рд╛рдиреЗ рдХреНрд▓рд╛рдЙрдб рд╕реЛрдбрд╡реЗрд▓
рд╕реНрддреНрд░реЛрдд: www.habr.com