IP-Adresse(Öffentliche)



  • @EOP: Weil du grad Proxy schreibst: weisst du zufällig wie "üblich" es ist dass Proxies einen X-Forwarded-For Header-Eintrag schicken?
    Wenn der vorhanden ist könnte man das Ganze auch mit Proxy zum Laufen bekommen (vorausgesetzt die Client-IP ist eine öffentliche, was natürlich oft genug nicht der Fall ist).



  • hustbaer schrieb:

    @EOP: Weil du grad Proxy schreibst: weisst du zufällig wie "üblich" es ist dass Proxies einen X-Forwarded-For Header-Eintrag schicken?
    Wenn der vorhanden ist könnte man das Ganze auch mit Proxy zum Laufen bekommen (vorausgesetzt die Client-IP ist eine öffentliche, was natürlich oft genug nicht der Fall ist).

    Hi hustbaer,
    ich hab schon mal was über das Thema gepostet ("was ist der Unterschied zwischen anonym und high anonym proxies" oder so ähnlich).

    Die X-Forwarded-For und Via HTTP-header-Variablen werden von transparenten oder non-high-anonymous proxies gesendet.

    Via zeigt dem server im Prinzip nur, daß grundsätzlich ein Proxy benutzt wurde.
    X-Forwarded-For verrät (spill) deine IP-Adresse falls es nicht sogenannte Elite-Proxies sind, die (hier und) in remote_addr eine Fantasie-IP eintragen (ja das gibt's auch. Sogenannte distorting proxies).

    remote_addr ist das, was der server in erster Linie zusehen bekommt.

    Das ganze Proxy-Thema ist aber recht umfangreich.

    Im Allgemeinen sollte ein Test von X-Forwarded-For und remote_addr reichen (wenn kein elite proxy benutzt wurde).

    Du kannst ja mal nach proxyjudge oder (inurl:)azenv.php googeln und dann eine .../azenv.php-seite aufrufen.
    Keine Angst - da passiert nix Schlimmes. 😉

    EDIT:
    Wie kann eine Client-IP nicht öffentlich sein? Irgendeine IP wird immer gesendet.
    Wie die dann mit NATS weitergeleitet wird ist eine ganz andere Geschichte, die hiermit gar nix zu tun hat. Hier geht's um die public IP, die der server zu sehen bekommt.



  • Mit nicht öffentlicher Client-IP meine ich z.B. 192.168.1.42 oder dergleichen.

    Sagen wir wir haben ein 192.168.1.0/24 Netz.
    Da drin steht ein Proxy mit Adresse 192.168.1.10 und ein anderer PC mit Adresse 192.168.1.42.
    Der Browser vom 192.168.1.42 PC hat 192.168.1.10 als Proxy eingestellt.
    Die Firewall erlaubt nur 192.168.1.10 per NAT (PAT, IP-Masquerading, IP-Sharing - wie man es auch nennen will) rauszuconnecten.
    WAN-seitig hat die Firewall 80.1.1.1.
    192.168.1.42 hat also keine öffentliche IP.

    Klassischer Fall "Restriktives Firmennetz" würde ich meinen.

    Was sollte in dem Fall dann im X-Forwarded-For drinnenstehen?
    "192.168.1.42, 192.168.1.10"?
    "192.168.1.42, 80.1.1.1"?
    Oder gar "80.1.1.1, 80.1.1.1"?
    Oder ganz was anderes?



  • "Oder gar" würde drinstehen falls X-Forwarded-For überhaupt gesendet würde:

    80.1.1.1

    Alles Andere dringt nicht nach Aussen:
    http://www.iana.org/assignments/ipv4-address-space/

    192.168.0.0/16 reserved for Private-Use Networks [RFC1918]

    http://www.faqs.org/rfcs/rfc1918.html

    Das gleiche gilt für Remote_Addr falls es sich um einen nicht anonymen Proxy handelt.

    Um wirklich anonym unterwegs zu sein musst du erst Zugriff auf einen server haben, dem dann einen SOCKS-Proxy installieren und den dann benutzen (so sagt man ;)).
    Das ganze Prozedere u.U. in Kaskaden.

    Das ist aber wahrscheinlich kein Thema, das unbedingt bei c-plusplus.net erörtert werden muss. Andere Baustelle.



  • Also der Proxy bei mir in der Firma (genau so ein Setup wie beschrieben) schickt anscheinend keine brauchbare X-Forwarded-For.
    http://www.proxyblind.org/proxy-anonymous-checker.shtml schreibt zumindest

    Via 	HTTP_X_FORWARDED_FOR = unknown
    

    EOP schrieb:

    "Oder gar" würde drinstehen falls X-Forwarded-For überhaupt gesendet würde:

    80.1.1.1

    Alles Andere dringt nicht nach Aussen:
    http://www.iana.org/assignments/ipv4-address-space/

    192.168.0.0/16 reserved for Private-Use Networks [RFC1918]

    Dass das eine reserved IP Range ist ist mir schon klar, daher ja auch die Frage. Nur wer soll die interne IP auf ne externe umschreiben?

    Sicherlich nicht die Firewall die das NAT macht, denn die Firewall hat gefälligst die Finger aus dem Applikations-Protokoll (HTTP in dem Fall) zu lassen. Bzw. kann auch garnicht alle Applikations-Protokolle kennen.

    Der Proxy selbst? Dazu müsste der Proxy sämtliche NATs kennen die auf dem Weg zum Server passieren, und das kann er nicht.

    -> IP Adressen auf Schichten die über IP liegen zu verschicken ist immer doof, weil es mit NAT Probleme macht. FTP demonstriert das recht schön.



  • X-Forwarded-For wird nicht von reverse proxies (wie in deinem Fall) gesendet. Das wäre ja kontraproduktiv. 😉
    Obwohl es auch so genial programmierte Webseiten gibt, die dir

    302 Found
    Location: http://192.168.x.x/irgendwas.php

    senden.

    Es wird normalerweise nur von transparenten oder "schwach" anonymen proxies gesendet.
    Eine Notwendigkeit oder gar Verpflichtung diese Header-Variable zu senden gibt es nicht.

    Wenn sie gesendet wird, ist es nützlich, um den Grad der Anonymität einschätzen zu können. Mehr aber auch nicht.

    Die externe IP kommt(wird verwaltet) von deinem router.



  • @EOP:
    Hihi, du scheinst anzunehmen dass ich von IP so überhaupt garkeinen Dunst habe.
    Das ist nicht so. Ich bin sicher kein Profi, aber ein wenig kenne ich mich schon aus 😉

    Vonwegen Reverse-Proxy: ein Reverse-Proxy ist ganz was anderes. Den schaltet man VOR einen Web-Server. Um den zu entlasten/schützen/was auch immer.

    In meinem Fall ist da einfach ein Firmennetz mit einem stinknormalen Squid Proxy. In meinem Browser habe ich den eingetragen, sonst würde ich nicht raus kommen. Da ist nichts reverse und nichts transparent und überhaupt nichts aussergewöhnlich. Ausser dass der Proxy eben im internen Netz steht, und daher auch eine interne IP hat, und daher auch die interne IP meines PCs sieht. Und die daher auch nicht sinnvoll eintragen kann.



  • hustbaer schrieb:

    @EOP:
    Hihi, du scheinst anzunehmen dass ich von IP so überhaupt garkeinen Dunst habe.

    No I don't. Never underestimate your enemy. Whereas I don't consider you as an enemy.

    hustbaer schrieb:

    Vonwegen Reverse-Proxy..,

    Oki doki - I realised the level of your knowledge.

    Let's call it "incomplete".

    Regards EOP

    EDIT:
    What's your problem?
    Bypassing your internal proxy?

    Set up a VPN or,....
    There are some ways to achieve this.

    I'd help you, if you'd live in Iran e.g.



  • Huch?

    ad p.S.: ich habe gar kein Problem. Ich wollte nur wissen wie das bei Proxies so üblich ist, was die eintragen oder auch nicht. Speziell eben in nicht-trivialen Fällen wie wenn sie mit ner privaten IP laufen. Ist aber nicht SO wichtig. Reine Neugier.



  • SG1 schrieb:

    Hoffentlich kommt bald endlich IPv6, dann hat das rumgefrickel mit NAT endlich ein Ende.

    Ipv6 dürfte daran nix ändern, auch in IPv6 gibt es einen privaten nicht von öffentlichen Netzen Routbaren Adressbereich, auch mit IPV6 kann man Subnetten.

    In Netzen wo auch mehrere Öffentliche IP Adressen existieren, unter welchen Serverdienste bereitgestellt werden sollen, iexistiert meist noch eine Firewall , welche den eingehenden Trafic limitiert und das Netzt was nicht sichtbar nach aussen seien soll hinter einem Nat versteckt.

    Vermutlich wird auch keiner in privaten Netzen ipv6 einsetzten, nur extern. Für eigentlich jedes private Netz reichen die IPv4 Adressen.
    Zumindest kann man ipv 4 noch im Kopf umrechnen ^^ das ist bei ipv6 schon
    nicht mehr ganz so Trivial.


Log in to reply