Я хотел получить свой частный IP-адрес с помощью Python, поэтому я нашел фрагмент кода, который это делает.... так как же Google DNS может найти мой частный IP-адрес?
Этот фрагмент кода не делает того, чего вы ожидаете.Все, что он сообщает, это локальный IP-адрес от UDP-сокета, «соединяющегося» с 8.8.8.8.Эта информация поступает не от Google, а от вашей локальной операционной системы, которая, конечно, знает, какой у нее локальный IP-адрес.Фактически, вы можете подключиться к любому другому внешнему IP-адресу и получить ту же информацию обратно.
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(("8.8.8.8", 80))
Кроме того, код тоже неверный.Он не подключается к DNS-серверу - DNS-сервером будет порт 53, а не 80, как вы используете здесь.