Analayse d'un réseau à partir d'un ordinateur connecté

Programmation d'applications complexes
gasty
Messages : 4
Inscription : mer. 17/mai/2006 19:54
Localisation : PARIS

Analayse d'un réseau à partir d'un ordinateur connecté

Message par gasty »

Bonjour à tous,

Je cherche apr le biais d'un petit programme de PB à analyser le réseau local associé à ma box à partir d'un ordinateur connecté par câble.
Ceci pour suivre les connexions et déconnexions des appareils connectés au réseau interne. Il s’agit d'une freebox mini.
En effet depuis quelques temps de travaille sur la domotique et détecter la présence d'un téléphone portable particulier, permet par exemple de suspendre la télésurveillance et d'allumer certaines lumières.

J'ai parcouru un certain nombre de ligne du forum et je n'ai pas trouvé de réponses à ma question.

Merci
Dernière modification par gasty le mer. 24/févr./2016 13:44, modifié 2 fois.
Avatar de l’utilisateur
cage
Messages : 506
Inscription : ven. 16/oct./2015 18:22
Localisation : France
Contact :

Re: Analayse d'un réseau à partir d'un ordinateur connecté

Message par cage »

Je présume que le PC est sur le même réseau IP que le Wi-fi, par exemple 192.168.0.0/24

Chaque équipement connecté en Wi-fi obtient en DHCP une adresse IP de ce réseau.

Une simple boucle qui ferait un ping de chacune des adresses IP de ce réseau devrait pouvoir t'indiquer si une adresse IP vient d'être affecté ==> action/réaction.
■ Win10 64-bit (Intel Celeron CPU N2920 @ 1.86GHz, 4,0GB RAM, Intel HD Graphics) & PB 6.00 LTS
■ Vivre et laisser vivre.
■ PureBasic pour le fun
■ Gérard sur le forum Anglais
■ Mes sites: http://pbcage.free.fr - http://yh.toolbox.free.fr
Marc56
Messages : 2147
Inscription : sam. 08/févr./2014 15:19

Re: Analayse d'un réseau à partir d'un ordinateur connecté

Message par Marc56 »

Autre solution: Presque toutes les box ont un interface web et certaines affichent l'état des connexions sur la page d'accueil (parfois sans avoir besoin de se logger). Donc il suffit que tu récupères la page ( ReceiveHTTPFile() ) et que tu analyses le texte ( FindString() ).

Plus sophistiqué serait de papoter directement avec la box en commandes SNMP.

:)
Avatar de l’utilisateur
cage
Messages : 506
Inscription : ven. 16/oct./2015 18:22
Localisation : France
Contact :

Re: Analayse d'un réseau à partir d'un ordinateur connecté

Message par cage »

Voici une application gratuite pour faire des tests:

https://www.softperfect.com/products/wifiguard/
■ Win10 64-bit (Intel Celeron CPU N2920 @ 1.86GHz, 4,0GB RAM, Intel HD Graphics) & PB 6.00 LTS
■ Vivre et laisser vivre.
■ PureBasic pour le fun
■ Gérard sur le forum Anglais
■ Mes sites: http://pbcage.free.fr - http://yh.toolbox.free.fr
gasty
Messages : 4
Inscription : mer. 17/mai/2006 19:54
Localisation : PARIS

Re: Analayse d'un réseau à partir d'un ordinateur connecté

Message par gasty »

cage a écrit :Voici une application gratuite pour faire des tests:

https://www.softperfect.com/products/wifiguard/
Merci.
Je vais essayer de regarder si je peux récupérer en fichiers txt le résultat de l’exploration.. pas gagné mais à suivre.
Dernière modification par gasty le mer. 24/févr./2016 13:56, modifié 1 fois.
gasty
Messages : 4
Inscription : mer. 17/mai/2006 19:54
Localisation : PARIS

Re: Analayse d'un réseau à partir d'un ordinateur connecté

Message par gasty »

