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

  FORUM HardWare.fr
  Programmation
  C

  [C] Comment obtenir hostname distant (Sniffer)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] Comment obtenir hostname distant (Sniffer)

n°1707274
_kev_
Posté le 25-03-2008 à 13:24:43  profilanswer
 

Bonjour tout le monde ! :hello:  
 
Voilà je viens ici pour vous demander votre aide pour un pti programme(un pti sniffer) que je suis en train de faire .
Je voudrais que le programme s'exécute sur un réseau local et renvoi les Adresses IP et MAC associées , ensuite qu'il détermine si les équipements découverts sont serveurs ou client(étude des ports ouverts). Ensuite récupérer le hostname de chaque IP et pourquoi pas le système d'exploitation.
 
C'est sur ces deux derniers points que je n'arrive pas encore à arriver à mes fins ^^ :ange:  
 
En effet pour trouver le hostname ,en cherchant sur le net j'ai vu des fonctions (gethostbyaddr) qui renvoient le nom d'hôte du poste sur lequel est exécutè le programme, code qui serait comme ceci :

Code :
  1. #include <netdb.h>
  2. #include <netinet/in.h>
  3. #include <sys/socket.h>
  4. int main ( int argc, char *argv[] ) {
  5.   struct hostent *sn;
  6.   struct in_addr in;
  7.   if ( argc != 2 )
  8.     exit(1);
  9.   in.s_addr = inet_addr(argv[1]);
  10.   sn = gethostbyaddr((char *)&in, 4, AF_INET);
  11.   if ( sn )
  12.     printf("%s\n", sn->h_name);
  13.   else
  14.     printf("?\n" );
  15.   return 0;
  16. }


Je n'utilise pas ce code, je ne sais pas si la fonction conviendrait a mon prog.
Moi je voudrais l'exécuter pour chacune de mes IP trouvée (stockées dans une mémoire partagée), et je n'arrive pas à me servir de cette fonction.
 
 
Y aurait il une autre solution (ou requête DNS ?) ?  :??:  
A oui j'allais oublier , je suis sous Ubuntu  :)  
 
 
Merci d'avance  
 
 
P.S : Et au pire en bonus si quelqu'un aurait une idée comment déterminer les équipements d'interconnexions présents ( Switch , Routeur ( Cisco CDP..) je suis preneur !
 
:bic: ShNaKeUr
 

mood
Publicité
Posté le 25-03-2008 à 13:24:43  profilanswer
 

n°1707346
_kev_
Posté le 25-03-2008 à 14:25:52  profilanswer
 

bon bah up ^^

n°1707366
dreameddea​th
Posté le 25-03-2008 à 14:36:59  profilanswer
 

bonjour,
 
gethostbyaddr est bien la bonne fonction, mais l'énoncé est faux ("nom d'hôte du poste sur lequel le programme tourne"), il s'agit de récupérer les noms dns d'une adresse donnée (XXX.XXX.XXX.XXX) en utilisant les paramatères DNS de la machine hote, ce qui est bien différent...
 
Pour la deuxième partie (OS), je n'ai pas d'idée sur le comment faire...


Message édité par dreameddeath le 25-03-2008 à 14:37:10
n°1707375
_kev_
Posté le 25-03-2008 à 14:49:57  profilanswer
 

oki d'accord !  
 
Bon je vais tester cette fonction pour voir si je peux resortir le nom d'une machine distante a partir de son adresse IP .

n°1707404
_kev_
Posté le 25-03-2008 à 15:44:42  profilanswer
 

Et sinon je voudrais resortir les informations contenues dans la mémoire partagée(chaine,entier,adresse ip )  vers un fichier (txt?) , programmant depuis peu je ne connais pas de fonctions pour ceci. Donc si un de vous aurait une solution je suis preneur :)
 
Je n'ai en effet pas trouvé mon bonheur sur google  
 
Merci d'avance


Message édité par _kev_ le 25-03-2008 à 15:53:02
n°1707590
matafan
Posté le 25-03-2008 à 20:08:52  profilanswer
 

Mémoire partagée ???
 
C'est la mémoire de ton process tout court, il n'y a pas d'histoire de mémoire partagée dans ce que tu fais. Pour manipuler les fichiers c'est fopen/fread/fwrite. Si tu veux enregister tes données sous forme de texte lisible, c'est fprintf qu'il te faut.


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

  [C] Comment obtenir hostname distant (Sniffer)

 

Sujets relatifs
Comment exécuter des commandes à distant avec un code java?Obtenir un MCD a partir d'une base venant de PhpMyadmin
délai pour obtenir un .fr qui me semble long (8 jours et tjrs rien)Obtenir liste des tables utilisées par les scripts php
Obtenir le code source d'une page externeDbase : obtenir un pdf au lieu d'imprimer
PB de download de fichier sur serveur distant.Obtenir le schéma d'un ldap avec php
[J2EE] Appel d'un JCA distant est il possible avec JBoss ?[VBS] Probleme WMI distant (sur Win32_Product)
Plus de sujets relatifs à : [C] Comment obtenir hostname distant (Sniffer)


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