36 votes

Une partie d'une adresse IPv4 peut-elle être mise à zéro ?

Je travaille sur une modification d'une application Java EE qui s'authentifierait sur la base de l'adresse IP de l'utilisateur à l'aide de ServletRequest.getRemoteAddr . Nous stockons des plages d'adresses IP (FROM_IP et TO_IP) dans une base de données et le système ne s'authentifie que si l'adresse IP d'un utilisateur se situe dans une plage donnée.

Les testeurs ont signalé que le chiffre 0 (zéro) ne devrait pas être autorisé dans les valeurs FROM_IP et TO_IP (à quelque endroit que ce soit). Notez qu'il s'agit d'une application tournée vers l'Internet, et que nous n'obtiendrons donc que des adresses IP publiques.

Les testeurs ont-ils raison de suggérer cette validation ? Pourquoi ne pouvons-nous pas avoir un zéro dans la plage de valeurs comme dans 167.23.0.1 - 167.23.255.255 ?

2voto

dforce Points 182

Si la plage de réseaux contient plus de 256 adresses IPv4, certaines d'entre elles contiendront un ou plusieurs zéros. Comme les adresses IPv4 n'ont pas de classe, vous pouvez utiliser sipcalc à vérifier.

user@linux:~ # sipcalc 10.1.0.0/8 | grep "Usable range"
Usable range            - 10.0.0.1 - 10.255.255.254

user@linux:~ # sipcalc 10.0.0.1/8 | grep "Usable range"
Usable range            - 10.0.0.1 - 10.255.255.254

user@linux:~ # sipcalc 10.0.1.0/8 | grep "Usable range"
Usable range            - 10.0.0.1 - 10.255.255.254

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X