-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.py
51 lines (39 loc) · 1.43 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import re
enderecoIp = [];
##Adicionando os enderecos IP na lista
while True:
ipLista = str(input("Adicione um ip na lista:"));
enderecoIp.append(ipLista);
x = str(input("Digite '.' se deseja adicionar mais endereços: "));
if x != '.':
print("Encerrando aplicação");
break;
print("Enderecos IPs digitados: ");
print(enderecoIp);
##Verificando se os enderecos sao validos ou nao##
enderecosValidos : str;
enderecosValidos = [];
enderecosInvalidos : str;
enderecosInvalidos = [];
##Funcao regex para verificar a estrutura do ipv4, se e verdadeiro ou nao##
def verificarIp(ipTeste):
flag = 0
pattern = "^\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}$"
match = re.match(pattern, ipTeste)
if (match):
field = ipTeste.split(".")
for i in range(0, len(field)):
if (int(field[i]) < 256):
flag += 1
else:
flag = 0
if (flag == 4):
enderecosValidos.append(ipTeste);
else:
enderecosInvalidos.append(ipTeste);
##Percorrendo todos os itens da lista e atribuindo os validos e invalidos chamando a funcao##
for i in range(0, len(enderecoIp)):
verificarIp(enderecoIp[i]);
##Imprimindo os enderecos validos e invalidos, os ipv4 validos possuem 4 subdominios e por consequencia 3 pontos de separacao e vao de 0 ate 255 por familia##
print("Enderecos validos: ", enderecosValidos);
print("Enderecos invalidos: ", enderecosInvalidos);