Réseau: vérif une Ip par rapport à un masque de sous réseau

coyote_fx Messages postés 55 Date d'inscription mardi 13 janvier 2004 Statut Membre Dernière intervention 18 juillet 2006 - 7 juin 2004 à 13:12
ArNOo Messages postés 46 Date d'inscription jeudi 22 avril 2004 Statut Membre Dernière intervention 17 mai 2005 - 9 juin 2004 à 21:32
Bonjour à tous,

voilà toujours dans le cadre de mon porjet je dois maintenant pouvoir vérifier des adresses ip par rapport à un masque se sous réseau. et vérifier que l'adresse n'est ni une adresse de diffusion ni l'adesse du réseau.

ex: 192.168.0.1
255.255.255.0 = OK

Faut il obligatoirement convertir les différents int (int1.int2.int3.int4) en type "octet" ? si wi comment fait on pour faire la conversion et en suite comment les manipuler ?

Dans ma classe j'arrive déja a vérifier la classe d'adresse A, B, C, D. et je vérifier que les données corespondent a un adresse ip en créent un objet de type InetAdresse et en vérifiant l'exeption éventuellement retournée.

Enfin voilà un grand merci à tout ceux qui pouront m'aider.

A+ Coyote

Pffff il fait trop chaud pour travailler.

7 réponses

ArNOo Messages postés 46 Date d'inscription jeudi 22 avril 2004 Statut Membre Dernière intervention 17 mai 2005
7 juin 2004 à 14:58
tu fait deux if un pour 10.255.255.255 =>>difusion
et un deuxieme pour 10.0.0.0

en conparent des object inetadress si ca marche pas juste comme ca. tu les caste en object et tu fait de meme

ArNOo kiXxXx
0
coyote_fx Messages postés 55 Date d'inscription mardi 13 janvier 2004 Statut Membre Dernière intervention 18 juillet 2006
8 juin 2004 à 08:54
Un masque ne se limite pas à 255 ...
Si le masque est 255 255 252 0 comment tu testes l'adresse 193.55.64.34 ?
0
ArNOo Messages postés 46 Date d'inscription jeudi 22 avril 2004 Statut Membre Dernière intervention 17 mai 2005
8 juin 2004 à 09:32
ca je suis d'acord pour le mask mais on s'en tap!!!

inetaddress a=inetaddress.getbyname(255 255 252 0);
inetaddress b=inetaddress.getbyname(193.55.64.34);
(object)a.equals((object)b)

ca te va comme exemple
ArNOo kiXxXx
0
coyote_fx Messages postés 55 Date d'inscription mardi 13 janvier 2004 Statut Membre Dernière intervention 18 juillet 2006
9 juin 2004 à 21:21
heuuu

Désolé, là je ne comprends vraiment pas le principe...

Tu peux m'éclairer ?
Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ArNOo Messages postés 46 Date d'inscription jeudi 22 avril 2004 Statut Membre Dernière intervention 17 mai 2005
9 juin 2004 à 21:28
/*ca c'est bon les deux ligne ci dessus*/
inetaddress masque=inetaddress.getbyname(255 255 252 0);
inetaddress monip=inetaddress.getbyname(193.55.64.34);

/*apré sa sappelle du casting*/
if((object)masque.equals((object)monip))
{
    ///si ok tu fait ce que tu doit faire sinon
}
else
{
   ////tu fait autre chose
}

ArNOo kiXxXx
0
coyote_fx Messages postés 55 Date d'inscription mardi 13 janvier 2004 Statut Membre Dernière intervention 18 juillet 2006
9 juin 2004 à 21:29
Tu compares deux objets qui contiennent des données différentes ??? Ca retournera toujours false ton code.
0
ArNOo Messages postés 46 Date d'inscription jeudi 22 avril 2004 Statut Membre Dernière intervention 17 mai 2005
9 juin 2004 à 21:32
mais c un exemple ds le champs monip tu met l'ip que tu veut tester pas plus pas moin!!!!!
moi je te donne une méthode simple pour te montrer le principe apré tu teste et tu de débrouille
c pas noel en été!!!

/*ca c'est bon les deux ligne ci dessus*/
inetaddress masque=inetaddress.getbyname(255.255.252.0);
inetaddress monip=inetaddress.getbyname(255.255.252.0);

/*apré sa sappelle du casting*/
if((object)masque.equals((object)monip))
{
///si ok tu fait ce que tu doit faire sinon
}
else
{
////tu fait autre chose
}

é suila il retourne tout le temp true!!!c étonant non!!!
ArNOo kiXxXx
0