If-Koubou

Какви са стъпките за намиране на публичния IP адрес на компютъра?

Какви са стъпките за намиране на публичния IP адрес на компютъра? (Как да)

Да можеш да получиш достъп до услуга, за да научиш своя публичен IP адрес, може да бъде много полезна, но как работи процесът? Днешната публикация "SuperUser Q & A" е отговорът на въпроса на любознателен читател.

Днешната сесия за въпроси и отговори ни идва с любезното съдействие на SuperUser - подразделение на Stack Exchange - обединяване на уеб сайтове с въпроси и отговори.

Скрийншотът е предоставен от Douglas Porter (Flickr).

Въпроса

Reader на SuperUser Хари иска да знае какви стъпки за намиране на публичния IP адрес на компютъра са:

Аз съм наясно с услуги като "Какво е моят IP адрес, който позволява на потребителя да намери своя публичен IP адрес, но това, което бих искал да знам, е как такава услуга се пише от нулата? Нямам нужда от самия код, просто искам да разбера концепциите и стъпките (псевдо код, ако ще).

Това вече знам за създаването на такава услуга:

  1. Бих създал уеб приложение в Интернет, което да слуша / за порт 80.
  2. Когато се появи заявка, ще разгледам източника на IP адреса й, след което ще я оформя в добре оформен HTML отговор, който потребителят ще види.

Това ли е, или има ли и нещо друго, което се включва тук?

Какви са стъпките за намиране на публичния IP адрес на компютъра?

Отговорът

Сътрудникът на SuperUser Скот Чембърлейн има отговор за нас:

В по-голямата си част това, което сте изброили, е всичко, което трябва да направите за основна функционалност.

Има още едно нещо, което можете да направите. Можете да проверите X-предаден-За заглавието, добавено от някои пълномощни (видът, използван за кеширане) и / или балансиращите натоварвания, и да съобщи този адрес вместо това, защото адресът, който получавате от изходния адрес, ще бъде адреса на проксиса, а не на потребителя.

Тази глава обаче е предоставена от потребителя, така че няма начин да се докаже, че адресът, посочен в X-предаден-За е реалният източник на адреса на потребителя.

Имате ли нещо, което да добавите към обяснението? Звучи в коментарите. Искате ли да прочетете повече отговори от други потребители на Stack Exchange? Вижте цялата тема на дискусията тук.