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