Bloquer activite internet
Bloquer activite internet
Bonjour, je cherche une solution pour bloquer toute activite internet sur l'ordinateur, et ne laisser que le logiciel "outlook".
Je sais qu'il existe des programmes tout pret, mais je cherche a programmer ca.
Je sais qu'il existe des programmes tout pret, mais je cherche a programmer ca.
Windows 10 x64 -- Purebasic 5.70 LTS x86
Re: Bloquer activite internet
Alors tu à le fichier host sous Windows qui est une solution assez simple.
C\windows\system32\driver\etc
ou
C\windows\SysWOW64\driver\etc
Tu peut bloquer les nom de domaine:
http://www.google.com 127.0.0.1.
Ceci dit tu peut bloquer que des nom de domaine précis. (donc c pas tip top)
-----------------------------------------------------------------------------------------------------------------------------
Une solution pourrait d'utiliser l'api WlanDisconnect:
https://msdn.microsoft.com/en-us/librar ... s.85).aspx
Et de verifier dans une boucle si outlook est en cours d'utilisation et si c'est autre chose que outlook de déconnecter.
Ceci dit WlanDisconnect ne devrai marcher que sur un réseau Sans Fil si je me trompe pas.
----------------------------------------------------------------------------------------------------------------------------------
Tu peut aussi utiliser WMI avec la classe Win32_NetworkAdapter
https://msdn.microsoft.com/en-us/librar ... S.85).aspx
Tu à plussieure méthode
->Disable
-> Enable
->Reset
-> SetPowerState
-> CIM_NetworkAdapter.
Ceux qui t'intéresseront seront les méthodes Disable et Enable.
Donc là tu fait ta boucle pour check si outlook est en cours d'utilisation et en fonction tu active ou non.
L'avantage c'est que ça marche Wifi ou Ethernet ou ce que tu veux
Par contre c'est vista minimum (vista,7,8,8.1,10)
Donc si le support d'XP n'est pas ta priorité ça serai la meilleur méthode à appliquer.
Cordialement, avé paté de texte
C\windows\system32\driver\etc
ou
C\windows\SysWOW64\driver\etc
Tu peut bloquer les nom de domaine:
http://www.google.com 127.0.0.1.
Ceci dit tu peut bloquer que des nom de domaine précis. (donc c pas tip top)
-----------------------------------------------------------------------------------------------------------------------------
Une solution pourrait d'utiliser l'api WlanDisconnect:
https://msdn.microsoft.com/en-us/librar ... s.85).aspx
Et de verifier dans une boucle si outlook est en cours d'utilisation et si c'est autre chose que outlook de déconnecter.
Ceci dit WlanDisconnect ne devrai marcher que sur un réseau Sans Fil si je me trompe pas.
----------------------------------------------------------------------------------------------------------------------------------
Tu peut aussi utiliser WMI avec la classe Win32_NetworkAdapter
https://msdn.microsoft.com/en-us/librar ... S.85).aspx
Tu à plussieure méthode
->Disable
-> Enable
->Reset
-> SetPowerState
-> CIM_NetworkAdapter.
Ceux qui t'intéresseront seront les méthodes Disable et Enable.
Donc là tu fait ta boucle pour check si outlook est en cours d'utilisation et en fonction tu active ou non.
L'avantage c'est que ça marche Wifi ou Ethernet ou ce que tu veux

