Το Στέκι των Πληροφορικών

Γενικά => Τεχνική υποστήριξη => Μήνυμα ξεκίνησε από: alkisg στις 22 Σεπ 2010, 10:38:05 μμ

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

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

edit: το βάλαμε και στο site της Τεχνικής Στήριξης, με πιο απλή μορφή για ανθρώπους αντί για scripts:
http://ts.sch.gr/tech/ip
Τίτλος: Απ: Εξωτερική IP σχολείων
Αποστολή από: Δημήτρης Δαλαγιώργος στις 22 Σεπ 2010, 11:23:11 μμ
Κάν'το sticky!
Τίτλος: Απ: Εξωτερική IP σχολείων
Αποστολή από: gidarakos στις 31 Μάρ 2011, 12:39:35 μμ
Όταν ο καθηγητής επισκέπτετε από τον LTSP το www.canyouseeme.org για να δει την πραγματική IP η απάντηση είναι 127.0.0.1

Τι συμβαίνει;
Τίτλος: Απ: Εξωτερική IP σχολείων
Αποστολή από: alkisg στις 31 Μάρ 2011, 12:41:36 μμ
Προφανώς το canyouseeme δεν δουλεύει σωστά. :)

http://alkisg.mysch.gr/ip/
Τίτλος: Απ: Εξωτερική IP σχολείων
Αποστολή από: gidarakos στις 31 Μάρ 2011, 01:13:15 μμ
Άλκη δε νομίζω να φταίει το canyouseeme..
Όταν επισκέπτομαι το http://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;
Τίτλος: Απ: Εξωτερική IP σχολείων
Αποστολή από: alkisg στις 31 Μάρ 2011, 01:43:38 μμ
Α οκ το 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 (δηλαδή και του εργαστηρίου και τον κεντρικό του ΠΣΔ) δεν ξέρω τι θα παιχτεί. :)
Τίτλος: Απ: Εξωτερική IP σχολείων
Αποστολή από: gidarakos στις 31 Μάρ 2011, 02:03:05 μμ
Άλκη το http://alkisg.mysch.gr/ip/ μέσα από τον LTSP συνεχίζει να απαντάει το ίδιο.

Υ.Γ. Πάντως και έτσι την κάνουμε τη δουλειά μας.. κοιτάμε το REMOTE_ADDR..
Τίτλος: Απ: Εξωτερική IP σχολείων
Αποστολή από: alkisg στις 31 Μάρ 2011, 02:18:30 μμ
Ουπς με πρόδωσε η substr() της php. Αν θες ξαναδοκίμασε, πρέπει να είναι εντάξει τώρα. Αν θες κάνε και bug report στο canyouseeme.
Τίτλος: Απ: Εξωτερική IP σχολείων
Αποστολή από: gidarakos στις 01 Απρ 2011, 08:28:03 πμ
Τώρα στα αποτελέσματα βλέπω μία 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'
Τίτλος: Απ: Εξωτερική IP σχολείων
Αποστολή από: alkisg στις 01 Απρ 2011, 08:40:23 πμ
Α μπράβο αυτό είναι που έλεγα ότι δεν ήξερα τι θα γίνει όταν υπάρχουν δύο 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.
Τίτλος: Απ: Εξωτερική IP σχολείων
Αποστολή από: gidarakos στις 01 Απρ 2011, 08:46:34 πμ
Αυτό λύνεται αν έχουμε πολλούς proxy;
Μήπως γι' αυτό το canyouseme δεν ασχολείται όταν υπάρχει/ουν proxy;
Τίτλος: Απ: Εξωτερική IP σχολείων
Αποστολή από: alkisg στις 01 Απρ 2011, 09:02:57 πμ
Παράθεση από: 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. Όχι ότι δεν ασχολείται επίτηδες. Αν κάποιος τους ενημερώσει υποθέτω ότι θα ασχοληθούν και θα λύσουν το πρόβλημα, αφού τους ενδιαφέρει κι αυτούς να είναι ΟΚ για να έχουν επισκέπτες.
Τίτλος: Απ: Εξωτερική IP σχολείων
Αποστολή από: gidarakos στις 09 Απρ 2011, 12:43:27 μμ
Άλκη δεν ξέρω αν βοηθάει για τη σωστή υλοποίηση της http://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'
Τίτλος: Απ: Εξωτερική IP σχολείων
Αποστολή από: alkisg στις 09 Απρ 2011, 03:47:21 μμ
Θεωρητικά το διόρθωσα το http://alkisg.mysch.gr/ip/ (http://alkisg.mysch.gr/ip/), αν θες κάνε μια δοκιμή ακόμα από το σχολείο σου (μέσω neatx) για να βεβαιωθούμε ότι παίζει ΟΚ ακόμα και πίσω από δύο (ή και παραπάνω) proxy.
Τίτλος: Απ: Εξωτερική IP σχολείων
Αποστολή από: gidarakos στις 09 Απρ 2011, 10:27:31 μμ
Πρέπει να είναι οκ.

Από σπίτι τα ίδια και από σχολείο:
Κώδικας: [Επιλογή]
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 και το αντίστροφο.

Το 10.2.32.11 μάλλον είναι η εσωτερική IP του squid του ΠΣΔ που χρησιμοποιείς:

Τελικά αυτές οι ip (10.2.32-33.11) εμφανίζoνται (από σπίτι και σχολείο) γιατί η http://alkisg.mysch.gr/ip/ είναι πίσω από squid του ΠΣΔ;
Τίτλος: Απ: Εξωτερική IP σχολείων
Αποστολή από: alkisg στις 09 Απρ 2011, 10:49:45 μμ
Τελικά αυτές οι ip (10.2.32-33.11) εμφανίζoνται (από σπίτι και σχολείο) γιατί η http://alkisg.mysch.gr/ip/ είναι πίσω από squid του ΠΣΔ;

www01-users.att.sch.gr = 10.2.32.11
www02-users.att.sch.gr = 10.2.33.11
www03-users.att.sch.gr = 10.2.34.11

Έτσι πιστεύω, ότι αυτοί πρέπει να είναι squid servers σε transparent λειτουργία. Δυστυχώς δεν έχω βρει κάποιο έγγραφο που να περιγράφει αναλυτικά το τεχνικό μέρος του web hosting του ΠΣΔ...
Τίτλος: Απ: Εξωτερική IP σχολείων
Αποστολή από: gidarakos στις 10 Απρ 2011, 12:00:38 πμ
Απ' ότι φαίνεται, τα βάζουν στο HTTP_X_FORWARDED_FOR, δηλαδή το δικό σου squid έβαλε το 127.0.0.1 και το squid του ΠΣΔ έβαλε το 81.186.24.78
Δηλαδή και από το σπίτι o 10.2.33.11 είναι αυτός που βάζει την αντίστοιχη IP στο HTTP_X_FORWARDED_FOR;
Αν η http://alkisg.mysch.gr/ip/ δεν ήταν πίσω από τον proxy (10.2.33.11) δεν θα βλέπαμε καθόλου την εγγραφή HTTP_X_FORWARDED_FOR;
Τίτλος: Απ: Εξωτερική IP σχολείων
Αποστολή από: alkisg στις 10 Απρ 2011, 07:08:45 πμ
1) Ναι
2) Στο σπίτι δεν θα έβλεπες καθόλου HTTP_X_FORWARDED_FOR, ενώ στο σχολείο θα έβλεπες τον δικό σου proxy στο 127.0.0.1.

Κώστα, τα μηνύματα που αναφέρονται στο http://alkisg.mysch.gr/ip θα τα ενώσω με το σχετικό θέμα εδώ:
http://alkisg.mysch.gr/steki/index.php?topic=3209.0
Τίτλος: Απ: Εξωτερική IP σχολείων
Αποστολή από: gidarakos στις 10 Απρ 2011, 11:22:49 πμ
Η απορία μου είναι γιατί τα αποτελέσματα που έστειλες χθες δεν πέρασαν από το squid του ΠΣΔ αλλά πήγαν κατευθείαν. Ίσως να άλλαξαν κάτι στις ρυθμίσεις του ΠΣΔ από χθες μέχρι σήμερα.

Εφόσον σε αυτή τη δοκιμή http://alkisg.mysch.gr/steki/index.php?topic=3209.msg39654#msg39654 δε υπήρχε - θεωρητικά - proxy δε θα έπρεπε στο REMOTE_ADDR να εμφάνιζε την ip (όχι proxy) του http://alkisg.mysch.gr/ip/ και όχι τη δική μου;

Ή αυτό έχει να κάνει με την υλοποίηση της php σου και τι εμφανίζεις που;
Τίτλος: Απ: Εξωτερική IP σχολείων
Αποστολή από: alkisg στις 10 Απρ 2011, 08:19:50 μμ
REMOTE_ADDR, δηλαδή "απομακρυσμένη διεύθυνση" από την πλευρά του server είναι η IP του χρήστη.
Όχι, δεν έχει να κάνει με την υλοποίησή μου, αυτές οι μεταβλητές είναι του πρωτοκόλλου http.
Το μόνο που κάνει η υλοποίησή μου είναι να υπολογίζει την μεταβλητή IP (που είναι καθαρά δικιά μου) από τις μεταβλητές REMOTE_ADDR και HTTP_X_FORWARDED_FOR του http.
Τίτλος: Απ: Εξωτερική IP σχολείων
Αποστολή από: gidarakos στις 10 Απρ 2011, 09:55:52 μμ
REMOTE_ADDR, δηλαδή "απομακρυσμένη διεύθυνση" από την πλευρά του server είναι η IP του χρήστη.
Είχε γίνει κατανοητό αυτό αλλά με μπέρδεψε μετά με τους proxy..

Ευχαριστώ για τις διευκρινίσεις.
Τίτλος: Απ: Εξωτερική IP σχολείων
Αποστολή από: alkisg στις 12 Απρ 2011, 04:09:56 μμ
Το βάλαμε και στο site της Τεχνικής Στήριξης:
http://ts.sch.gr/tech/ip

Σε πιο απλή μορφή, για ανθρώπους, όχι για scripts.
Τίτλος: Απ: Εξωτερική IP σχολείων
Αποστολή από: gidarakos στις 29 Σεπ 2011, 10:43:37 πμ
Η απορία μου είναι γιατί τα αποτελέσματα που έστειλες χθες δεν πέρασαν από το squid του ΠΣΔ αλλά πήγαν κατευθείαν. Ίσως να άλλαξαν κάτι στις ρυθμίσεις του ΠΣΔ από χθες μέχρι σήμερα.
Απλά αναφέρω τις διαφορές που τυχαία παρατήρησα:

1. http://alkisg.mysch.gr/ip/
Κώδικας: [Επιλογή]
IP='81.186.24.78'
REMOTE_ADDR='81.186.24.78'
HTTP_HOST='alkisg.mysch.gr'
HTTP_USER_AGENT='Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)'
HTTP_ACCEPT='text/html, application/xhtml+xml, */*'
HTTP_ACCEPT_LANGUAGE='el-GR'
HTTP_ACCEPT_ENCODING='gzip, deflate'

2. http://users.sch.gr/alkisg/ip/
Κώδικας: [Επιλογή]
IP='81.186.24.78'
HTTP_X_FORWARDED_FOR='81.186.24.78'
REMOTE_ADDR='10.2.33.11'
HTTP_HOST='users.sch.gr'
HTTP_USER_AGENT='Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)'
HTTP_ACCEPT='text/html, application/xhtml+xml, */*'
HTTP_ACCEPT_LANGUAGE='el-GR'
HTTP_ACCEPT_ENCODING='gzip, deflate'

Μάλλον στην 1η περίπτωση δεν περνάει από proxy
Τίτλος: Απ: Εξωτερική IP σχολείων
Αποστολή από: aprekates στις 03 Απρ 2012, 01:06:05 μμ
 Από την εφαρμογή  http://ts.sch.gr/tech/ip βρίσκουμε ip:  81.186.182.170  για το σχολείου μου.
Η βάση δεδομένων όμως του ΠΣΔ δείνει; IP υποδίκτυο NAT      81.186.182.168 
Ποιό από το δύο είναι το σωστο;

Αλέξανδρος
Τίτλος: Απ: Εξωτερική IP σχολείων
Αποστολή από: Yannis Siahos στις 28 Απρ 2012, 11:32:19 πμ
και τα δύο  :)

81.186.182.168 /4 είναι το υποδίκτυο που περιλαμβάνει 4 IP διευθύνσεις εκ των οποίων οι δύο είναι οι χρήσιμες:
την .168 που είναι το υποδίκτυο
την .169 που συνήθως δίνεται στον εξυπηρετητή (σε όποιο PC χρησιμοποιεί την 10.x.y.10 ιδιωτική δ/νση)
την .170 που χρησιμοποιούν όλα τα υπόλοιπα PCs
την .171 που είναι το broadcast του δικτύου