Les proxys anonymes


Proxy
Les proxys sont des serveurs informatiques qui ont pour fonction de relayer des requêtes entre un poste client et un serveur à travers Internet. Leurs usages sont multiples. Ils permettent par exemple de filtrer du contenu, de faire du cache, de loger toutes les actions des utilisateurs, mais également de naviguer de façon anonyme.

Matrix

Ici, nous allons plutôt nous intéresser à la dernière possibilité, celle concernant l'anonymat. Pour bien comprendre comment tout cela fonctionne, il faut savoir qu'il existe aujourd'hui 3 grands types de serveurs proxys :

  • Transparent proxy : on peut connaître la véritable adresse du visiteur sans aucun problème, car elle est stockée dans l'en-tête HTTP nommé REMOTE_ADDR.
  • Anonymous proxy : les variables REMOTE_ADDR et HTTP_VIA possèdent l'adresse IP du proxy. Mais on n'est pas entièrement anonyme en utilisant ce genre de proxy, car on peut retrouver l'adresse IP du client dans l'en-tête HTTP nommé HTTP_X_FORWARDED_FOR.
  • High anonymous proxy : aucun en-tête HTTP ne possède l'adresse IP du client, l'anonymat est donc garanti. Il s'agit là du proxy le plus intéressant.

Recherche et tests de proxys anonymes

Trouver des proxys anonymes est une tâche difficile. Il faut d'abord trouver des listes de serveurs et ensuite les tester un par un pour voir s'ils fonctionnent. Voici une technique qui permet de rendre cette tâche automatique.

Pour que l'exemple marche, il faudra tout de même récupérer une liste de proxys et mettre son contenu dans un fichier texte. Il faudra respecter la syntaxe suivante :

adresse-ip1:port
adresse-ip2:port

Il existe de nombreux sites Internet qui proposent des listes entières. On pourra par exemple se rendre sur ce site.

Une fois la liste de proxys constituée, nous allons nous aider d'un programme appelé prxchecker pour les tester. Celui-ci utilise le langage C et a été écrit par le groupe de hackers russe RST/GHC :

wget www.tux-planet.fr/public/hack/proxy/prxchecker.c
gcc -o prxchecker prxchecker.c

On le lance ensuite avec l'option -o qui permet de stocker les adresses IP valides dans un fichier externe :

