


Une gestion efficace des plages d'adresses IP est essentielle dans l'ingénierie des réseaux, l'infrastructure cloud et la cybersécurité. Les blocs CIDR (Classless Inter-Domain Routing) offrent un moyen compact de représenter les plages d'adresses IP, mais leur gestion manuelle peut s'avérer fastidieuse. Entrez le CIDR-Converter, un utilitaire basé sur Go conçu pour simplifier ce processus tout en prenant en charge les formats d'entrée étendus.
Consultez mon dépôt ici :
pat-glitch
/
convertisseur cidr
Un convertisseur de blocs CIDR
Conversion CIDR
Un utilitaire de ligne de commande écrit en Go qui traite, valide et fusionne des plages d'adresses IP dans différents formats. L'outil prend en charge la notation CIDR, la notation générique et plusieurs formats d'entrée/sortie.
Caractéristiques
Traitement des entrées
- Plusieurs formats d'entrée pris en charge :
- Notation CIDR (par exemple, "192.168.1.0/24")
- Notation générique (par exemple, "192.168.1.*")
- Fichiers CSV contenant des blocs CIDR
- Fichiers JSON contenant des blocs CIDR
- Mode stdin interactif pour la saisie manuelle
Opérations CIDR
- Valide les plages IP et les blocs CIDR
- Convertit la notation générique au format CIDR
- Fusionne les blocs CIDR qui se chevauchent
- Trie les blocs CIDR pour une organisation optimale
Gestion des sorties
- Enregistre automatiquement les résultats fusionnés dans un fichier JSON
- Sortie JSON joliment imprimée
- Gestion et reporting complets des erreurs
Installation
Assurez-vous que Go est installé sur votre système, puis :
git clone [repository-url] cd [repository-name] go build
Utilisation
L'outil prend en charge trois modes de saisie :
1. Mode de saisie standard
git clone [repository-url] cd [repository-name] go build…
Je prévois également de créer une application Web avec des fonctionnalités supplémentaires, pour augmenter les fonctionnalités et la portée de l'application !
Ce projet a été inspiré par le référentiel cidr-convert d'Andy Walker.
Principales fonctionnalités
1. Formats d'entrée flexibles
- Prend en charge la notation CIDR traditionnelle (par exemple, 192.168.0.0/24)
- Analyse les notations génériques (par exemple, 192.168..)
- Convertit les chaînes binaires en blocs CIDR (par exemple, 11000000101010000000000000000000/24)
- Lit les CIDR à partir de fichiers CSV et JSON
2. Fusion intelligente
- Fusionne les CIDR qui se chevauchent en un ensemble minimal, réduisant ainsi la redondance
- Agrège les sous-réseaux plus petits en sous-réseaux plus grands lorsque cela est possible
3. Prise en charge des E/S de fichiers
- Analyse les entrées des fichiers ou des entrées standard
- Enregistre les CIDR fusionnés dans un fichier JSON pour un partage et un stockage faciles
Le problème qu'il résout
La gestion de grandes listes de CIDR peut être fastidieuse, en particulier lorsqu'il s'agit de plages qui se chevauchent ou sont adjacentes. L'agrégation manuelle de ces plages est sujette aux erreurs et prend du temps. Cet outil automatise le processus, garantissant une agrégation optimale et réduisant le risque de mauvaise gestion.
Comment ça marche
Fonctionnalités de base
1. Analyse et validation CIDR
La fonction parseCIDR garantit que l'entrée est conforme à la notation CIDR valide.
2. Analyse générique et binaire
- Les caractères génériques (par exemple, 192.168..) sont convertis en CIDR en analysant la longueur du masque
- Les chaînes binaires (par exemple, 11000000101010000000000000000000/24) sont traduites en adresses IP
3. Fusion CIDR
- La fonction mergeCIDRs supprime la redondance en fusionnant les plages qui se chevauchent
- La fonction AggregateCIDRs combine des sous-réseaux plus petits en blocs plus grands et englobants
4. Analyse de fichiers
Lit les CIDR à partir des formats CSV et JSON à l'aide des fonctions parseCSV et parseJSON.
5. Sortie
Les CIDR fusionnés sont enregistrés dans un fichier JSON pour une utilisation facile par d'autres outils ou équipes.
Exemple d'utilisation
Exécution en ligne de commande
Exécutez l'outil directement depuis le terminal, en spécifiant le type d'entrée :
git clone [repository-url] cd [repository-name] go build
Exemple de sortie
Compte tenu de la contribution :
./cidr-processor <span># Enter CIDR blocks interactively, one per line:</span> 192.168.1.0/24 10.0.0.* <span># Press Ctrl+D (Linux/Mac) or Ctrl+Z (Windows) to</span>
L'outil génère un seul bloc agrégé :
# Standard input $ go run main.go Enter CIDR blocks, one per line. Press Ctrl+D (Linux/Mac) or Ctrl+Z (Windows) to end input: 192.168.0.0/24 192.168.1.0/24 # CSV Input $ go run main.go input.csv # JSON Input $ go run main.go input.json
Enregistré dans merged_cidrs.json.
Procédure pas à pas du code
Analyse de la notation générique
Les caractères génériques comme 192.168.. sont convertis en CIDR :
192.168.0.0/24 192.168.1.0/24
La fonction calcule la longueur de préfixe appropriée et construit un bloc CIDR.
Fusion et agrégation
La fonction mergeCIDRs élimine la redondance :
[ "192.168.0.0/23" ]
L'agrégation suit avec :
git clone [repository-url] cd [repository-name] go build
Cette étape combine les plages adjacentes en blocs plus grands.
Analyse de fichiers
Les fichiers d'entrée CSV et JSON sont analysés avec parseCSV et parseJSON, permettant une intégration transparente avec les flux de travail existants :
./cidr-processor <span># Enter CIDR blocks interactively, one per line:</span> 192.168.1.0/24 10.0.0.* <span># Press Ctrl+D (Linux/Mac) or Ctrl+Z (Windows) to</span>
Pourquoi y aller ?
La bibliothèque standard robuste de Go, comprenant des packages tels que net, regexp et encoding/json, en fait un excellent choix pour créer des outils liés au réseau. Son modèle de concurrence solide garantit des performances élevées, même avec de grands ensembles de données.
Améliorations futures
1. Prise en charge d'IPv6
- Étendre les fonctionnalités pour gérer les plages IPv6
2. Formats d'entrée dynamiques
- Ajouter la prise en charge de YAML et XML
3.Interface Internet
- Créez une application Web légère pour la gestion interactive du CIDR
Conclusion
Le calculateur de bloc CIDR amélioré simplifie la gestion du CIDR avec des formats d'entrée étendus, une fusion intelligente et une prise en charge robuste des fichiers. Sa polyvalence en fait un outil précieux pour les ingénieurs réseau, les architectes cloud et les professionnels de la cybersécurité. Inspiré du cidr-convert d'Andy Walker, cet outil s'appuie sur des idées fondamentales pour offrir une solution plus complète. Essayez-le et rationalisez vos flux de travail CIDR dès aujourd'hui !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