Marc56 a écrit :Autre solution: Presque toutes les box ont un interface web et certaines affichent l'état des connexions sur la page d'accueil (parfois sans avoir besoin de se logger). Donc il suffit que tu récupères la page ( ReceiveHTTPFile() ) et que tu analyses le texte ( FindString() ).
:)
Merci, cela me parait pas mal, je vais regarder cela.
En effet, le seul attendu est un fichier que je puisse triturer pour en recueillir mes infos.
Marc56
Messages : 2147
Inscription : sam. 08/févr./2014 15:19

Re: Analayse d'un réseau à partir d'un ordinateur connecté

Message par Marc56 »

En plus avec PB, tu as besoin de très peu de ligne pour récupérer une page par HTTP

Exemple:

Code : Tout sélectionner

InitNetwork()

ReceiveHTTPFile("192.168.1.1", "C:\tmp\Accueil.txt")
Après tu n'as plus qu'à ouvrir le fichier texte et analyser ligne par ligne.

ReadFile(#Fichier
While Not EOF(#Fichier
FindString(... (ou même utiliser les expressions régulières)
etc.

Je ne sais pas si tu débute en PB ou si tu as déjà pratiqué.
:)
gasty
Messages : 4
Inscription : mer. 17/mai/2006 19:54
Localisation : PARIS

Re: Analayse d'un réseau à partir d'un ordinateur connecté

Message par gasty »

Marc56 a écrit :En plus avec PB, tu as besoin de très peu de ligne pour récupérer une page par HTTP

Exemple:

Code : Tout sélectionner

InitNetwork()

ReceiveHTTPFile("192.168.1.1", "C:\tmp\Accueil.txt")
Après tu n'as plus qu'à ouvrir le fichier texte et analyser ligne par ligne.

ReadFile(#Fichier
While Not EOF(#Fichier
FindString(... (ou même utiliser les expressions régulières)
etc.

Je ne sais pas si tu débute en PB ou si tu as déjà pratiqué.
:)
Je ne débute pas mais restons modeste, je ne suis pas un virtuose. La manipulation des chaines, ça va :wink:
Le problème, c'est bien récupérer une liste des appareils connectés (soit une liste globale, soit interroger l'adresse IP précise d'un mobile particulier), que je vais mettre à jour régulièrement pour voir l'évolution.
Marc56
Messages : 2147
Inscription : sam. 08/févr./2014 15:19

Re: Analayse d'un réseau à partir d'un ordinateur connecté

Message par Marc56 »

Sinon tu peux aussi partir sur la solution proposée par Cage:
- Pinger toutes les adresses que la box peut distribuer
- À chaque adresse qui répond, tu utilises ARP pour vérifier si l'adresse mac correspond à un de tes périphériques autorisés.

Tu peux utiliser ping et arp avec RunProgram() sans afficher de fenêtre.

Cependant je pense que c'est bien plus long que d'analyser la page web de la box (si celle-ci contient les éléments voulus)

:)
Avatar de l’utilisateur
cage
Messages : 506
Inscription : ven. 16/oct./2015 18:22
Localisation : France
Contact :

Re: Analayse d'un réseau à partir d'un ordinateur connecté

Message par cage »

Je suis chez Free et la Freebox peut limiter le nombre d'adresses IP distribuées en DHCP

Pour moi, 10 adresses maximum de 192.168.0.10 a 192.168.0.19

De plus, je peux affecter en dur l'adresse MAC autorisée a obtenir une adresse IP

Si on veut surveiller 1 ou 2 équipement(s), il suffit de tester si 1 ou 2 adresse(s) IP spécifiques répondent au ping.

Je pense que cela reste très facile a faire dans un thread et ensuite d'agir en fonction de la réponse ou pas de l'adresse IP

Je l'ai fais dans yhle dont les sources sont disponibles sur http://pbcage.free.fr
■ Win10 64-bit (Intel Celeron CPU N2920 @ 1.86GHz, 4,0GB RAM, Intel HD Graphics) & PB 6.00 LTS
■ Vivre et laisser vivre.
■ PureBasic pour le fun
■ Gérard sur le forum Anglais
■ Mes sites: http://pbcage.free.fr - http://yh.toolbox.free.fr
Répondre