NAT не обязательно стоит у провайдера, он может быть у тебя дома на роутере и т.п. И оператор динамически вполне может раздавать белые адреса на твой роутер, а роутер уже будет раздавать серые адреса внутрь домашней сети.
В локальных сетях обычно используются серые адреса, а значит где-то должен быть NAT и выпускать в интернет уже с белым адресом. Этот белый адрес NATа и видит сайт.
Но бывает и так, что в локальной сети используются белые адреса. Видел пару таких случаев, когда контора в 90ых арендовала подсеть у провайдера и использует ее на компах в локальной сети по сей день. В этом случае NATа может и не быть, тогда пользователь ходит в интернет с тем адресом, который установлен у него на компе.
То же самое может быть, если вы, например, купите у прова белый статический адрес и подключите кабель оператора в свой комп.
Узнать другие адреса "по умолчанию" сервер не может, т.к. браузер не предоставляет такой возможности. Но с помощью плагинов и т.п., думаю, можно что-то придумать, но тут уже без помощи пользователя не обойтись (ведь плагин надо сначала установить).
Можно узнать, например, версию браузера, какая ОС используется и много чего еще. В интернете полно ресурсов, которые показывают, что получилось достать из вашего браузера.
Кстати, если используется IPv6, то высока вероятность, что прямо на компе используется белый адрес. Тут адресного пространства хватает, чтоб выдать белый адрес каждой блохе. Так что NAT не нужен.