./prxchecker -f proxy.txt -o worked.txt -t 3
...
: ( 89.179.166.40 timeout
OK 119.62.128.38:80
OK 212.51.220.56:3128
: ( 203.236.210.210:8080
: ( 141.85.118.1:80

Vérification de l'anonymat

On possède maintenant une liste de serveurs proxys qui fonctionnent. La seconde étape consistera à vérifier leur degré d'anonymat, comme expliqué en début d'article.

Pour cela, nous allons nous aider du script php suivant, qui testent les bons en-têtes HTTP :

<?php
$myip = trim($_GET['myip']);
if(empty($myip)) {
  echo "Usage: check-anonymous.php?myip=YOUR_IP_ADRESSE"."\n";
} else if (($_SERVER['REMOTE_ADDR'] == $myip) 
  || ($_SERVER['HTTP_X_FORWARDED_FOR'] == $myip)) {
  echo "Not anonymous"."\n";
} else {
  echo "Anonymous"."\n";
}
?>

A l'aide de la commande curl, qui accepte l'adresse IP et le port d'un proxy en paramètre, il devient ensuite facile de faire une boucle et de tester l'ensemble des serveurs d'une liste. Pensez à adapter l'adresse IP de votre machine avant d'utiliser la commande :

for file in `cat worked.txt`; do echo "Test $file"; curl --connect-timeout 5 --max-time 5 -x $file www.tux-planet.fr/public/hack/proxy/check-anonymous.php?myip=86.95.47.15; done;

Utilisation d'un proxy

Une fois en possession d'une liste d'adresses IP anonymes, vous pourrez configurer votre navigateur pour les utiliser. Pour Firefox par exemple, il faut aller dans les menus Outils-> Options-> Avancé-> Réseau-> Paramètres ...

Il également possible de re-paramétrer son shell à l'aide de la variable http_proxy :

export http_proxy=http://ip:port

Toutes les commandes qui seront ensuite saisies passeront automatiquement par le serveur mandataire.


20 Commentaires pour "Les proxys anonymes"

Flux des commentaires de cet article Ajouter un commentaire
  •  

    Dis tu utilises quel plugin, pour envoyer un mail dès que tu publies un article ?

    Korbeau , le 14 octobre 2009 à 22:59
  •  

    Merci pour ce papier. J'ai cru entendre qu'il était possible de chainer des proxy.
    Est-ce vrai d'après toi ?

    Merci,

    Ulrich , le 15 octobre 2009 à 07:46
  •  

    @Korbeau : le plugin s'appelle subscribe2

    @Ulrich : oui mais à condition d'avoir l'accès à chaque proxy. Pour les reconfigurer et leur dire de se connecter au proxy suivant. Enfin c'est mon avis, je ne vois pas comment chainer des proxys autrement ...

    pti-seb , le 15 octobre 2009 à 12:49
  •  

    Je m'étais amusé une fois avec ces proxy... Souvent, la bande passante est telle que le simple surf devient quasiment impossible... et on ne sait pas toujours qui se cache derrière...

    feilong , le 15 octobre 2009 à 15:05
  •  

    Merci :-)

    Korbeau , le 15 octobre 2009 à 18:07
  •  

    @feilong : c'est vrai que la bande passante est souvent pas géniale. Mais suffisante pour faire des conneries de façon anonyme.

    pti-seb , le 15 octobre 2009 à 19:24
  •  

    Faut pas oublier les logs du proxy, et les attaques sur les languages exécutés côtés clients (flash, java, ...), puis requete dns, ... :)

    offw0rld , le 15 octobre 2009 à 23:27
  •  

    C'est pas mal tout ça, il manque plus qu'une commande pour faire un test sommaire de débit histoire de choisir le proxy le moins lent...t'aurais pas ça en réserve ? :-)

    Goda , le 16 octobre 2009 à 17:15
  •  

    @offw0rld : sur ne laisser absolument aucunes traces est quelque chose de difficile. Surtout qu'aujourd'hui, la plupart des équipements réseaux (swicth, firefwall ...) possède en plus leur propre système de logs.

    @Goda : avec les commandes curl et wget, le débit est généralement affiché. Tu devrais pourvoir automatiser cela assez facilement.

    pti-seb , le 17 octobre 2009 à 13:32
  •  

    Salut
    c'est pas mal d'ajouter l'option" --max-time 25" a ta commande curl, ça evite de bloquer les scripts ;-)...

    Goda , le 19 octobre 2009 à 12:45
  •  

    @Goda : ok, j'ai rajouté l'option. Merci.

    pti-seb , le 19 octobre 2009 à 20:00
  •  

    Au passage, pour tester de proxys y'a aussi ça : http://www.samair.ru/proxy-checker/index.php
    Ca a l'air de marcher pas trop mal.

    Goda , le 22 octobre 2009 à 17:37
  •  

    Bonjour et d'abord un grand merci pour votre site !

    Je voudrai utiliser un proxy anonyme pour télécharger. J'ai paramétré des proxy « hautement anonymes » (avec Foxyproxy sous Firefox). Avec plusieurs de ces ce proxy , quand je veux me connecter à Torrent411 par exemple j'ai ce message :

    " You are trying to use a node of the CoDeeN CDN Network. While the Host header is generally optional for HTTP, it is required for CoDeeN. Furthermore, numerical hostnames are not allowed. Please add this header and try again."

    Si je veux me connecter à Google par ex , j'y parviens au travers du proxy. On dirait que le reseau CoDeen bloque l'accès aux sites de téléchargement.

    Pouvez vous nous expliquer et nous conseiller ?
    Merci

    zorglub , le 18 février 2010 à 19:19
  •  

    @zorglub : le message d'erreur est claire, le proxy que tu as choisi n'autorise que le protocole HTTP, donc tu ne peux que surfer sur Internet avec un navigateur, pas télécharger...

    pti-seb , le 18 février 2010 à 20:11
  •  

    J'aimerai un peu d'aide, je débute dans le domaine =]

    J'ai télécharger le programme prxchecker.c, ça me télécharge le fichier, lorsque je clique dessus ça m'ouvre Microsoft Visual C++ et après je bug (façon de parler bien sur) que dois-je faire une fois Microsoft Visual C++ ouvert ?

    Mistori , le 27 février 2010 à 16:24
  •  

    @Mistori : la méthode décrite ici marche sur Linux et non sous Windows. D'ailleurs, la plupart des articles de Tux-planet son pour Linux.

    pti-seb , le 27 février 2010 à 16:34
  •  

    Et si je fais un PC virtuel sous Linux ça va le faire ?

    Mistori , le 27 février 2010 à 16:41
  •  

    @Mistori : oui, mais la technique décrite ici n'est pas vraiment destinée au débutant. Tu risque donc d'avoir des difficultés à la mettre en oeuvre.

    pti-seb , le 28 février 2010 à 15:37
  •  

    Bonjour

    Je n'arrive pas à faire fonctionner µTorrent avec un proxy
    Avec Elite- proxy -switcher j'ai trouvé des proxy de niveau 1 qui fonctionnaient bien
    J'ai vérifié dans mon navigateur que le proxy était bien opérationnel, J'ai bien suivi le tuto pour paramètre µTorrent : j'ai mis les réglages dans Outils/connexion/serveur proxy

    Dans µTorrent / tracker j'ai l'info « proxy connect error : hors ligne (temps d'essai écoulé) ». J'ai essayé tous les socks 4/5/http/https/ et seul socks 5 ne me donne pas de message d'erreur sur le socks . J'observe aussi les infos « Non alloué » ou bien « non autorisé » pour les valeurs suivantes [DHT] [recherche locale de pair] et [échange de pairs]
    J'ai essayé aussi sans firewall sans succès
    Je n'ai rien trouvé sur le forum µTorrent , et j'ai vu une info sur le web disant qu'on ne peut pas télécharger derrière des proxy mais je ne peux pas croire ça !
    En tout cas je n'y arrive pas

    Merci de votre aide

    zorglub100 , le 3 mars 2010 à 00:00
  •  

    @Ulrich : je suis bien en retard mais pour chaîner des proxy il y a un outil qui se nomme "proxychains" (( # aptitude install proxychains ) pour les debianistes)
    il fonctionne avec Tor en plus, je crois qu'à ce jour il n'y a pas mieux pour chaîner des proxys

    Gex , le 16 juillet 2013 à 17:15

actualité android apache apple astuce astuces bash bilboblog blog boot chrome clavier commande commandes conky date debian Desktop développement elementary exploit faille fedora firefox flash gimp gnome google graphique Graphisme hack hacking Hardware humour intel internet iphone jailbreak Jeux Kde kernel libre Linux log logiciels Logiciels Libres lucid lynx maemo mail maquette metasploit microsoft mobile mockup monitoring mozilla multi-touch musique mysql n900 nautilus nokia noyau openoffice open source password photos php Planet publicité redhat red hat rpm réseau screenshot script serveur serveurs shell sql ssh statistiques sysadmin system Sécurité thème tux-planet tv twitter ubuntu unity vidéo vidéos vlc voyage wallpaper windows wordpress yum