Możliwość uzyskania dostępu do usługi w celu poznania publicznego adresu IP może być bardzo pomocna, ale jak przebiega ten proces? Dzisiejszy post z pytaniami i odpowiedziami dla SuperUser zawiera odpowiedź na pytanie zaciekawionego czytelnika.
Dzisiejsza sesja pytań i odpowiedzi jest dostępna dzięki uprzejmości SuperUser - części Stack Exchange, grupy witryn internetowych z pytaniami i odpowiedziami.
Zrzut ekranu dzięki uprzejmości Douglas Porter (flickr) .
Pytanie
Czytnik SuperUser Harry chce wiedzieć, jakie kroki należy wykonać, aby znaleźć publiczny adres IP komputera:
Znam usługi takie jak Jaki jest mój adres IP który pozwala użytkownikowi znaleźć swój publiczny adres IP, ale chciałbym wiedzieć, w jaki sposób taka usługa jest pisana od podstaw? Nie potrzebuję samego kodu, po prostu chcę znać koncepcje i kroki z nim związane (pseudokod, jeśli wolisz).
Oto co już wiem o tworzeniu takiej usługi:
- Skonfigurowałbym aplikację internetową w Internecie, która nasłuchuje na porcie 80 / dla portu 80.
- Kiedy przychodzi żądanie, sprawdzałem jego źródłowy adres IP, a następnie pakowałem go w ładnie sformatowaną odpowiedź HTML, aby użytkownik mógł go zobaczyć.
Czy to wszystko, czy też jest tu coś jeszcze?
Jakie są kroki, aby znaleźć publiczny adres IP komputera?
Odpowiedź
Współpracownik SuperUser Scott Chamberlain ma dla nas odpowiedź:
W większości przypadków to, co wymieniłeś, to wszystko, co musisz zrobić, aby uzyskać podstawową funkcjonalność.
Jest jednak jeszcze jedna rzecz, którą możesz zrobić. Możesz sprawdzić X-Forwarded-For nagłówek dodany przez niektóre serwery proxy (rodzaj używany do buforowania) i / lub moduły równoważenia obciążenia i zamiast tego zgłoś ten adres, ponieważ adres otrzymany z adresu źródłowego będzie adresem serwera proxy, a nie użytkownika.
Jednak ten nagłówek jest dostarczany przez użytkownika, więc nie ma możliwości udowodnienia, że adres podany w X-Forwarded-For to prawdziwy adres źródłowy użytkownika.
Masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych zaawansowanych technicznie użytkowników Stack Exchange? Sprawdź cały wątek dyskusji tutaj .