Εξωτερική IP σχολείων

Ξεκίνησε από alkisg, 22 Σεπ 2010, 10:38:05 ΜΜ

« προηγούμενο - επόμενο »

alkisg

Μερικές φορές χρειαζόμαστε να δούμε την εξωτερική IP του σχολείου, π.χ. για να συνδεθούμε από το σπίτι στον σχολικό εξυπηρετητή.
Επειδή το ΠΣΔ περνάει από caching, ιστοσελίδες τύπου http://www.whatsmyip.org/ εσφαλμένα εμφανίζουν την IP του cache server (π.χ. 194.63.239.234) αντί της IP του σχολείου.

Έτσι έφτιαξα μια σελιδούλα από την οποία μπορείτε να βλέπετε την IP σας: https://alkisg.mysch.gr/ip/
(είναι επίτηδες με τη μορφή VAR="VALUE" ώστε να μπορεί να χρησιμοποιηθεί και από scripts).

edit: το βάλαμε και στο site της Τεχνικής Στήριξης, με πιο απλή μορφή για ανθρώπους αντί για scripts:
http://ts.sch.gr/tech/ip

Δημήτρης Δαλαγιώργος

Ενάντια στην ηλιθιότητα, ακόμα και οι θεοί, μάταια αγωνίζονται.
Friedrich Schiller

gidarakos

Όταν ο καθηγητής επισκέπτετε από τον LTSP το www.canyouseeme.org για να δει την πραγματική IP η απάντηση είναι 127.0.0.1

Τι συμβαίνει;


gidarakos

Άλκη δε νομίζω να φταίει το canyouseeme..
Όταν επισκέπτομαι το https://alkisg.mysch.gr/ip/ από τα windows (με IP 10.x.y.z) παίρνω απάντηση:
IP='81.186.24.78'
REMOTE_ADDR='81.186.24.78'
HTTP_HOST='users.sch.gr'
HTTP_USER_AGENT='Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)'
HTTP_ACCEPT='*/*'
HTTP_ACCEPT_LANGUAGE='el-GR'
HTTP_ACCEPT_ENCODING='gzip, deflate'


Ενώ μέσα από τον LTSP (με IP 10.x.y.z) παίρνω:
IP='127.0.0.1'
HTTP_X_FORWARDED_FOR='127.0.0.1'
REMOTE_ADDR='81.186.24.78'
HTTP_HOST='users.sch.gr'
HTTP_USER_AGENT='Mozilla/5.0 (X11; U; Linux i686; el-GR; rv:1.9.2.16) Gecko/20110323 Ubuntu/10.04 (lucid) Firefox/3.6.16'
HTTP_ACCEPT='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
HTTP_ACCEPT_LANGUAGE='el-gr,el;q=0.7,en-us.;q=0.3'
HTTP_ACCEPT_ENCODING='gzip,deflate'
HTTP_ACCEPT_CHARSET='ISO-8859-7,utf-8;q=0.7,*;q=0.7'


Μάλλον το canyouseeme απαντάει την IP και όχι τη REMOTE_ADDR που θέλουμε.
Γιατί όμως διαφορετική IP από windows διαφορετική από LTSP;

alkisg

Α οκ το squid σου είναι που μπλέκει τον κόσμο, γιατί θέτει HTTP_X_FORWARDED_FOR='127.0.0.1' . :)
Το HTTP_X_FORWARDED_FOR το βάζουν οι proxy servers ώστε ο web server να καταλάβει ότι τη σελίδα θα πρέπει να την επιστρέψει μεν στην IP του proxy server, αλλά αυτός που ζητάει πραγματικά τη σελίδα δεν είναι ο proxy server αλλά ο "forwarded" client. Και έτσι μαθαίνουν έμμεσα την IP του client όταν αυτός είναι πίσω από proxy server.

