Maison >développement back-end >Golang >Une adresse IP se trouve-t-elle dans une plage spécifiée ?

Une adresse IP se trouve-t-elle dans une plage spécifiée ?

DDD
DDDoriginal
2024-11-11 21:32:03275parcourir

Is an IP Address Within a Specified Range?

Détermination de l'inclusion d'une plage IP dans GoLang

Dans le domaine de la gestion de réseau, il est crucial de vérifier si une adresse IP appartient à une plage spécifiée. gamme. Dans Go/GoLang, l'accès à ces informations est rendu efficace grâce à l'utilisation de la comparaison d'octets.

Représentation des adresses IP

Les adresses IP sont désignées sous forme de tranches bigendiennes d'octets, permettant pour des opérations de comparaison simples.

Répartition des fonctions

La solution fournie utilise une fonction nommée check, qui détermine si une adresse IP donnée se trouve dans une plage définie. Voici comment il fonctionne :

  1. Il analyse l'adresse IP d'entrée dans sa représentation interne en octets à l'aide de net.ParseIP.
  2. Il valide l'adresse IP analysée en tant qu'adresse IPv4 en vérifiant qu'elle est pas nul lorsqu'il est converti en adresse IPv4 à l'aide de To4.
  3. Il utilise des octets. Comparez pour vérifier si l'adresse IP d'entrée se trouve entre les limites de la plage spécifiée.
  4. Si l'adresse IP est dans la plage , il imprime un message de confirmation ; sinon, il informe qu'il est en dehors de la plage.

Utilisation

La fonction principale peut être invoquée avec différentes adresses IP comme paramètres pour vérifier leur appartenance à la plage.

Exemple de sortie

L'exemple de code illustre la fonctionnalité de la solution :

  • L'adresse IP 1.2.3.4 n'est pas dans la plage.
  • L'adresse IP 216.14.49.185 est comprise dans la plage.
  • L'entrée qui n'est pas une adresse IPv4, telle que 1::16, est reconnue comme invalide.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn