IPs Classfull
Publicado por Rafael Iguatemy (última atualização em 11/05/2012)
[ Hits: 6.348 ]
Homepage: http://rafaeliguatemy.com.br
Este script recupera um ip digitado e sua másacara em notação "/x" e retorna seu endereço de rede, broadcast, total de hosts disponíveis, classe e tipo .
Futuramente será postado a versão classless.
#!/usr/bin/python
#-*-coding:iso-8859-1 -*-
########################################################################
########################################################################
### Script: IPs.py ###
### Versão: 1.0 Data:08/05/2010 ###
### Autor: Rafael Iguatemy dos Santos - rafael.dsantos@bol.com.br ###
###------------------------------------------------------------------------------------------------------------------------###
### Este script recupera um ip digitado e sua másacara em notação "/x" e retorna seu endereço de rede, ###
### broadcast, total de hosts disponíveis, classe e tipo ### ########################################################################
########################################################################
def verifica_ip(ip):
'''Verifica se o ip e valido e separa os octetos
'''
oct1,oct2,oct3,oct4 = "","","",""
ips = []
for i in range(len(ip)):
if ip[i] != '.':
oct1 += ip[i]
else:
ipr1 = ip[i+1:]
break
for j in range(len(ipr1)):
if ipr1[j] != '.':
oct2 += ipr1[j]
else:
ipr2 = ipr1[j+1:]
break
for w in range(len(ipr2)):
if ipr2[w] != '.':
oct3 += ipr2[w]
else:
oct4 = ipr2[w+1:]
break
if int(oct1) == 0 or int(oct1)>255 or int(oct2)>255 or int(oct3)>255 or int(oct1)>255 or len(ip)>15 or ip.count('.')!=3:
print "ip incorreto"
else:
ips.append(oct1)
ips.append(oct2)
ips.append(oct3)
ips.append(oct4)
return ips
def mascara(ip, mascara):
'''Esta função verifica a classe, tipo(Privado ou Público), endereço de rede, broadcast, mascara e quantidade de hosts disponíveis
'''
# Esta Variavel recupera a lista dos octetos
gera_ip = verifica_ip(ip)
# Este bloco verifica a classe IP
if int(gera_ip[0]) < 128:
classe = 'Classe A'
elif int(gera_ip[0]) < 192:
classe = 'Classe B'
elif int(gera_ip[0]) < 224:
classe = 'Classe C'
elif int(gera_ip[0]) < 240:
classe = 'Multicast'
elif int(gera_ip[0]) < 256:
classe = 'Reservados'
else:
classe = 'Inexistente'
# Bloco informa se o IP é Público ou privado
if (int(gera_ip[0]) == 10 and int(gera_ip[1]) in range(255)) or (int(gera_ip[0])==172 and int(gera_ip[1]) in range(16,32)) or (int(gera_ip[0])==192 and int(gera_ip[1]) == 68):
tipo = ' Ip : Privado'
else:
tipo = ' IP : Publico'
#bloco Informa endereço de rede, brosdcast e máscara
if mascara == '8':
endred = gera_ip[0]+".0.0.0"
endbrd = gera_ip[0]+".255.255.255"
print tipo
print classe
print 'Endereco de Rede : %s' % (endred)
print 'Endereco de Broadcast : %s' % (endbrd)
print 'Máscara : 255.0.0.0'
print 'Total de Hosts disponíveis : %d ' % ((2**(32 - int(mascara)))-2)
elif mascara == '16':
print tipo
print classe
endred = gera_ip[0]+"."+gera_ip[1]+".0.0"
endbrd = gera_ip[0]+"."+gera_ip[1]+".255.255"
print 'Endereco de Rede : %s' % (endred)
print 'Endereco de Broadcast : %s' % (endbrd)
print 'Máscara : 255.255.0.0'
print 'Total de Hosts disponíveis : %d ' % ((2**(32 - int(mascara)))-2)
elif mascara == '24':
endred = gera_ip[0]+"."+gera_ip[1]+"."+gera_ip[2]+".0"
endbrd = gera_ip[0]+"."+gera_ip[1]+"."+gera_ip[2]+".255"
print tipo
print classe
print 'Endereco de Rede : %s' % (endred)
print 'Endereco de Broadcast : %s' % (endbrd)
print 'Máscara : 255.255.255.0'
print 'Total de Hosts disponíveis : %d ' % ((2**(32 - int(mascara)))-2)
else :
print 'Esta versão os ips são classfull!!'
#bloco principal
ip = raw_input("Entre com o ip: ")
masc = raw_input("Entre com a máscara de rede (Notação /x : Somente o numero {8,16,24}) :")
mascara(ip,masc)
Peer-to-peer nós para processamento em multipontos
verifySite - um verificador de sites
B.S.A.N.S. - Break Security - Automated Network Scanner [PARTE 1]
Nenhum comentário foi encontrado.
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Programa fora de escala na tela do pc (1)
Fedora KDE plasma 42 X Módulo de segurança BB (Warsaw-2) (1)
O programa assinador digital (1)









