web-dev-qa-db-fra.com

Comment un site Web peut-il trouver ma véritable adresse IP lorsque je suis derrière un proxy?

Je me demande simplement comment certains sites Web aiment WhatIsMyIP savoir quelle est votre véritable adresse IP, même si vous utilisez un serveur proxy. Ça disait :

Proxy détecté

puis ils donnent votre véritable adresse IP.

Est-il possible qu'ils utilisent JavaScript pour envoyer une demande HTTP pour ne pas utiliser les paramètres de proxy du navigateur Web (comment pourrait-il être implémenté par Java) ou il existe une technique magique?

46
user13934

Il existe plusieurs façons:

  • En-têtes de proxy, tels que X-Forwarded-For et X-Client-IP, peut être ajouté par des proxys non transparents.
  • La vérification active du proxy peut être utilisée - le serveur cible tente de se connecter à l'IP client sur les ports proxy communs (par exemple 8080) et le marque comme proxy s'il trouve qu'un tel service est en cours d'exécution.
  • Les serveurs peuvent vérifier si la demande provient d'une adresse IP qui est un proxy connu. WhatsMyIP a probablement une grande liste de ceux-ci, y compris les plus communs comme HideMyAss.
  • Le logiciel client Web (par exemple Java ou applications Flash) peut être en mesure de lire les paramètres du navigateur ou de se connecter directement à un service Web sur le système cible (en contournant le proxy) pour vérifier que les adresses IP correspondent .
  • Le logiciel d'application mobile peut identifier l'IP du client. Exemple: plugin PhoneGap
52
Polynomial

Au-delà de ce que Polynomial a dit, une autre pratique courante consiste à voir le navigateur afficher le site avec et sans HTTPS, et voir si les connexions proviennent de la même IP.

De nombreux proxys transparents (par exemple, la mise en cache) permettront au trafic SSL de passer sans proxy, car le proxy d'une connexion SSL nécessite des certificats d'usurpation d'identité, ce qui provoque toute une série d'autres problèmes.

Dans ce cas, l'adresse SSL est la "vraie" et l'adresse non SSL est l'adresse du proxy.

14
tylerl

Il peut être possible pour les serveurs Web/sites Web de trouver la véritable IP derrière un proxy. Généralement, les serveurs proxy HTTP, lors de la réception d'une demande d'un client/utilisateur, ajoutent un nouveau champ (X-Forwarded-For) dans l'en-tête HTTP et transmettent ensuite la demande au serveur Web. Ce champ X-Forwarded-For a l'adresse IP du client. Par conséquent, en analysant ce champ, un site Web peut déterminer la véritable adresse IP.

Cependant, les serveurs proxy offrent différents niveaux d'anonymat. Si un proxy hautement anonyme est utilisé (également connu sous le nom de proxy Elite), le site Web pourrait ne pas être en mesure de trouver la véritable adresse IP, car ces proxy Elite n'incluent généralement pas de tels en-têtes. Une autre option consiste à utiliser Ultrasurf si vous souhaitez masquer la véritable adresse IP.

Consultez cet article pour plus de détails sur l'en-tête x-forwarded-for et une démo simple python qui montre comment un serveur Web peut détecter l'utilisation d'un serveur proxy: X-Forwarded -Pour

3
Guest