Άρα και το canyouseeme και το δικό μου έχουν bug, θα έπρεπε όταν το HTTP_X_FORWARDED_FOR είναι διεύθυνση τοπικού δικτύου να μην την χρησιμοποιούν αλλά σ' αυτήν την περίπτωση να προτιμάνε την REMOTE_ADDR.
Το έφτιαξα το δικό μου, δοκίμασέ το κι αν δουλεύει σωστά τότε κάνε bug report στο canyouseeme να το φτιάξουν κι αυτοί.
Τώρα αν κάποιος είναι πίσω από 2 proxy servers (δηλαδή και του εργαστηρίου και τον κεντρικό του ΠΣΔ) δεν ξέρω τι θα παιχτεί. :)

gidarakos

Άλκη το https://alkisg.mysch.gr/ip/ μέσα από τον LTSP συνεχίζει να απαντάει το ίδιο.

Υ.Γ. Πάντως και έτσι την κάνουμε τη δουλειά μας.. κοιτάμε το REMOTE_ADDR..

alkisg

Ουπς με πρόδωσε η substr() της php. Αν θες ξαναδοκίμασε, πρέπει να είναι εντάξει τώρα. Αν θες κάνε και bug report στο canyouseeme.

gidarakos

Τώρα στα αποτελέσματα βλέπω μία IP 10.2.32.11 η οποία δεν έχει σχέση με την τοπική που έχω στο pc.

Από windows:
IP='81.186.24.78'
HTTP_X_FORWARDED_FOR='81.186.24.78'
REMOTE_ADDR='10.2.32.11'
HTTP_HOST='users.sch.gr'
HTTP_USER_AGENT='Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)'
HTTP_ACCEPT='*/*'
HTTP_ACCEPT_LANGUAGE='el-GR'
HTTP_ACCEPT_ENCODING='gzip, deflate'


Από LTSP:
IP='10.2.32.11'
HTTP_X_FORWARDED_FOR='127.0.0.1, 81.186.24.78'
REMOTE_ADDR='10.2.32.11'
HTTP_HOST='users.sch.gr'
HTTP_USER_AGENT='Mozilla/5.0 (X11; U; Linux i686; el-GR; rv:1.9.2.16) Gecko/20110323 Ubuntu/10.04 (lucid) Firefox/3.6.16'
HTTP_ACCEPT='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
HTTP_ACCEPT_LANGUAGE='el-gr,el;q=0.7,en-us.;q=0.3'
HTTP_ACCEPT_ENCODING='gzip,deflate'
HTTP_ACCEPT_CHARSET='ISO-8859-7,utf-8;q=0.7,*;q=0.7'

alkisg

Α μπράβο αυτό είναι που έλεγα ότι δεν ήξερα τι θα γίνει όταν υπάρχουν δύο squids στη σειρά. Απ' ότι φαίνεται, τα βάζουν στο HTTP_X_FORWARDED_FOR, δηλαδή το δικό σου squid έβαλε το 127.0.0.1 και το squid του ΠΣΔ έβαλε το 81.186.24.78. Ένα καλό script θα πρέπει να τσεκάρει κι αυτήν την ακραία περίπτωση. Θα διορθώσω το δικό μου στην πρώτη ευκαιρία.

Η απορία μου είναι γιατί τα αποτελέσματα που έστειλες χθες δεν πέρασαν από το squid του ΠΣΔ αλλά πήγαν κατευθείαν. Ίσως να άλλαξαν κάτι στις ρυθμίσεις του ΠΣΔ από χθες μέχρι σήμερα.

Το 10.2.32.11 μάλλον είναι η εσωτερική IP του squid του ΠΣΔ που χρησιμοποιείς:
$ dig @nic.sch.gr +short -x 10.2.32.11
www01-users.att.sch.gr.

gidarakos

Αυτό λύνεται αν έχουμε πολλούς proxy;
Μήπως γι' αυτό το canyouseme δεν ασχολείται όταν υπάρχει/ουν proxy;

alkisg

Παράθεση από: http://en.wikipedia.org/wiki/X-Forwarded-For
The general format of the field is:

    X-Forwarded-For: client1, proxy1, proxy2

Άρα όταν υπάρχει το HTTP_X_FORWARDED_FOR, η πρώτη εξωτερική IP που θα βρούμε από αριστερά προς τα δεξιά είναι αυτή που μας ενδιαφέρει. Θα το υλοποιήσω από Δευτέρα.
Το canyouseeme πιστεύω ότι έχει bugs. Όχι ότι δεν ασχολείται επίτηδες. Αν κάποιος τους ενημερώσει υποθέτω ότι θα ασχοληθούν και θα λύσουν το πρόβλημα, αφού τους ενδιαφέρει κι αυτούς να είναι ΟΚ για να έχουν επισκέπτες.

gidarakos

Άλκη δεν ξέρω αν βοηθάει για τη σωστή υλοποίηση της https://alkisg.mysch.gr/ip/ απλά αναφέρω τι παρατήρησα:

Από το σπίτι απαντάει:
IP='85.73.232.122'
HTTP_X_FORWARDED_FOR='85.73.232.122'
REMOTE_ADDR='10.2.33.11'
HTTP_HOST='users.sch.gr'
HTTP_USER_AGENT='Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)'
HTTP_ACCEPT='*/*'
HTTP_ACCEPT_LANGUAGE='el-GR'
HTTP_ACCEPT_ENCODING='gzip, deflate'


Από το εργαστήριο (μέσω neatx):
IP='10.2.32.11'
HTTP_X_FORWARDED_FOR='127.0.0.1, 194.63.197.228'
REMOTE_ADDR='10.2.32.11'
HTTP_HOST='users.sch.gr'
HTTP_USER_AGENT='Mozilla/5.0 (X11; U; Linux i686; el-GR; rv:1.9.2.16) Gecko/20110323 Ubuntu/10.04 (lucid) Firefox/3.6.16'
HTTP_ACCEPT='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
HTTP_ACCEPT_LANGUAGE='el-gr,el;q=0.7,en-us.;q=0.3'
HTTP_ACCEPT_ENCODING='gzip,deflate'
HTTP_ACCEPT_CHARSET='ISO-8859-7,utf-8;q=0.7,*;q=0.7'

alkisg

Θεωρητικά το διόρθωσα το https://alkisg.mysch.gr/ip/, αν θες κάνε μια δοκιμή ακόμα από το σχολείο σου (μέσω neatx) για να βεβαιωθούμε ότι παίζει ΟΚ ακόμα και πίσω από δύο (ή και παραπάνω) proxy.

gidarakos

Πρέπει να είναι οκ.

Από σπίτι τα ίδια και από σχολείο:
IP='194.63.197.228'
HTTP_X_FORWARDED_FOR='127.0.0.1, 194.63.197.228'
REMOTE_ADDR='10.2.32.11'
HTTP_HOST='users.sch.gr'
HTTP_USER_AGENT='Mozilla/5.0 (X11; U; Linux i686; el-GR; rv:1.9.2.16) Gecko/20110323 Ubuntu/10.04 (lucid) Firefox/3.6.16'
HTTP_ACCEPT='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
HTTP_ACCEPT_LANGUAGE='el-gr,el;q=0.7,en-us.;q=0.3'
HTTP_ACCEPT_ENCODING='gzip,deflate'
HTTP_ACCEPT_CHARSET='ISO-8859-7,utf-8;q=0.7,*;q=0.7'


Παρατήρησα ότι με refresh αλλάζει (όχι συνέχεια αλλά αλλάζει) η REMOTE_ADDR από 10.2.32.11 σε 10.2.33.11 και το αντίστροφο.

Παράθεση από: alkisg στις 01 Απρ 2011, 08:40:23 ΠΜ
Το 10.2.32.11 μάλλον είναι η εσωτερική IP του squid του ΠΣΔ που χρησιμοποιείς:

Τελικά αυτές οι ip (10.2.32-33.11) εμφανίζoνται (από σπίτι και σχολείο) γιατί η https://alkisg.mysch.gr/ip/ είναι πίσω από squid του ΠΣΔ;