Alerte si réseau non détecté
Résolu
Bonjour,
Je suis en train de développer une petite application que j'aimerais sécuriser pour éviter que l'exécutable soit utilisable ailleurs que sur le réseau de l'entreprise.
J'ai pensé à mettre en place un bout de code qui ferait un ping d'un serveur uniquement accessible via VPN:
Ce code fonctionne uniquement si l'adresse IP que j'ai noté est impossible,
ex:
Dans ce cas, le message d'alerte s'affiche bien et le programme est fermé.
Si l'IP saisie est valide mais pas forcément pingable (ex
Je pense que je n'arrive pas à récupérer l'erreur et que par défaut, c'est lancé.
Ce que j'aimerai faire: "Si ping OK, alors on lance, sinon, si ping KO, alors on ferme le programme".
Auriez-vous une idée, un piste s'il vous plaît ?
Merci !
Je suis en train de développer une petite application que j'aimerais sécuriser pour éviter que l'exécutable soit utilisable ailleurs que sur le réseau de l'entreprise.
J'ai pensé à mettre en place un bout de code qui ferait un ping d'un serveur uniquement accessible via VPN:
def myping(host):
resp = ping(host)
if resp == False:
showinfo('Erreur', 'Erreur')
return root.destroy()
else:
return True
print(myping("192.168.x.x"))
Ce code fonctionne uniquement si l'adresse IP que j'ai noté est impossible,
ex:
192.168.1.3000
Dans ce cas, le message d'alerte s'affiche bien et le programme est fermé.
Si l'IP saisie est valide mais pas forcément pingable (ex
192.168.1.1) sur le réseau (donc potentiellement un accès non autorisé), le programme se lance quand même...
Je pense que je n'arrive pas à récupérer l'erreur et que par défaut, c'est lancé.
Ce que j'aimerai faire: "Si ping OK, alors on lance, sinon, si ping KO, alors on ferme le programme".
Auriez-vous une idée, un piste s'il vous plaît ?
Merci !
3 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour,
ne manque-t-il pas unimport
dans ton code? -
Bonjour,
Essaye autant que possible de partager des exemples minimaux qui mettent en évidence le problème.
Si on se réfère à la documentation de ping3 tu peux contrôler si le retour deping
vautNone
ouFalse
. Tu peux aussi utiliserverbose_ping
pour avoir des résultats plus complets.
En terme de sécurisation, ce n'est pas tant à l'application (et son développeur) qu'à l'administrateur de s'assurer quels requêtes réseaux sont autorisées ou non. Cela se configure typiquement au niveau du pare-feu (en particulier tu peux filtrer les paquets ICMP en fonction de leur destination).
Bonne chance -
Bonjour,
Parfait avec la documentation deping3
, j'ai pu résoudre mon problème avec cette partie de code:
ping3.EXCEPTIONS = True try: ping3.ping("192.168.1.1") except ping3.errors.PingError: . print("Ping HS") showinfo('Erreur 001', 'Erreur 001') root.destroy()
Si je déconnecte le réseau / ou coupe l'accès au ping vers l'adresse de destination, l'application m'affiche bien l'erreur.
Merci pour le coup de main :)-
Bonjour dopi,
Merci pour ton retour et pour le code partagé. Pense à bien utiliser les balises de code à l'avenir si tu as besoin de partager du code.
Bonne continuation
-