Par contre c'est vista minimum (vista,7,8,8.1,10)
Donc si le support d'XP n'est pas ta priorité ça serai la meilleur méthode à appliquer.
Cordialement, avé paté de texte
Re: Bloquer activite internet
Merci beaucoup ca a l'air passionnant, je ne sais pas combiner l'api dans purebasic, est-ce que c'est complique?
A part ca je n'ais pas compris ce que tu as propose pour verifier si outlook est en train de tourner, moi je veux que meme quand outlook est allume, le reste d'internet ne marche pas.
encore merci
A part ca je n'ais pas compris ce que tu as propose pour verifier si outlook est en train de tourner, moi je veux que meme quand outlook est allume, le reste d'internet ne marche pas.
encore merci
Windows 10 x64 -- Purebasic 5.70 LTS x86
Re: Bloquer activite internet
j'ai vu sur ce site https://community.spiceworks.com/topic/ ... pt-outlook une technique, que je n'ai pas vraiment compris, mais apparement l'idee est de creer une liste blanche d'IP qui seront autorises.
Seulement le fichier hosts est une liste noir, et comment faire pour le transformer en liste blanche
Seulement le fichier hosts est une liste noir, et comment faire pour le transformer en liste blanche
Windows 10 x64 -- Purebasic 5.70 LTS x86
Re: Bloquer activite internet
Je ne pense pas qu'il soit possible de créer une liste blanche via le fichier host. Tu imagines sinon, n'importe quel malware pourrait bloquer le surf et n'autoriser que ses domaines vérolés.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: Bloquer activite internet
Bonjour a tous,
Si on retire les adresses IP des DNS et que l'on indique 127.0.0.1 comme serveur DNS, le seul moyen de résoudre un nom est de l'inscrire dans le fichier hosts.
Le fichier hosts devient donc une liste blanche d'adresses IP autorisées.
Il faut résoudre a l'aide de nslookup.exe les IP des services internet que l'on veut utiliser ou utiliser la commande ipconfig / displaydns pour lister les adresses en cache.
Notez que je n'ai pas fait le test de retirer les DNS pour tester mes dires, mais je pense que cela doit fonctionner.
Gérard
Si on retire les adresses IP des DNS et que l'on indique 127.0.0.1 comme serveur DNS, le seul moyen de résoudre un nom est de l'inscrire dans le fichier hosts.
Le fichier hosts devient donc une liste blanche d'adresses IP autorisées.
Il faut résoudre a l'aide de nslookup.exe les IP des services internet que l'on veut utiliser ou utiliser la commande ipconfig / displaydns pour lister les adresses en cache.
Notez que je n'ai pas fait le test de retirer les DNS pour tester mes dires, mais je pense que cela doit fonctionner.
Gérard
■ Win10 Pro 64-bit (Intel Celeron CPU N2920 @ 1.86GHz, 4,0GB RAM, Intel HD Graphics) & PB 6.12 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
■ 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
Re: Bloquer activite internet
Bonjour,
A mon avis (sans aucune prétention et j'espère être dans le sujet), la seule façon de faire ce que tu veux, autorisé certains programmes et pas d'autres, à aller sur le net et le développement d'un petit "proxy local", avec limitation des droits de l'utilisateur pour ne pas modifier les paramètres de connexion.
Cordialement,
GallyHC
A mon avis (sans aucune prétention et j'espère être dans le sujet), la seule façon de faire ce que tu veux, autorisé certains programmes et pas d'autres, à aller sur le net et le développement d'un petit "proxy local", avec limitation des droits de l'utilisateur pour ne pas modifier les paramètres de connexion.
Cordialement,
GallyHC
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Re: Bloquer activite internet
@cage ce que tu dis a l'air tres interressant, peux tu detailler un peu plus, comment je change les dns?
@GallyHC est ce que c'est qqe chose qui peut se programmer?
@GallyHC est ce que c'est qqe chose qui peut se programmer?
Windows 10 x64 -- Purebasic 5.70 LTS x86
Re: Bloquer activite internet
Bonjour ChaudEf,
Il y a plusieurs manières de configurer les DNS de sa connexion réseau.
En premier lieu, un ipconfig /all dans une fenêtre Invite de commandes (WIN+R et cmd.exe) te donnera toutes les informations sur les paramètres de ta connexion réseau.
Tu noteras le/les DNS utilisés actuellement.
C'est eux qui te permettent de sortir sur Internet en résolvant les noms tels que google.fr.
La première solution est d'exécuter WIN+R et ncpa.cpl
Tu sélectionne la connexion réseau active, puis
Clic droit et Propriétés
Sélectionne Protocole Internet version 4 (TCP/IPv4) si tu est en IPv4 ou
Sélectionne Protocole Internet version 6 (TCP/IPv6) si tu est en IPv6
Clique sur Propriétés
Sélectionne Utiliser l'adresse de serveur DNS suivante:
Dans Serveur DNS préféré : documente 127.0.0.1
Inutile de documenter Serveur DNS auxillaire :
Coche Valider les paramètres en quittant puis clique sur OK
La prise en compte peut durer plusieurs secondes.
La deuxième solution est d'utiliser un logiciel dédié.
Personnellement, j'utilise QuickSetDNS

Résultat de ipconfig /all
Ensuite, tu dois documenter le fichier hosts avec toutes les adresses IP / Noms que tu veux autoriser.
J'ai fais un essai hier soir et cela fonctionne parfaitement.
Si rien n'est documenté dans le fichier hosts, alors il n'est pas possible de sortir, hormis a utiliser directement des adresses IP.
Exemple, pour autoriser google.fr dans le fichier hosts, rajoute l'entrée:
216.58.208.227 google.fr
A toi de tester si cette solution te conviens
Gérard
Il y a plusieurs manières de configurer les DNS de sa connexion réseau.
En premier lieu, un ipconfig /all dans une fenêtre Invite de commandes (WIN+R et cmd.exe) te donnera toutes les informations sur les paramètres de ta connexion réseau.
Tu noteras le/les DNS utilisés actuellement.
C'est eux qui te permettent de sortir sur Internet en résolvant les noms tels que google.fr.
La première solution est d'exécuter WIN+R et ncpa.cpl
Tu sélectionne la connexion réseau active, puis
Clic droit et Propriétés
Sélectionne Protocole Internet version 4 (TCP/IPv4) si tu est en IPv4 ou
Sélectionne Protocole Internet version 6 (TCP/IPv6) si tu est en IPv6
Clique sur Propriétés
Sélectionne Utiliser l'adresse de serveur DNS suivante:
Dans Serveur DNS préféré : documente 127.0.0.1
Inutile de documenter Serveur DNS auxillaire :
Coche Valider les paramètres en quittant puis clique sur OK
La prise en compte peut durer plusieurs secondes.
La deuxième solution est d'utiliser un logiciel dédié.
Personnellement, j'utilise QuickSetDNS

Résultat de ipconfig /all
Code : Tout sélectionner
C:\Users\gg\IPCONFIG /ALL
Configuration IP de Windows
Nom de l'hôte . . . . . . . . . . : EBCAGE
Suffixe DNS principal . . . . . . :
Type de noeud . . . . . . . . . . : Hybride
Routage IP activé . . . . . . . . : Non
Proxy WINS activé . . . . . . . . : Non
Carte Ethernet Ethernet 2 :
Statut du média. . . . . . . . . . . . : Média déconnecté
Suffixe DNS propre à la connexion. . . :
Description. . . . . . . . . . . . . . : Realtek PCIe FE Family Controller #2
Adresse physique . . . . . . . . . . . : XX-XX-XX-XX-XX-XX
DHCP activé. . . . . . . . . . . . . . : Oui
Configuration automatique activée. . . : Oui
Carte réseau sans fil Wi-Fi 2 :
Suffixe DNS propre à la connexion. . . :
Description. . . . . . . . . . . . . . : Carte PCI-E 802.11n Realtek RTL8723BE pour réseau local sans fil
Adresse physique . . . . . . . . . . . : XX-XX-XX-XX-XX-XX
DHCP activé. . . . . . . . . . . . . . : Oui
Configuration automatique activée. . . : Oui
Adresse IPv6 de liaison locale . . . . : fe80::e170:cc3f:a023:1bfc%19(préféré)
Adresse IPv4 . . . . . . . . . . . . . : 192.168.0.10(préféré)
Masque de sous-réseau. . . . . . . . . : 255.255.255.0
Bail obtenu. . . . . . . . . . . . . . : jeudi 28 avril 2016 11:23:54
Bail expirant. . . . . . . . . . . . . : dimanche 8 mai 2016 11:23:53
Passerelle par défaut. . . . . . . . . : 192.168.0.254
Serveur DHCP . . . . . . . . . . . . . : 192.168.0.254
IAID DHCPv6. . . . . . . . . . . . . . : XXXXXXXX
DUID de client DHCPv6. . . . . . . . . : XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX-XX
Serveurs DNS. . . . . . . . . . . . . : 193.183.98.154
87.98.175.85
NetBIOS sur Tcpip. . . . . . . . . . . : Activé
J'ai fais un essai hier soir et cela fonctionne parfaitement.
Si rien n'est documenté dans le fichier hosts, alors il n'est pas possible de sortir, hormis a utiliser directement des adresses IP.
Exemple, pour autoriser google.fr dans le fichier hosts, rajoute l'entrée:
216.58.208.227 google.fr
A toi de tester si cette solution te conviens
Gérard
■ Win10 Pro 64-bit (Intel Celeron CPU N2920 @ 1.86GHz, 4,0GB RAM, Intel HD Graphics) & PB 6.12 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
■ 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
Re: Bloquer activite internet
Eh bah j'ai bien mieux à vous proposer.
Enfaite y'a ce qu'on appelle les fichier PAC.
Comment ça marche ? eh bien les navigateur vont via la base de registre lire le fichier PAC à distance ou en local.
L'avantage d'un fichier pac ?
Tu peut utiliser des wildcard, des regle pour bloquer
Dans ton exemple ça donnerai ça le contenu du fichier PAC:
Résultat tout le traffic hors outlook est bloquer.
Pas besoin de l'uac, pas besoin des droit admin et la config est plus intérrésante que le fichier hosts
Enfaite y'a ce qu'on appelle les fichier PAC.
Code : Tout sélectionner
regKey$ = "Software\Microsoft\Windows\CurrentVersion\Internet Settings"
;... (REG_SZ)
myName2.s = "AutoConfigURL"
myString.s = "http://127.0.0.1/regle.pac"
myStringLength.l = Len(myString) + Len(myString) + Len(myString)
hOpenKey.l = 0
result = 0
;... Crée la clé
If RegCreateKeyEx_(#HKEY_CURRENT_USER, regKey$, 0, 0, #REG_OPTION_NON_VOLATILE, #KEY_CREATE_SUB_KEY | #KEY_SET_VALUE , 0, @hOpenKey, 0) = #ERROR_SUCCESS
;... Add a long (REG_DWORD) value
;... Add a string (REG_SZ) value
If RegSetValueEx_(hOpenKey, myName2, 0, #REG_SZ, @myString, myStringLength) = #ERROR_SUCCESS
result = 1
EndIf
RegCloseKey_(hOpenKey)
EndIf
Comment ça marche ? eh bien les navigateur vont via la base de registre lire le fichier PAC à distance ou en local.
L'avantage d'un fichier pac ?
Tu peut utiliser des wildcard, des regle pour bloquer

Dans ton exemple ça donnerai ça le contenu du fichier PAC:
Code : Tout sélectionner
function FindProxyForURL(url, host) {
//Si le traffic est de outlook alors on met directement la connection en route
if (localHostOrDomainIs(host, "outlook.com")) return DIRECT;
if (localHostOrDomainIs(host, "outlook.fr")) return DIRECT;
}
//Les autre requete on redirige sur un proxy qui n'existe pas
return "PROXY 127.0.0.1:8080";
Résultat tout le traffic hors outlook est bloquer.
Pas besoin de l'uac, pas besoin des droit admin et la config est plus intérrésante que le fichier hosts

Re: Bloquer activite internet
Merci bcp ca a l'air tres interressant?
il faut compiler ca comme ca ou il y a des choses a rajouter
et le fichier pac je le met ou?
il faut compiler ca comme ca ou il y a des choses a rajouter
et le fichier pac je le met ou?
Windows 10 x64 -- Purebasic 5.70 LTS x86
Re: Bloquer activite internet
Oui il faut compiler comme ça juste regler dans le code
http://127.0.0.1/regle.pac
Par le lien de ton fichier regle.pac heberger (sur ton site web, sur un serveur ou un lien direct)
Tu peut prendre un hébergement gratuit aussi tant que ta un "lien direct" ça marche.
J'ai crée ton fichier PAC pour répondre à ta requète mais c'est modulable.
http://127.0.0.1/regle.pac
Par le lien de ton fichier regle.pac heberger (sur ton site web, sur un serveur ou un lien direct)
Tu peut prendre un hébergement gratuit aussi tant que ta un "lien direct" ça marche.
J'ai crée ton fichier PAC pour répondre à ta requète mais c'est modulable.
Re: Bloquer activite internet
ah mais je veux pas etre lie a un serveur. je veux que le programme marche en local. sans reseaux ni rien.
c'est faisable?
c'est faisable?
Windows 10 x64 -- Purebasic 5.70 LTS x86
Re: Bloquer activite internet
Tu n'as pas précisé quel OS ?
Que ce soit sous Windows (depuis Vista) ou sous Linux, tu peux créer dynamiquement des règles de firewall.
Donc il suffit d'un RunProgram qui lance la commande ou le script.
(Sous windows: netsh firewall)
PS. Tu peux aussi bloquer au niveau du firewall inclus dans toutes les box avec possibilité de mettre des jeux de règles selon les heures et les machines connectées (à condition que tes utilisateurs ne sachent pas changer une adresse mac)

Que ce soit sous Windows (depuis Vista) ou sous Linux, tu peux créer dynamiquement des règles de firewall.
Donc il suffit d'un RunProgram qui lance la commande ou le script.
(Sous windows: netsh firewall)
PS. Tu peux aussi bloquer au niveau du firewall inclus dans toutes les box avec possibilité de mettre des jeux de règles selon les heures et les machines connectées (à condition que tes utilisateurs ne sachent pas changer une adresse mac)

Re: Bloquer activite internet
bonsoir, merci pour votre aide, je vois que vous vous y connaissez dans la matiere, moi je sais pas mal programmer mais je ne comprends rien en reseaux.
est ce que qqn pourrait me preparer un code qui fait une regle sur le firewall et bloque l'acces internet sauf quelques adresses definies. je ne veux pas que ca passe par un serveur, mais que tout se passe en local sur l'ordinateur (windows)
je suis pret a payer pour cela.
merci
est ce que qqn pourrait me preparer un code qui fait une regle sur le firewall et bloque l'acces internet sauf quelques adresses definies. je ne veux pas que ca passe par un serveur, mais que tout se passe en local sur l'ordinateur (windows)
je suis pret a payer pour cela.
merci
Windows 10 x64 -- Purebasic 5.70 LTS x86