Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- '''
- Programa: Listando IPs
- '''
- # Biblioteca
- from os import system
- from ipaddress import ip_network
- # Metodo: Conclusao da lista
- def conclusao(n):
- print("\033[01;34m\n # Lista %.0f concluida \033[01;37m" % n)
- # Metodo: Redes
- def rede(n):
- try:
- # Estrutura de decisao: Rede 1
- if n == 1:
- # Arquivo
- arquivo = open("rede1.txt", "w")
- # Restrito a um endereco (conserto de erro)
- rede1 = ip_network("192.168.1.0/32", strict=False) # Muda 0 casas
- # Estrutura de repeticao + Marcador de posicao (estilo C)
- for i in rede1:
- arquivo.write("%s\n" % i)
- # Estrutura de decisao: Rede 2
- elif n == 2:
- arquivo = open("rede2.txt", "w")
- # Restrito a um endereco (conserto de erro)
- rede2 = ip_network("192.168.1.0/24", strict=False) # Muda 1 casas -> 0
- # Estrutura de repeticao + Marcador de posicao (estilo C)
- for i in rede2:
- arquivo.write("%s\n" % i)
- # Estrutura de decisao: Rede 3
- elif n == 3:
- arquivo = open("rede3.txt", "w")
- # Restrito a um endereco (conserto de erro)
- rede3 = ip_network("192.168.1.0/16", strict=False) # Muda 2 casas -> 1.0
- # Estrutura de repeticao + Marcador de posicao (estilo C)
- for i in rede3:
- arquivo.write("%s\n" % i)
- # Estrutura de decisao: Rede 4
- elif n == 4:
- arquivo = open("rede4.txt", "w")
- # Restrito a um endereco (conserto de erro)
- rede4 = ip_network("192.168.1.0/8", strict=False) # Muda 3 casas -> 168.1.0
- # Estrutura de repeticao + Marcador de posicao (estilo C)
- for i in rede4:
- arquivo.write("%s\n" % i)
- # Estrutura de decisao: Rede 5
- elif n == 5:
- arquivo = open("rede5.txt", "w")
- # Restrito a um endereco (conserto de erro)
- rede5 = ip_network("192.168.1.0/4", strict=False) # Muda 4 casas -> 192.168.0.1
- # Estrutura de repeticao + Marcador de posicao (estilo C)
- for i in rede5:
- arquivo.write("%s\n" % i)
- except Exception as erro:
- print("\033[01;31m Invalido \033[01;37m")
- conclusao(n)
- # Funcao: Menu principal
- def menu():
- while True:
- try:
- # Lista controle
- lista_menu = [1, 2, 3, 4, 5]
- # Apresentacao
- system("clear")
- print("")
- print("\033[01;34m ++++++++++++++++++++++++++++++\033[01;37m")
- print("\033[01;32m IP List \033[01;37m")
- print("\033[01;34m ++++++++++++++++++++++++++++++\033[01;37m")
- print("\033[01;31m [1] Rede 1: 1 IP \033[01;37m")
- print("\033[01;32m [2] Rede 2: 255 IPs \033[01;37m")
- print("\033[01;33m [3] Rede 3: 65.025 IPs \033[01;37m")
- print("\033[01;34m [4] Rede 4: 16.581.375 IPs \033[01;37m")
- print("\033[01;35m [5] Rede 5: 4.228.250.625 IPs [INTERNET INTEIRA !!!] \033[01;37m")
- # Entrada de dados
- opc = int(input("\n\033[01;36m + Opc: \033[01;37m"))
- # Estrutura de decisao
- if opc in lista_menu:
- return opc
- except:
- continue
- # Metodo: Principal
- def main():
- rede(menu())
- # Execucao
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement