# IP Lib # https://realpython.com/python-ipaddress-module/ # Ping IP working any OS , BUT with echo # https://stackoverflow.com/questions/2953462/pinging-servers-in-python # VPN # https://techcrunch.com/2017/04/09/how-i-made-my-own-vpn-server-in-15-minutes/ # https://habr.com/ru/post/170895/ # Видеоуроки # https://www.youtube.com/playlist?list=PL4p9O5LPYFNvI9LqzS8QKgoeu98QOMTWu # https://www.youtube.com/watch?v=e6l02YjMcbw # https://www.youtube.com/watch?v=9lIQMGsD92A # https://www.kaspersky.ru/blog/vpn-hardships/11622/ # Роутеры # https://catalog.onliner.by/compare/kn1010+kn1810+kn1910 # https://forum.onliner.by/viewtopic.php?t=22544058 # Файлы загрузки для Keenetic Viva (KN-1910) # https://help.keenetic.com/hc/ru/articles/360001759419-%D0%A4%D0%B0%D0%B9%D0%BB%D1%8B-%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B8-%D0%B4%D0%BB%D1%8F-Keenetic-Viva-KN-1910- # Keenetic Viva VPN-сервер L2TP/IPsec # https://help.keenetic.com/hc/ru/articles/360000684919-VPN-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80-L2TP-IPsec # https://www.youtube.com/watch?v=zcCD3135vG4 import socket import ipaddress import ping3 # https://github.com/kyan001/ping3 from getmac import get_mac_address from colorama import Fore, Back, Style class Local_Network_List(): def __init__(self,NAME,IP,MAC): self.Comp_NAME = NAME self.Comp_IP = IP self.Comp_MAC = MAC This_Comp_IP_List = [] ThisComp_NAME = socket.gethostname() ThisComp_IP = socket.gethostbyname( ThisComp_NAME ) ThisComp_MAC = get_mac_address( ip = ThisComp_IP ) print ( Fore.GREEN + " Name " + ThisComp_NAME + Fore.WHITE + "\n IP " + ThisComp_IP + Fore.BLUE + "\n MAC " + ThisComp_MAC ) TempStr = ThisComp_IP.split( "." ) TempStr[3] = 0 TempStr1 = "" for i in TempStr: TempStr1 += ''.join( str(i) ) if TempStr.index(i) < 3: TempStr1 += "." Start_IP = ipaddress.IPv4Address( TempStr1 ) Start_IP += 0 End_IP = Start_IP + 10 TempStr = TempStr1 + "/24" net = ipaddress.IPv4Network( TempStr ) Pointer = 0 for Addr in range ( int(ipaddress.IPv4Address(Start_IP) ) , int( ipaddress.IPv4Address( End_IP ) ) ): #net: ADrStr = str(ipaddress.IPv4Address(Addr)) status = ping3.ping( ADrStr ) if status != None: ThisComp_MAC = get_mac_address( ip = ADrStr ) try: ThisComp_NAME = socket.gethostbyaddr( ADrStr ) except: ThisComp_NAME = ["___"] This_Comp_IP_List.append ( Local_Network_List( ThisComp_NAME[0], ADrStr, ThisComp_MAC )) else: print(" NO IP ") for x in This_Comp_IP_List: print ( Fore.GREEN + " Name " + x.Comp_NAME + Fore.WHITE + " IP " + x.Comp_IP + Fore.BLUE + " MAC " + x.Comp_MAC )