Ecouter des ports TCP

skyline86 Messages postés 29 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 5 décembre 2009 - 21 janv. 2009 à 15:06
darkhate Messages postés 2 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 5 décembre 2009 - 5 déc. 2009 à 22:51
Bonjour,

Je cherche a faire un programme qui écoute certains ports Tcp (je connais les numéros) en local et a chaque trame reçu je traite les informations et je les inserts dans ma base de données.

Est ce que quelqu'un peut me dire comment ecouter des ports en local, et comment récupérer les informations reçu dans chaque trame.

Merci d'avance.

Cordialement

11 réponses

skyline86 Messages postés 29 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 5 décembre 2009 1
5 déc. 2009 à 12:44
Salut je te met un exemple de code que j'ai pu faire fonctionner. il fonctionne très bien.
        private TcpListener monServeur = null;
        private TcpClient monClient = null;
        private NetworkStream monNS = null;
        int port = monBoitier.get_port();

                    try
                    {
                        monServeur = new TcpListener(port);
                        monServeur.Start();
                    }
                    catch (SecurityException)
                    {
                        return;
                    }

                    while (true)
                    {
                        try
                        {
                            monClient = monServeur.AcceptTcpClient();
                            
                            monClient.ReceiveTimeout = 15000;
                            
                            monNS = monClient.GetStream();

                            byte[] data = new byte[3072];

                            int recv;

                            try
                            {
                                while ((recv = monNS.Read(data, 0, data.Length)) != 0)
                                {
                                     // Traitement des informations propre à ton programme
                                }
                            }
                            catch (IOException ex)
                            {
                                monClient.Close();                        
                            }



J'espère que cela pourra t'aider.

Si tu as un problème reviens vers moi
1
skyline86 Messages postés 29 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 5 décembre 2009 1
21 janv. 2009 à 15:53
ba en faite, les données arrive sur un port du routeur par exemple le port 3000 puis dans le routeur je fais une redirection de port afin que sa arrive directement a ma machine donc si j'arrive a écouter un port TCP j'arriverai a récupérer les données.

Est ce faisable si oui comment?

Est ce que mon routeur peut pas faire office de client ???
0
maitredede Messages postés 153 Date d'inscription vendredi 9 août 2002 Statut Membre Dernière intervention 18 septembre 2009
21 janv. 2009 à 16:39
Non, ton routeur ne fait que router... Il ne sait rien faire d'autre...

Le but final est de faire quoi ? Espionner les tentatives et/ou le contenu des connexions ou espionner l'activité de programmes utilisant ces ports ?
0
skyline86 Messages postés 29 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 5 décembre 2009 1
21 janv. 2009 à 16:43
Ba en faite mon programme je l'explique.

J'ai un boitier GPS dans des véhicules qui m'envoient des informations sur la position de chaque véhicule. Chaque boitier GPS envoi sur un port unique. Et donc mon application doit permettre d'écouter chaque port et de récupérer le message afin d'insérer dans la base de données les informations recueillie par chaque véhicule;

Merci d'avance pour vos réponse
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
maitredede Messages postés 153 Date d'inscription vendredi 9 août 2002 Statut Membre Dernière intervention 18 septembre 2009
21 janv. 2009 à 16:47
Ce port, tu es sûr que c'est du TCP ? Ca ressemblerai plus à de l'UDP... De plus, si tu me parles de GPS, ça ressemble à du port COM...

Tes boitiers GPS sont connectés comment au réseau ?
0
skyline86 Messages postés 29 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 5 décembre 2009 1
21 janv. 2009 à 16:50
Oui oui c'est du TCP et se n'ai pas en port com.

Il ne sont pas connecté au réseau ils sont indépendant ont leurs a juste indiqué qu'il fallait envoyer les adresse a tel serveur (adresse ip de ma machine) et après il envoi les données.
0
maitredede Messages postés 153 Date d'inscription vendredi 9 août 2002 Statut Membre Dernière intervention 18 septembre 2009
21 janv. 2009 à 17:17
Alors, regarde la classe TcpListener qui te permettra d'écouter les connexions TCP entrantes et établir la connexion avec tes boitiers...
0
skyline86 Messages postés 29 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 5 décembre 2009 1
25 févr. 2009 à 11:30
Re bonjours à tous, je cherche toujours à faire mon programme mais je n'arrive pas. je ne comprend pas comment faire. Est ce que quelqu'un peut m'aider ou me montrer un exemple de code.

Merci de me venir en aide.

Cordialement
0
darkhate Messages postés 2 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 5 décembre 2009
4 déc. 2009 à 22:21
bonjour

j'ai le meme blem je voudrais bien savoir skyline86 si ta pu trouver une solution

et merci d'avance
0
darkhate Messages postés 2 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 5 décembre 2009
5 déc. 2009 à 22:51
merciii bcppp

je testerais et je te ferais signe ok
0
maitredede Messages postés 153 Date d'inscription vendredi 9 août 2002 Statut Membre Dernière intervention 18 septembre 2009
21 janv. 2009 à 15:45
Bonjour,

Si je ne me trompe pas, en TCP, tu ne peux pas juste écouter des trames, puisque tu dois d'abord établir une connexion... Auquel cas, regarde les classes TcpListener et TcpClient.

Si tu veux espionner les trames, tu peux essayer avec l'objet Socket voir si tu peux arriver soit à écouter les ports TCP sans les verouiller, soit descendre en dessous (Ethernet)...

Ou alors, utilise une libraire toute faite comme http://www.winpcap.org/...
-1
Rejoignez-nous