Bien sure, tu peux même avoir différents jdk ou jre, 32 ou 64 bit, il suffit de prendre le bon pour ton projet.
Version imprimable
Bien sure, tu peux même avoir différents jdk ou jre, 32 ou 64 bit, il suffit de prendre le bon pour ton projet.
merci wax78 pour ta réponse.
en effet fallait installer un jdk 32 bits et ça marche nickel pour l'instant :ccool:
je mets les étapes d'installation, ça pourrai servir à quelqu'un d'autre peut être :
- installez un JDK 32 bits (moi j'ai installé JDK6 -> lien)
- installez NetBeans ou Eclipse (ou pas d'IDE ;))
- installez WinPcap -> lien
- installez Jpcap (j'ai pris la version 0.6 -> lien)
- lors de l'installation de Jpcap j'ai coché la case "JDK" aussi (ainsi il mettra les librairie automatiquement dans les bons dossiers :ccool:)
- enfin PROGRAMMEZ!! :D (tuto -> lien)
je ne mettrai pas le sujet comme résolu, on sait jamais peut être je rencontrerai des difficultés lors de l'implémentation du scanner/sniffer.
je tiens à remercier tous ceux qu'ils ont participé a cette discussion en général et en particulier wax78 et tchize_.
merci à bientôt.
Bonsoir, de retour :)
J'ai deux petites questions. Lorsque j'utilise la fonction suivante (avec Jpcap) :
J'ai comme résultat (par exemple) :Code:
1
2
3
4 ... //print out its IP address, subnet mask and broadcast address for (NetworkInterfaceAddress a : devices[i].addresses) System.out.println(" address:"+a.address + " " + a.subnet + " "+ a.broadcast);
Quelle est la différence entre ces deux adresses? Laquelle je dois utiliser?Citation:
address:/fe80:0:0:0:3451:e274:322a:fd9f null null
address:/172.16.160.1 /255.255.255.0 /255.255.255.255
merci à bientôt.
La première ressemble a une adresse ipv6 et l'autre ipv4.
Laquelle choisir ? Bah ca c'est toi qui est censé le savoir, mais dans l'absolu, prends l'ipv4 a mon avis.
Merci wax78 pour ta réponse.
Je vais continuer mon programme et je reviendrais donner plus de détails.
Merci à bientôt.
Bonjour à tous,
J'aimerai avoir votre avis sur ce qui suit.
Est ce que le protocole ICMP fait partie de la couche réseau ou transport? Je vois des fois qu'on le met dans la couche transport, est ce une erreur?
Si quelqu'un peut éclaircir ce point pour moi svp.
Merci à bientôt.
Couche réseau dans le modèle OSI, mais une recherche t'aurais répondu bien avant moi...
Merci wax78 pour ta réponse.
En effet, je sais qu'il fait partie de la couche réseau (c'est ce que j'ai dans mes cours). Mais, parfois, sur le net, je trouve ICMP dans la couche transport. Étant donné qu'il n'est pas comme le protocole IP et qu'il n'offre pas exactement les mêmes service qu'un protocole de la couche réseau, je me suis demandé si on peut le mettre dans la couche transport (peut être en dehors du modèle OSI).
Il est tout a fait possible que je raconte des bêtises :oops: mais j'aimerai juste enlevé ce doute de ma tête :)
Merci à bientôt.
Bonsoir à tous,
Je reviens relancer la discussion car je ne comprend pas le mode d'affichage des informations des paquets et j'espère trouver de l'aide.
Je m'explique, par exemple dans wireshark lorsqu'on lance une capture on a trois panels. En effet, les deux premier je comprend ce qu'il affiche dedans par contre le troisième c'est quoi qui est affiché?
voici un copier/coller pour donner un aperçu :
Si quelqu'un peut me filer un lien pour se documenter la dessus ou m'expliquer un peu c'est quoi cette succession de chiffres et symboles.Code:
1
2
3
4
5
6
7
8 0000 45 00 00 50 5a 50 40 00 40 06 30 96 d4 5f 57 3e E..Phdkl@.@.0.._jkp> 0010 81 1b 03 09 b7 6b 1a 0b 65 a1 76 40 17 49 6c d1 .....s..a.t@.Il. 0020 50 18 f4 00 1d 3e 00 00 50 52 49 56 4d 53 47 20 P....>..lzzlzld,. 0030 23 73 75 62 6b 75 6c 74 75 72 65 20 3a 73 6e 69 #nsss.:... 0040 66 66 69 6e 67 20 72 30 30 6c 7a 20 3a 29 0d 0a ..... ......
Merci à bientôt.
La 3 ème colonne est l'équivalent en ASCII de la colonne 2 qui elle est en hexadécimal.
De mémoire:
En haut la liste des paquet capturé
Au milieu: pour le paquet sélectionné son interprétation (dépend des protocoles)
En bas: les données brutes (pour les amateurs de la masturbation neuronale)
Merci pour vos réponses.
Je comprend par la que la première colonne et la traduction en hexadécimal de la deuxième colonne? Je pensais que c'était le numéros de la ligne :oops: (la ligne 1 -> 0010 et la 2 -> 0020 et ainsi de suite).
j'ai fais une fonction qui me donne le résultat en brute. voici le code :
J'ai comparé le résultat trouvé avec celui dans wireshark pour un paquet donné et c'est le même. Par contre, je comprend pas ce que c'est :cry:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 public void AfficheCode(Packet p){ //initialisation du tableau qui contiendera les infos de l'entête byte[] bytes = new byte[p.header.length + p.data.length]; //on remplie notre tableau System.arraycopy(p.header, 0, bytes, 0, p.header.length); System.arraycopy(p.data, 0, bytes, p.header.length, p.data.length); int cpt = 0; StringBuilder buf = new StringBuilder(); for(int i = 0, j; i < bytes.length;) { String valHex = Integer.toString(cpt++, 16); buf.append(this.AjoutZero(valHex).toUpperCase()).append(" "); for(j = 0; j < 16 && i < bytes.length; j++, i++) { String d = Integer.toHexString((int)(bytes[i]&0xff)).toUpperCase(); buf.append(d.length() == 1 ? "0" + d : d).append(" "); if(j == 7) buf.append(" "); if(bytes[i] < 32 || bytes[i] > 126) bytes[i] = 46; } System.out.println(i + " " + j); try{ buf.append("[").append(new String(bytes, i - j, j - 8)).append(" ").append(new String(bytes, i - (j - 7), j)).append("]\n"); } catch(StringIndexOutOfBoundsException ex) { buf.append("[").append(new String(bytes, i - j, j)).append("]\n"); } //buf.append("\n"); } cpt = 0; //affichage dans un jtextarea setText(buf.toString()); setCaretPosition(0); } private String AjoutZero(String s) { String st = ""; if(s.length() == 1) st = "00" + s + "0"; else if(s.length() == 2) st = "0" + s + "0"; else if(s.length() == 3) st = s + "0"; return st; }
Est ce que c'est possible d'avoir plus de détail la dessus SVP?
Merci à bientôt.
Merci pour ta réponse tchize_.
Tout d'abord je dois dire que j'y connais pas grand chose en code binaire, hexadécimal, ascii et toutes les opérations liées à cela.
Premièrement, est ce que tu peux me dire qu'est ce que c'est "l'offset"?
Deuxièmement, il y a 32 caractères mais tu dis un bloc de 64bits. Tu peux m'expliquer stp?
Je pense que je pose des questions bête mais faut m'excuser car ce n'est pas mon domaine le réseaux en général.
merci à bientôt.
Ca veut dire le "déplacement" ou l'"endroit".
0 étant au début, 16 étant le 16ème byte par exemple... mais bon la on est plus dans un problème de java du coup :aie:
Dans :Tu px découper en 2 colonne :Code:45 00 00 50 5a 50 40 00 40 06 30 96 d4 5f 57 3e
Code:45 00 00 50 5a 50 40 00
qui comme tu peux le constater ont 8 valeurs. (8 Bytes), que tu multiplies par 8 (car 1 byte = 8 bit) => 64 bit, mais cela n'a rien avoir avec le "réseau", c'est le b.a.-ba de l'informatique ca :)Code:40 06 30 96 d4 5f 57 3e
merci wax78 pour ta réponse.
Je comprend mieux maintenant merci et j'ai mal compris la réponse de tchize_ aussi (désolé :oops:).
Oui en effet, mais je suis curieux et j'aimerai comprendre ce que je suis entrain de programmer. J'ai fini le Sniffer et la moitié de ce que j'affiche je ne le comprend pas :aie: je compare avec wireshark pour voir si j'ai les bons résultats.
On me demande souvent si je suis un informaticien :mouarf:
En tout cas merci beaucoup pour vous deux, vous m'avez beaucoup aidé.
à bientôt.