Bloquer activite internet

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
ChaudEf
Messages : 179
Inscription : dim. 27/déc./2015 17:02
Localisation : Strasbourg

Bloquer activite internet

Message par ChaudEf »

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.
Windows 10 x64 -- Purebasic 5.70 LTS x86
digital
Messages : 25
Inscription : mar. 02/févr./2016 0:34

Re: Bloquer activite internet

Message par digital »

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
Avatar de l’utilisateur
ChaudEf
Messages : 179
Inscription : dim. 27/déc./2015 17:02
Localisation : Strasbourg

Re: Bloquer activite internet

Message par ChaudEf »

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
Windows 10 x64 -- Purebasic 5.70 LTS x86
Avatar de l’utilisateur
ChaudEf
Messages : 179
Inscription : dim. 27/déc./2015 17:02
Localisation : Strasbourg

Re: Bloquer activite internet

Message par ChaudEf »

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
Windows 10 x64 -- Purebasic 5.70 LTS x86
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Bloquer activite internet

Message par Ar-S »

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
Avatar de l’utilisateur
cage
Messages : 604
Inscription : ven. 16/oct./2015 18:22
Localisation : France
Contact :

Re: Bloquer activite internet

Message par cage »

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
■ 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
Avatar de l’utilisateur
GallyHC
Messages : 1708
Inscription : lun. 17/déc./2007 12:44

Re: Bloquer activite internet

Message par GallyHC »

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
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Avatar de l’utilisateur
ChaudEf
Messages : 179
Inscription : dim. 27/déc./2015 17:02
Localisation : Strasbourg

Re: Bloquer activite internet

Message par ChaudEf »

@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?
Windows 10 x64 -- Purebasic 5.70 LTS x86
Avatar de l’utilisateur
cage
Messages : 604
Inscription : ven. 16/oct./2015 18:22
Localisation : France
Contact :

Re: Bloquer activite internet

Message par cage »

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
Image
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é
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
■ 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
digital
Messages : 25
Inscription : mar. 02/févr./2016 0:34

Re: Bloquer activite internet

Message par digital »

Eh bah j'ai bien mieux à vous proposer.
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 :mrgreen:


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 8)
Avatar de l’utilisateur
ChaudEf
Messages : 179
Inscription : dim. 27/déc./2015 17:02
Localisation : Strasbourg

Re: Bloquer activite internet

Message par ChaudEf »

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?
Windows 10 x64 -- Purebasic 5.70 LTS x86
digital
Messages : 25
Inscription : mar. 02/févr./2016 0:34

Re: Bloquer activite internet

Message par digital »

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.
Avatar de l’utilisateur
ChaudEf
Messages : 179
Inscription : dim. 27/déc./2015 17:02
Localisation : Strasbourg

Re: Bloquer activite internet

Message par ChaudEf »

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?
Windows 10 x64 -- Purebasic 5.70 LTS x86
Marc56
Messages : 2196
Inscription : sam. 08/févr./2014 15:19

Re: Bloquer activite internet

Message par Marc56 »

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)

:wink:
Avatar de l’utilisateur
ChaudEf
Messages : 179
Inscription : dim. 27/déc./2015 17:02
Localisation : Strasbourg

Re: Bloquer activite internet

Message par ChaudEf »

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
Windows 10 x64 -- Purebasic 5.70 LTS x86
Répondre