IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Parsing de la table arp


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 72
    Par défaut Parsing de la table arp
    Bonjour tout le monde,
    J'ai un petit problème que je n'arrive pas à résoudre, l'environnement sur lequel je travaille est linux, le code est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    int main()
    {
    	FILE* fd = NULL;
    	char buffer[256];
    	char c;
     
        fd =fopen("/proc/net/arp", "r");
        if(!fd)
        {
    		puts("error opening arp table");
    		return -1;
    	}
    	fgets(buffer,sizeof(buffer),fd);//skip the first line
    	while((c = fgetc(fd)) != EOF)
    	{
    		fgets(buffer,sizeof(buffer),fd);
    		//fread(buffer,sizeof(buffer),sizeof(buffer),fd);
    		printf("buffer is %s\n",buffer);
    	}
    	return 0;
    }
    donc je veux lire la table arp, sous linux la table arp est formulé ainsi
    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [sst@ubuntu sst]$ cat /proc/net/arp                                                                                                                                          
    IP address       HW type     Flags       HW address            Mask     Device
    192.168.1.1      0x1         0x2         02:FC:EB:7C:4B:DD     *        eth1
    192.168.5.1      0x1         0x2         00:08:A1:9E:52:A6     *        eth2

    mais le résultat de mon code est le suivant :
    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    92.168.1.1      0x1         0x2         02:FC:EB:7C:4B:DD     *        eth1
    92.168.5.1      0x1         0x2         00:08:A1:9E:52:A6     *        eth

    Le premier caractère de l'adresse IP ne s'affiche pas.

    est-ce que quelqu'un pourrait m'éclaircir ce problème SVP.

    Merci infiniment.

  2. #2
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    #include <stdio.h>
     
    int main (void)
    {
       FILE *fd = NULL;
       char buffer[256];
     
       fd = fopen ("/proc/net/arp", "r");
       if(!fd)
       {
          puts ("error opening arp table");
       }
       else
       {
          fgets (buffer, sizeof buffer, fd);
          while (fgets (buffer, sizeof buffer, fd) != NULL)
          {   
             printf("%s",buffer);
             fflush (stdout);
          }
       }
       return 0;
    }

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 72
    Par défaut
    Merci beaucoup, ça marche

    quoique je me demande est-ce que le fflush à un impact sur mon algorithme vu que je veux récupérer l'adresse IP et la stoquer

  4. #4
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Citation Envoyé par ryadh.naouar Voir le message
    quoique je me demande est-ce que le fflush à un impact sur mon algorithme vu que je veux récupérer l'adresse IP et la stoquer
    Non, il n'est là qu'à des fins d'affichage.
    Cordialement.

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 72
    Par défaut
    Ok je vous remercie infiniment.

  6. #6
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Pas de quoi. Pense à la balise "résolu".
    Cordialement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. table ARP en java
    Par asrekik dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 08/10/2007, 17h57
  2. [ Noob - Perl Reseau ] Script perl qui recupere les tables ARP des switches Cisco
    Par oneal42 dans le forum Programmation et administration système
    Réponses: 1
    Dernier message: 04/09/2007, 11h11
  3. Réponses: 4
    Dernier message: 02/08/2006, 16h07
  4. table arp sur un switch niveau 3
    Par suya95 dans le forum Développement
    Réponses: 5
    Dernier message: 06/06/2006, 16h24
  5. interroger la table arp d'un serveur dhcp
    Par le y@m's dans le forum Développement
    Réponses: 6
    Dernier message: 17/03/2005, 08h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo