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