python para redes #2 - ipaddress ­čÉŹ

´╗┐´╗┐´╗┐Um m├│dulo muito legal no Python ├ę o ipaddress e nesse post r├ípido vamos usar ele.

Let's bora!

´╗┐

A documenta├ž├úo completa do IPAddress est├í aqui:  https://docs.python.org/3/library/ipaddress.html

Com algumas linhas de c├│digo criaremos um script que gere endere├žos IP v├ílidos em uma sub-rede definida, o que ├ę muito interessante.

Digamos que voc├¬ tem um endere├žo de sub-rede e prefixo ou m├íscara de sub-rede e voc├¬ precisa dizer quais ser├úo os hosts v├ílidos para essa sub-rede.
A sub-rede ├ę 192.0.2.0/28

E como sabemos (ou n├úo) um /28 salta de 16 em redes no quarto octeto e como devemos subtrair disso o endere├žo de rede e broadcast, a quantidade de endere├žos v├ílidos ├ę 14 endere├žos.


Normalmente podemos fazer isso manualmente (recomendado saber como funciona para chegar no resultado depois usar esses m├ętodos) ou usar uma calculadora de subnet online. Mas aqui vamos usar um script em Python bem simples. 





Como no exemplo do artigo de python para redes anterior em que abordamos o netmiko, vamos jogar esse script para um editor de texto e salvar como rangeip.py (n├úo salvar como ipaddress.py, pois isso causar├í problemas na execu├ž├úo).




Feito isso, vamos executar o c├│digo e poderemos ver a sa├şda abaixo:



Conforme comentamos antes, os 14 endere├žos v├ílidos est├úo sendo exibidos e os endere├žos de rede e broadcast da rede como n├úo s├úo v├ílidos, n├úo est├úo sendo exibidos.

Vamos tentar com outro endere├žo, agora vamos com 172.16.0.50 /29 que ├ę um m├íscara que fornece 6 hosts v├ílidos por sub-rede, vamos conferir?
Ent├úo ├ę s├│ mudar o endere├žo e prefixo no script e em seguida executar:



Portanto basta alterar a sub-rede e prefixo ou a m├íscara no c├│digo para alterar a sa├şda e ter respostas diferentes para suas perguntas.

Abra├žos, 
Max

­čôž contato@maxaddress.com.br
Ôä╣´ŞĆ linkedin.com/in/maxwlima

Referências:
https://docs.python.org/3/library/ipaddress.html