aluccard
Messages postés22Date d'inscriptionmercredi 30 mai 2007StatutMembreDernière intervention11 octobre 2007
-
2 juil. 2007 à 16:56
aluccard
Messages postés22Date d'inscriptionmercredi 30 mai 2007StatutMembreDernière intervention11 octobre 2007
-
4 juil. 2007 à 11:21
Bonjour,
ça fait 3 jours que je fais des recherches sur mon petit soucis et j'ai pas trouvé de tuto bien précis la dessus.
Je travail sur le même PC ayant comme IP : 150.0.250.7
Je possède 2 applications qui se connecte entre elles et s'échange des données (c'est de l'UDP)
Je souhaite récupérer des données (ou trames) indiquant leurs connections, leurs échanges, je sais qu'elles existes (trame de start et stop par exemple que je peux voir avec Ethereal).
Je voudrais intégrer dans mon Application Visual Basic ces trames afin de fermer une application lorsque je détecte la trame "Stop" par Exemple.
Est ce que je dois intégrer dans mon application VB ce que l'on appel un "sniffer"? (qui parrait il est assez complexe a mettre en place)
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 2 juil. 2007 à 21:15
Tout dépend de ce que tu veux faire exactement.
Si ton application fait partie des 2 aplis qui communiquent ensemble, je pense qu'il suffit d'ouvrir une connection UDP entre les 2 application, il y a tout ce qu'il faut dans VB2005.
Par contre si ton application est une 3eme appli qui doit esionner les échanges que les 2 autres application se font, là oui, je pense qu'il va te falloir mettre en place un sniffer.
Ceci dit je ne maitrise pas non plus le protocole UDP, je n'en connais pas toutes les possibilités.
---- Sevyc64 (alias Casy) ----# LE PARTAGE EST NOTRE FORCE #
TeBeCo
Messages postés467Date d'inscriptionlundi 24 juin 2002StatutMembreDernière intervention 9 mars 2011 2 juil. 2007 à 21:21
http://www.csharpfr.com/codes/EASY-SOCKET-V3-NETWORK-STUFF_11430.aspx ca repond a ton pb et c'est du C#, vu que le C# ressemble bcp a vb.net tu peux sois recodé la partie qui t'interesse sois l'integré dans une solution plus grosse vu que le .net suporte les solution multilangage
aluccard
Messages postés22Date d'inscriptionmercredi 30 mai 2007StatutMembreDernière intervention11 octobre 2007 3 juil. 2007 à 09:54
tout d'abord, merci a vous deux.
en effet, j'ai une apply A qui discute avec une apply B (par exemple, si je ferme l'apply B que j'appel le "CE hote", l'apply A n'arrive plus a le trouver).
en parralèle de ça, j'ai crée une apply en VB (on va dire que c'est l'apply C) dont je voudrais qu'il détecte certaines trames qui discutent entre l'apply A et B pour faire certaines actions.
Exemple :
mon Apply C ferme un exécutable lorsque l'apply A envoi une trame de Stop à l'apply B.
tout ceci se trouve sur le même PC et l'apply A discute avec la B en UDP .
Donc d'apres toi, casy, je vais devoir mettre en place un snifer, si la solution de Tabesco n'est pas applicable sous VB express 2k5.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 3 juil. 2007 à 10:11
Comme je t'ai dit, je maitrise pas le protocole UDP. Mais il me semble quand même que c'est un protocole client/serveur, ce n'est pas un protocole de broadcast.
Il fonctionne en gros comme le TCP, il y a un emeteur et un destinataire. Chaque trame est envoyée à un destinataire bien precis. A la différence du TCP ou l'envoie est synchrone, ici l'envoie est aveugle. Rien ne garantie que la trame envoyée par l'emeteur a bien été reçu par le destinataire.
Peut-etre existe-il d'autres solutions, sinon soit tu sniffe les trames, soit si tu as la possibilité, tu viens t'inserer dans la chaine de connection à l'image d'une passerelle. Tu deviens le destinataire de A et l'emeteur pour B. Ton role sera de retransmettre à l'identique ce que tu reçois de manière à etre transparent, libre à toi d'analyser au passage. Une sorte de proxy en fait.
La source donnée par Tabesco est à étudier quand même, car dans les descriptions j'y lis justement : "...(proxy transparent permettant d'agir sur les données transférées)..."
---- Sevyc64 (alias Casy) ----# LE PARTAGE EST NOTRE FORCE #
aluccard
Messages postés22Date d'inscriptionmercredi 30 mai 2007StatutMembreDernière intervention11 octobre 2007 3 juil. 2007 à 16:08
Bonjour,
j'ai tenté de récuperer un sniffer
http://www.vbfrance.com/codes/SNIFFEUR-ROUTEUR_40396.aspx pour voir comment ça fonctionnait mais le soucis est lorsque je tente de l'ouvrir avec VB express 2005, l'assistant de mise a niveau apparait vu que ça parrait etre un projet VB6.0 qui doit etre mis a niveau vers VB 2005 donc je valide ceci et au bout d'un moment, j'ai un echec de la mise a niveau, il arrive pas a charger les composants référencées :
- mswinsck.ocx
- msinet.oxx;
- ......
- etc
et il me recommande d'installer VB6.0 avec tous ces composants donc je ne comprend pas bien cette quesion.
Visual basic 6.0 est bien un langage et non un nom de logiciel? Visual basic 2005 express est suffisant non?
de plus, il m'est impossible de rajouter mswinsck.ocx, j'ai pas la possibilité d'utiliser Winsock ce qui me parrait étrange,
aluccard
Messages postés22Date d'inscriptionmercredi 30 mai 2007StatutMembreDernière intervention11 octobre 2007 4 juil. 2007 à 11:21
apres des recherches sur le net, je viens d'apprendre un peu a quoi sert les composants ocx et à ce que j'ai comprit, certains composants *.OCX sont payants et pas disponible avec VB express 2005
donc a ma connaissance, il m'est impossible de le faire avec Visual basic 2005 Express Edition, je ne serais pas étonné qu'il faut Visual Studio 2005 ou une version payante.