BadCats
@BadCats

Как работает данное определение приватного адреса в Python?

Источни: https://stackoverflow.com/a/28950776
Код
import socket
def get_ip():
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    try:
        # doesn't even have to be reachable
        s.connect(('10.255.255.255', 1))
        IP = s.getsockname()[0]
    except Exception:
        IP = '127.0.0.1'
    finally:
        s.close()
    return IP

Причем, здесь идет обращение к сети 10.х.х.х.х - к ее границе, при этом в коде я получаю свой серый ip с NAT-a - в диапазоне 192.168.х.х . Как это работает?
  • Вопрос задан
  • 90 просмотров
Решения вопроса 1
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Я так понял, не важно, какой там адрес - вся магия в getsockname, а адрес там может быть любой вменяемый вне компа. Хоть 8.8.8.8 - просто, чтобы сокет стукнулся вовне компа.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы