Вопрос в том, каким образом выявить признак "серости" адреса
Да элементарно - если ваши сервисы доступны, значит белый, иначе серый.
если такой адрес может начинаться с 77.ххх.ххх.ххх (так же, как и белый).
Не может. Не конечно теоретически можно засунуть белый адрес за NAT, но никто в здравом уме так делать не будет.
Поэтому определяется элементарно.
Серые адреса начинаются на -
10
100
127
169
172
192
Все остальные - белые.
Скорее всего вы не там смотрите адрес.
Единственное место где можно смотреть адрес - интерфейс устройства которое получило адрес.
А то некоторые люди умудряются смотреть свой адрес на ресурсах вроде 2ip.ru... Не уподобляйтесь таким людям.