GolangisidealforBuildingsCalableSystemsDuetoitSefficiency and Concurrency, tandis que les Implicites de l'Indrecosystem et le Golang'sDesignenCourageSlecElNCORES

Golang est meilleur que C en concurrence, tandis que C est meilleur que Golang en vitesse brute. 1) Golang obtient une concurrence efficace par le goroutine et le canal, ce qui convient à la gestion d'un grand nombre de tâches simultanées. 2) C Grâce à l'optimisation du compilateur et à la bibliothèque standard, il offre des performances élevées près du matériel, adaptées aux applications qui nécessitent une optimisation extrême.

Les raisons du choix de Golang comprennent: 1) des performances de concurrence élevées, 2) un système de type statique, 3) un mécanisme de collecte des ordures, 4) des bibliothèques et des écosystèmes standard riches, ce qui en fait un choix idéal pour développer des logiciels efficaces et fiables.

Golang convient au développement rapide et aux scénarios simultanés, et C convient aux scénarios où des performances extrêmes et un contrôle de bas niveau sont nécessaires. 1) Golang améliore les performances grâce à des mécanismes de collecte et de concurrence des ordures, et convient au développement de services Web à haute concurrence. 2) C réalise les performances ultimes grâce à la gestion manuelle de la mémoire et à l'optimisation du compilateur, et convient au développement du système intégré.

Golang fonctionne mieux en temps de compilation et en traitement simultané, tandis que C présente plus d'avantages dans la vitesse d'exécution et la gestion de la mémoire. 1.Golang a une vitesse de compilation rapide et convient pour un développement rapide. 2.C fonctionne rapidement et convient aux applications critiques. 3. Golang est simple et efficace dans le traitement simultané, adapté à la programmation simultanée. 4.C La gestion de la mémoire manuelle offre des performances plus élevées, mais augmente la complexité du développement.

L'application de Golang dans les services Web et la programmation système se reflète principalement dans sa simplicité, son efficacité et sa concurrence. 1) Dans les services Web, Golang prend en charge la création d'applications Web et d'API à haute performance via des bibliothèques HTTP puissantes et des capacités de traitement simultanées. 2) Dans la programmation système, Golang utilise des fonctionnalités proches du matériel et de la compatibilité avec le langage C pour être adapté au développement du système d'exploitation et aux systèmes intégrés.

Golang et C ont leurs propres avantages et inconvénients dans la comparaison des performances: 1. Golang convient à une concurrence élevée et à un développement rapide, mais la collecte des ordures peut affecter les performances; 2.C fournit des performances plus élevées et un contrôle matériel, mais a une complexité de développement élevée. Lorsque vous faites un choix, vous devez considérer les exigences du projet et les compétences en équipe de manière complète.

Golang convient aux scénarios de programmation haute performance et simultanés, tandis que Python convient au développement rapide et au traitement des données. 1.Golang met l'accent sur la simplicité et l'efficacité, et convient aux services back-end et aux microservices. 2. Python est connu pour sa syntaxe concise et ses bibliothèques riches, adaptées à la science des données et à l'apprentissage automatique.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

VSCode Windows 64 bits Télécharger
Un éditeur IDE gratuit et puissant lancé par Microsoft

ZendStudio 13.5.1 Mac
Puissant environnement de développement intégré PHP

MantisBT
Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

mPDF
mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),
