Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3012 connectés 

  FORUM HardWare.fr
  Programmation
  C

  [c] Adresses IP et masques type 125.253.*.* ...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[c] Adresses IP et masques type 125.253.*.* ...

n°547182
Tetedeienc​h
Head Of God
Posté le 22-10-2003 à 14:49:13  profilanswer
 

Hello !
 
Pour notre projet, on ne doit accepter que des requêtes de certaines sources, définies dns un fichier de config, qui contient des regles de type :
 
ACCEPT IP 192.168.*.*
 
Mon probleme est de comparer ce masque a l'adresse IP contenue dans la struct sockaddr_in recue apres le listen.
 
J'ai vu comment y acceder via strcut sockaddr_in.sin_addr.s_b ( 0,1,2,3) pour accéder aux parties de l'IP, mais maintenant, je me demande comment comparer ca, de type unsigned char, au masque que je récupère sous forme de string.
 
Merci :jap:

mood
Publicité
Posté le 22-10-2003 à 14:49:13  profilanswer
 

n°547190
chrisbk
-
Posté le 22-10-2003 à 14:54:00  profilanswer
 

huh ?
ben tu convertis ?

n°547205
Tetedeienc​h
Head Of God
Posté le 22-10-2003 à 15:02:02  profilanswer
 

et comment :D
 
le vla mon soocÿ :D


Message édité par Tetedeiench le 22-10-2003 à 15:02:13
n°547208
chrisbk
-
Posté le 22-10-2003 à 15:03:15  profilanswer
 

ben ca c'est con a dire mais c'est ton probleme :D
je sais pas comment tu parse ton fichier de conf

n°547211
Tetedeienc​h
Head Of God
Posté le 22-10-2003 à 15:09:04  profilanswer
 

Ben j'ai le masque sous forme d'une chaine style"192.168.*.*".
 
Apres, avec strtok et co, je peux facilement isoler les composantes.
 
Mais comment tu transforme 192 en int sous forme unsigned char ( ou le contraire ).
 
La je sais pas !

n°547213
El_gringo
Posté le 22-10-2003 à 15:09:52  profilanswer
 

tetedeiench a écrit :

et comment :D
 
