Посмотрите на таблицу маршрутизации? Обычно, если вы не маршрутизируете между сетями в Windows (что возможно, но необычно для клиентского компьютера в наши дни), интерфейс, который содержит маршрут по умолчанию, будет иметь подключение к Интернету.
В вашем вопросе не было подробностей, почему или с чем вы это делаете, поэтому я не могу предоставить какие-либо подробности. Инструмент командной строки «route» может быть полезен, но, вероятно, есть библиотеки для любого языка программирования, который вы используете для просмотра таблицы маршрутизации.
Нельзя полагаться на IP-адрес интерфейса (например, предполагая, что адрес RFC-1918 [192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8] не является Интернетом), поскольку большинство сайтов имеют своего рода настройку брандмауэра или прокси-сервера NAT, а интерфейс «Интернет» действительно находится в «частной» сети, которая выводит вас в Интернет.
ОБНОВЛЕНИЕ: Судя по вашей дальнейшей информации, похоже, у вас есть достойное решение. Я не уверен в выборе 0.0.0.0, так как это граничный случай для IP-адреса - может быть в порядке на вашей конкретной смеси платформы / языка. Звучит (из описания API), что вы можете просто указать адрес, так почему бы не узнать какой-либо адрес в Интернете, например IP-адрес вашего веб-сайта или что-то более случайное, например, 65.66.67.68? Просто убедитесь, что вы не выбрали один из адресов rfc-1918, или диапазон локального хоста (127.0.0.0/8), или многоадресную рассылку, любой другой зарезервированный диапазон и любой адрес, который разрешается в .mil или .gov (пока он не не похоже, что getbestinterface отправляет какой-либо трафик, это было бы отстойно, если бы федералы сломали вашу дверь ...:)