Skip to content

oolphin/ipmask

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

Convertisseur de Masques en Notation CIDR

Un outil Python simple et pratique pour convertir des masques de sous-réseau au format décimal (ex: 255.255.255.0) en notation CIDR (ex: /24).

Fonctionnalités

  • Conversion de masques : Transforme les masques de sous-réseau en notation CIDR
  • Traitement de fichiers Excel : Lit et traite des fichiers Excel contenant des adresses IP et des masques
  • Presse-papier : Traite directement les données copiées depuis Excel
  • Conversion manuelle : Interface interactive pour des conversions à la volée
  • Format complet IP/CIDR : Combine automatiquement l'adresse IP avec le masque converti

Prérequis

pip install pandas openpyxl

Installation

  1. Téléchargez le fichier calcmask.py
  2. Installez les dépendances :
    pip install pandas openpyxl
  3. Exécutez le programme :
    python calcmask.py

Utilisation

Le programme propose trois modes d'utilisation :

1. Traitement de fichier Excel

Convertit un fichier Excel contenant :

  • Colonne A : Adresses IP
  • Colonne B : Masques de sous-réseau
  • Colonne C : Résultats en notation CIDR (générée automatiquement)
# Dans le menu interactif
Choisissez l'option 1
# Ou directement dans le code :
process_excel_file("monfichier.xlsx")

2. Traitement depuis le presse-papier

  1. Copiez vos données depuis Excel (colonnes A et B)
  2. Choisissez l'option 2 dans le menu
  3. Les résultats sont automatiquement copiés dans le presse-papier

3. Conversion manuelle

Mode interactif pour convertir des adresses IP et masques un par un :

Adresse IP (ex: 10.58.0.0): 192.168.1.0
Masque (ex: 255.255.0.0): 255.255.255.0
Résultat: 192.168.1.0/24

Exemples de conversion

Masque de sous-réseau Notation CIDR
255.255.255.0 /24
255.255.0.0 /16
255.255.255.128 /25
255.0.0.0 /8
Adresse IP + Masque Résultat
10.58.0.0 + 255.255.0.0 10.58.0.0/16
192.168.1.0 + 255.255.255.0 192.168.1.0/24
172.16.0.0 + 255.240.0.0 172.16.0.0/12

Format du fichier Excel

Structure attendue :

A (Adresse IP) B (Masque) C (Résultat)
10.58.0.0 255.255.0.0 10.58.0.0/16
192.168.1.0 255.255.255.0 192.168.1.0/24
172.16.0.0 255.240.0.0 172.16.0.0/12

Le fichier de sortie conserve la même structure avec la colonne C générée automatiquement.

Utilisation programmatique

Vous pouvez également utiliser les fonctions directement dans votre code :

from calcmask import mask_to_cidr, ip_to_cidr, process_excel_file

# Convertir un masque seul
cidr = mask_to_cidr('255.255.255.0')  # Retourne 24

# Convertir IP + masque
result = ip_to_cidr('192.168.1.0', '255.255.255.0')  # Retourne '192.168.1.0/24'

# Traiter un fichier Excel
df = process_excel_file('input.xlsx', 'output.xlsx')

Fonctions principales

mask_to_cidr(mask)

Convertit un masque de sous-réseau en notation CIDR.

  • Paramètre : mask (str) - Masque au format "xxx.xxx.xxx.xxx"
  • Retour : Nombre de bits (int) ou None en cas d'erreur

ip_to_cidr(ip, mask)

Combine une adresse IP et un masque en notation CIDR.

  • Paramètres :
    • ip (str) - Adresse IP
    • mask (str) - Masque de sous-réseau
  • Retour : Chaîne au format "IP/CIDR" ou None

process_excel_file(input_file, output_file=None)

Traite un fichier Excel complet.

  • Paramètres :
    • input_file (str) - Chemin du fichier d'entrée
    • output_file (str, optionnel) - Chemin du fichier de sortie
  • Retour : DataFrame pandas avec les résultats

process_from_clipboard()

Traite les données copiées depuis le presse-papier.

  • Retour : DataFrame pandas avec les résultats

Gestion des erreurs

Le programme gère les cas d'erreur suivants :

  • Masques invalides
  • Fichiers Excel mal formatés
  • Problèmes de lecture du presse-papier
  • Colonnes manquantes

Licence

Libre d'utilisation et de modification.

Auteur

Script utilitaire pour la conversion de masques réseau.


⭐ Si ce projet vous est utile, donnez-lui une étoile sur GitHub ! ⭐

Made with ❤️ by LAB-INFO

About

Un outil Python simple et pratique pour convertir des masques de sous-réseau au format décimal (ex: 255.255.255.0) en notation CIDR (ex: /24).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages