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

Entrée/Sortie Java Discussion :

Sniffer scanner réseau


Sujet :

Entrée/Sortie Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 86
    Points : 54
    Points
    54
    Par défaut Sniffer scanner réseau
    bonjour,

    je dois réaliser pour mon projet un sniffer et un scanner de réseau en Java. Cependant voilà je n'ai aucune connaissance dans ce domaine par contre je sais programmer en Java.

    j'ai fais des recherches sur le web mais quand on maitrise pas un sujet c'est difficile de trouver des réponses.

    alors je me tourne vers vous en espérant trouver des réponses. J'aimerais savoir par où commencer et comment je dois m'y prendre pour programmer un sniffer/scanner en Java.

    J'espère que j'ai bien exposé mon problème.

    Merci à bientôt.

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    Pour ce qui est du sniffer, dans mes souvenir il y'avait jPcap qui offrait ce qu'il fallait comme lib java pour faire ce genre de choses.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Ben c'est pas trop un sujet pour débutant, je te confirme.

    Mais sinon, le problème n'est sans doute pas le forum dans lequel tu demandes, mais plutôt qu'on sait pas trop quoi te dire.

    Java ne propose aucune classe pour sniffer le réseau, point final. Pour faire cela il faudrait donc une bibliothèque JNI qui s'implémente sur les routines de l'OS capables de sniffer le réseau et qui expose ça en Java. Du coup, quel intérêt d'utiliser Java ? Autant utiliser directement le langage de l'OS, et du coup, pourquoi faire son propre sniffer ? Autant utiliser ceux qui existent.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 86
    Points : 54
    Points
    54
    Par défaut
    merci à vous deux pour vos réponses.

    premièrement, wax78, j'ai fais des recherches avant que tu poste ce message et en effet on peut utiliser la librairie jPcap.

    deuxièmement, thelvin, je comprend mieux pourquoi je ne connaissais pas au moins une classe Java qui permet de le faire

    le but de ce projet, à mon avis et d'après ce que vous avez dis, c'est d'utiliser le langage Java pour créer une interface et afficher les résultats d'une librairie quelconque afin de montrer qu'on sait utiliser cette librairie.

    c'est vrai qu'on peut utiliser des sniffers et scanners déjà fait, d'ailleurs ils sont bien fait, mais je pense que le but n'est pas d'utiliser un logiciel mais de montrer qu'on comprend le fonctionnement.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 86
    Points : 54
    Points
    54
    Par défaut
    d'après mes recherche on peut utiliser la librairie JPcap qui permet de sniffer le réseau.

    je sais pas encore mais je pense que je vais réussir à l'utiliser sinon j'espère trouver de l'aide auprès de vous.

    ma question est comment savoir qu'une interface réseau est activé et la quelle choisir pour l'utiliser avec la librairie?

    ma question peut paraitre anodine mais excusez mon incompétence dans ce domaine .

    j'ai trouvé un tuto qui explique comment récupérer les interfaces réseau d'une machine mais je sais pas lesquelles je peux utiliser

  6. #6
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    Tu as un petit tutorial sur le site de jPcap, cela devrait déjà te renseigner.

    Par contre quand tu dis :

    ma question est comment savoir qu'une interface réseau est activé et la quelle choisir pour l'utiliser avec la librairie?
    Je ne sais pas ce que tu entends par activé, mais par defaut toutes les interfaces que tu obtiens avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NetworkInterface[] devices = JpcapCaptor.getDeviceList();
    devrait l'être et donc être utilisables.

    Ensuite pour ouvrir l'interface tu devras faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    NetworkInterface[] devices = JpcapCaptor.getDeviceList();
    int index=...;  // set index of the interface that you want to open.
     
    //Open an interface with openDevice(NetworkInterface intrface, int snaplen, boolean promics, int to_ms)
    JpcapCaptor captor=JpcapCaptor.openDevice(device[index], 65535, false, 20);
    En théorie tu devrais savoir quelle interface tu vas utiliser (probablement une interface Ethernet ou celle du wifi).

    Regarde ce que getDeviceList() te retourne et tu auras surement une piste.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    281
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 281
    Points : 321
    Points
    321
    Par défaut
    Pour sniffer un réseau, il ne suffit pas de vérifier s'il y a "quelqu'un" à chaque adresse ip ? Si c'est le cas, tu n'as pas besoin de librairie externe.

  8. #8
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    Tu confonds sniffer et scanner me semble-t-il.

    Sniffer : va écouter tout ce qui passe par le reseau (chaque paquets) en vue d'une analyse ou autres.
    Scanner : Vérifier si quelques choses réponds (un service, un port, ...).

    Pour la scan simple tu pourrais ne pas avoir besoin de libraires en effet, mais dans certains cas tu n'as pas le choix (machine configurée spécialement avec un firewall, il suffit de voir le nombre d'options que fournit un scanner comme nmap par exemple).
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 86
    Points : 54
    Points
    54
    Par défaut
    merci wax78 pour ta réponse.

    quand je disais quelle interface active c'est parce que j'ai tester la solution du tuto que j'ai cité auparavant et quand je récupère les interfaces réseau il m'afficher plusieurs

    Donc je me demandais laquelle va fonctionner. en effet, mon programme doit permettre à l'utilisateur de choisir une interface réseau avant de commencer à sniffer ou scanner.

    je vais lire le tuto que tu m'as conseillé et faire quelques essais afin de pouvoir mieux exposer mon problème .

    je te remercie à bientôt.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 86
    Points : 54
    Points
    54
    Par défaut
    je suis toujours entrain de me documenter sur le sujet et j'aimerai savoir c'est quoi la différence entre Jpcap, WinPcap et jNetPcap?

    merci d'avance! à bientôt

  11. #11
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    jpcap est une librairie native permettant d'utiliser libpcap en java
    winpcap est le portage windows de libpcap
    jnetpcap est aussi une librairie native permettant d'utiliser libpcap en java

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 86
    Points : 54
    Points
    54
    Par défaut
    merci tchize_ pour ta réponse.

    je travail sous win7 et j'utilise l'IDE NetBeans. Donc j'ai installé Jpcap et WinPcap et j'ai rajouter le jar de Jpcap dans mon projet sous netBeans (propriété-->librairies-->compile). Cependant, j'ai l'erreur suivante quand je compile mon projet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: no jpcap in java.library.path
    je ne vois pas d'où viens cette erreur

    est ce que quelqu'un sait qu'est ce que je dois rajouter pour corriger cette erreur?

    merci à bientôt.

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 86
    Points : 54
    Points
    54
    Par défaut
    j'ai trouvé la solution (ici) à cette erreur mais maintenant j'ai l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: C:\Program Files (x86)\Java\jre7\bin\Jpcap.dll: 
    Can't load IA 32-bit .dll on a AMD 64-bit platform
    ....
    quelqu'un peut-il m'aider svp?

  14. #14
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    tu as installé une jpcap 32 bits que tu essaie de charger avec une java 64bit. Tu dois prendre une architecture compatible (à savoir jpcap 64 bits)

  15. #15
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    Pour bien faire aussi, il ne faut pas mettre les DLL dans program files. (enfin ca c'est mon avis).

    Il faut les laisser dans le répertoire du projet, et dans eclipse (si tu utilise eclipse) tu as un endroit ou spécifier ou trouver les éventuelles DLL.

    Dans eclipse :

    1) Properties du projets.
    2) Java build path
    3) onglet Libraries, puis selectionner le dernier element qui doit etre JRE ou JDK que tu ouvres et la tu trouveras "Native library location" ou tu peux specifier cela. Et la normalement ta dll sera chargée.

    Mais ce que vient de dire _Tchize reste valable même dans ce cas.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 86
    Points : 54
    Points
    54
    Par défaut
    merci pour vos réponses!

    Citation Envoyé par tchize_ Voir le message
    tu as installé une jpcap 32 bits que tu essaie de charger avec une java 64bit. Tu dois prendre une architecture compatible (à savoir jpcap 64 bits)
    je me doutais que c'est pas la bonne librairie mais je ne trouve pas une jpcap 64 bits. celle que j'ai téléchargé se trouve ici

    est ce que je suis sur le bon site?

    merci.

  17. #17
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Pour JPcap je ne sais pas, mais d'habitude, quand on utilise des JNI, le plus simple c'est d'installer un Java 32 bits et c'est marre.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 86
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par wax78 Voir le message
    Pour bien faire aussi, il ne faut pas mettre les DLL dans program files. (enfin ca c'est mon avis).

    Il faut les laisser dans le répertoire du projet, et dans eclipse (si tu utilise eclipse) tu as un endroit ou spécifier ou trouver les éventuelles DLL.
    ...
    j'ai bien chargé le jar et le DLL dans mon projet (sur NetBeans) mais ça marche pas car il arrive pas à compiler un DLL pour une archi 32 bits dans une archi 64 bits.

    je déduis qu'il retrouve la librairie mais il y a un problème de compatibilité.

    je sais pas où je peux trouver la jpcap 64 bits. j'ai regardé sur le site que tu m'a donné (au début du poste) mais il y a pas de jpcap 64 bits car celle que j'ai téléchargé c'est bien une 32 bits (mais je suis pas sûr ).

    je suis confus. si l'un de vous peut me mettre sur un début de piste ça serai super cool.

    merci et à bientôt.

  19. #19
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    je crois qu'il n'y a pas de jpcap 64 => autre librairie ou utiliser un java 32 bits.

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 86
    Points : 54
    Points
    54
    Par défaut
    merci tchize_ pour ta réponse.

    bon je vais arrêter de chercher une jpcap 64 bits. pour java 32 bits il suffit d'installer un JDK 32 bits (même si l'archi c'est du 64 bits)?

    je vais essayer en attendant une confirmation de votre part.

    merci à bientôt.

Discussions similaires

  1. Scanner réseau local avec MFC + sockets
    Par LuffyyffuL dans le forum MFC
    Réponses: 11
    Dernier message: 26/04/2012, 16h48
  2. Sniffer le réseau via un terminal
    Par openeyes dans le forum Réseau
    Réponses: 10
    Dernier message: 14/03/2011, 11h56
  3. Scanner en réseau
    Par busy999 dans le forum Périphériques
    Réponses: 5
    Dernier message: 24/11/2006, 00h22
  4. Sniffer réseau pour sun solaris
    Par Longrais dans le forum Réseau
    Réponses: 3
    Dernier message: 21/09/2006, 09h54

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