IP в Интернете сложно и долго, но можно попытаться построить модель которая предсказывает наличие открытых портов на основе зависимостей по исходным данным. Обучение займёт какое-то время, зато само сканирование будет идти очень быстро, по сравнению с прямым перебором всех возможных портов на адресе. Ссылки на исходные коды и полную статью есть в тексте. Для работы нужен доступ к Google BigQuery.