le vla mon soocÿ :D


 
C'est pas terrible nu masque comme ça.
Le système existant des masques de réseau bit à bit est plus simple à vérifier, et offre plus de possibilités de paramétrage. Là tu vas être obligé de faire une comparaison de chaines de caractères (contre une comparaison de bits, plus rapide et simple, avec les masque d'IP habituels).
Il existe quoi comme "méta caractères" possibles dans tes masques (*, et autre choses ?)
 
EDIT:
Et t'as le droit de faire des masques genre: "192.168.1*.4*8" ?


Message édité par El_gringo le 22-10-2003 à 15:11:08
n°547217
chrisbk
-
Posté le 22-10-2003 à 15:11:00  profilanswer
 

tetedeiench a écrit :

Ben j'ai le masque sous forme d'une chaine style"192.168.*.*".
 
Apres, avec strtok et co, je peux facilement isoler les composantes.
 
Mais comment tu transforme 192 en int sous forme unsigned char ( ou le contraire ).
 
La je sais pas !


 
unsigned char c = (unsigned char)monInt;
monInt c = (int)monUnSignedChar;
 
 
y'a vraiment un truc que je dois pas comprendre


Message édité par chrisbk le 22-10-2003 à 15:11:43
n°547218
Tetedeienc​h
Head Of God
Posté le 22-10-2003 à 15:11:36  profilanswer
 

Un bête cast ca passe :??:
 
Me dit pas que j'ai cherché encore midi à 14heures...

n°547219
chrisbk
-
Posté le 22-10-2003 à 15:12:25  profilanswer
 

ben tu risques des ennuis si ton int est > 255 ou <0 et que tu cast ca en unsigned char, mais la vu comment tu bosses je penses pouvoir dire que t peinard

n°547220
El_gringo
Posté le 22-10-2003 à 15:12:31  profilanswer
 

chrisbk a écrit :


 
unsigned char c = (unsigned char)monInt;
monInt c = (int)monUnSignedChar;
 
 
y'a vraiment un truc que je dois pas comprendre


 
heu, il voulait pas plutôt

Code :
  1. int iMonInt = atoi ("192" ); // ss windows seulement


Message édité par El_gringo le 22-10-2003 à 15:13:04
mood
Publicité
Posté le 22-10-2003 à 15:12:31  profilanswer
 

n°547222
chrisbk
-
Posté le 22-10-2003 à 15:13:45  profilanswer
 

El_gringo a écrit :


 
heu, il voulait pas plutôt

Code :
  1. int iMonInt = atoi ("192" ); // ss windows seulement




 
ben sinon sscanf....
perso je convertirais tout ca au parse mais bon...

n°547240
Tetedeienc​h
Head Of God
Posté le 22-10-2003 à 15:28:36  profilanswer
 

El_gringo a écrit :


 
heu, il voulait pas plutôt

Code :
  1. int iMonInt = atoi ("192" ); // ss windows seulement




 
non, quand même, atoi, je connais :lol:
 
nan nan, la valeur est rangée dans un unsigned char et donc je pensais devoir convertir pouir comparer ca a un int... maintenant, si un bête cast ca passe...

n°547243
El_gringo
Posté le 22-10-2003 à 15:29:18  profilanswer
 

Perso j'essyaerai de faire utiliser des masques corrects.

n°547697
Tetedeienc​h
Head Of God
Posté le 22-10-2003 à 20:20:45  profilanswer
 

Je peux pas changer l'énoncé du projet donc que ces masques soient merdiques m'en foo, je dois faire avec :(
 
Je viens de me rendre compte que sous nux les IP étaient en uint_32_t ... impossible de trouver comment on bosse avec ca... une idée ?

n°547761
Tetedeienc​h
Head Of God
Posté le 22-10-2003 à 21:29:29  profilanswer
 

ok je viens de toper inet_ntoa et inet_aton :love:

n°547769
Taz
bisounours-codeur
Posté le 22-10-2003 à 21:36:34  profilanswer
 

exemple parfait de merde avec atoi ... tout le monde est d'accord que 0 est une valeur valide et important pour un octet dans une adresse IP ? manque de bol, si atoi échoue, elle renvoie 0 ... dommage n'est ce pas ? --> sscanf

n°547793
Tetedeienc​h
Head Of God
Posté le 22-10-2003 à 22:04:55  profilanswer
 

Effectivement, c'est moyen de chez moyen :/
 
mais j'utilise pas atoi mais quelque chose de pire, strtok suivi de strcmp :D


Message édité par Tetedeiench le 22-10-2003 à 22:05:09
n°547835
gilou
Modérateur
Modzilla
Posté le 22-10-2003 à 23:05:35  profilanswer
 

Taz a écrit :

exemple parfait de merde avec atoi ... tout le monde est d'accord que 0 est une valeur valide et important pour un octet dans une adresse IP ? manque de bol, si atoi échoue, elle renvoie 0 ... dommage n'est ce pas ? --> sscanf


J'allais le dire. Methode plus qu'éprouvée.
A+,


Message édité par gilou le 22-10-2003 à 23:06:13

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°547938
Tetedeienc​h
Head Of God
Posté le 23-10-2003 à 00:09:26  profilanswer
 

atoi j'ai banni depuis belle lurette en fait ;)

n°548051
El_gringo
Posté le 23-10-2003 à 09:02:48  profilanswer
 

Taz a écrit :

exemple parfait de merde avec atoi ... tout le monde est d'accord que 0 est une valeur valide et important pour un octet dans une adresse IP ? manque de bol, si atoi échoue, elle renvoie 0 ... dommage n'est ce pas ? --> sscanf


 
Tu casses les couilles Taz. Quand est ce que tu vas arrêter d'être méprisant, dès que tu fais un remarque ?

n°548063
chrisbk
-
Posté le 23-10-2003 à 09:15:18  profilanswer
 

El_gringo a écrit :


 
Tu casses les couilles Taz. Quand est ce que tu vas arrêter d'être méprisant, dès que tu fais un remarque ?


 
je le trouvais plus meprisant envers atoi que toi (superbe phrase [:dawa])

n°548087
Tetedeienc​h
Head Of God
Posté le 23-10-2003 à 09:55:15  profilanswer
 

chrisbk a écrit :


 
je le trouvais plus meprisant envers atoi que toi (superbe phrase [:dawa])


 
Je trouve aussi :jap:
 
mais atoi cai pa bien on ai d'acaur.

n°548094
El_gringo
Posté le 23-10-2003 à 09:59:43  profilanswer
 

chrisbk a écrit :


 
je le trouvais plus meprisant envers atoi que toi (superbe phrase [:dawa])


 
Ha ouais, j'avais mal lu. Au lieu de "exemple parfait de merde avec atoi...", j'avais lu "parfait exemple de merde, avec atoi..." Merde se rapportant à "exemple", de ma conception ! :D
Bref, désolé, sur ce coup c'est moi qui agrasse gratuitement. Taz, t'as pas encore calculé, mais j'm'excuse déja ! :jap:

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  [c] Adresses IP et masques type 125.253.*.* ...

 

Sujets relatifs
Tableau avec un border de type liseré[SQL] Opération sur des masques binaires
Dataset Typé et valeur NULL[HTML]input type = .......... URL ?
Problemes avec pointeurs/tableaux adressesl'équivalent d'un type record en vb [résolu]
mime_content_type, recup extention d'un fichierFlux de donnée de type Reader
[Log4J+JBoss+JMS] Probleme de type de message[Power AMC] Qlq sait comment virer le type de données dans le schéma ?
Plus de sujets relatifs à : [c] Adresses IP et masques type 125.253.*.* ...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR