Какие шаги для нахождения общедоступного IP-адреса компьютера?
Возможность доступа к службе для изучения вашего общедоступного IP-адреса может быть очень полезной, но как этот процесс работает? Сегодняшний пост SuperUser Q & A содержит ответ на любопытный вопрос читателя.
Сегодняшняя сессия вопросов и ответов пришла к нам благодаря SuperUser - подразделению Stack Exchange, группе веб-сайтов вопросов и ответов, управляемой сообществом..
Снимок экрана любезно предоставлен Дугласом Портером (Flickr).
Вопрос
Читатель SuperUser Гарри хочет знать, как определить публичный IP-адрес компьютера:
Мне известны такие службы, как «Что такое мой IP-адрес», которые позволяют пользователю находить свой общедоступный IP-адрес, но я хотел бы знать, как такая служба создается с нуля? Мне не нужен сам код, я просто хочу знать концепции и соответствующие шаги (псевдокод, если хотите).
Вот что я уже знаю о создании такого сервиса:
- Я бы настроил веб-приложение в интернете, которое слушает / для порта 80.
- Когда приходит запрос, я проверяю его исходный IP-адрес, а затем упаковываю его в красиво отформатированный HTML-ответ, чтобы пользователь мог его увидеть..
Это то, или здесь есть что-то еще??
Как найти общедоступный IP-адрес компьютера??
Ответ
Участник SuperUser Скотт Чемберлен имеет ответ для нас:
По большей части, то, что вы перечислили, это все, что вам нужно сделать для основных функций.
Есть, однако, еще одна вещь, которую вы могли бы сделать. Вы можете проверить X-Forwarded-For заголовок, добавляемый некоторыми прокси-серверами (тип, используемый для кэширования) и / или балансировщики нагрузки, и вместо этого сообщайте этот адрес, поскольку адрес, который вы получите от адреса источника, будет адресом прокси, а не пользователем.
Однако этот заголовок предоставляется пользователем, поэтому невозможно доказать, что адрес, указанный в X-Forwarded-For реальный адрес источника пользователя.
Есть что добавить к объяснению? Отключить звук в комментариях. Хотите узнать больше ответов от других технически подкованных пользователей Stack Exchange? Ознакомьтесь с полным обсуждением здесь.