Возможно, вы не сможете использовать эту библиотеку для работы с DHCP.Библиотека предполагает, что вы не захотите использовать 0.0.0.0 в качестве адреса отправителя, даже если DHCP указывает, что вам не следует указывать там IP-адрес.Просто сканирование RFC, кажется, указывает на то, что вы «не должны заполнять поле отправителя».Возможно ли, что это будет просто проигнорировано?Может случиться так, что, поскольку все DHCP транслируются, это не имеет значения, и вы можете просто заполнить что угодно.Вы пытались прослушивать запросы DHCP на Wireshark или другом анализаторе пакетов, чтобы определить, действительно ли он 0.0.0.0?
Возможно, вам придется строить дейтаграммы на более низком уровне.
Я недумаю, что будет иметь значение, как будет установлен ваш собственный IP-адрес, если вы используете DatagramSocket, потому что библиотека изменит его, если вы попытаетесь назначить 0.0.0.0.
Редактировать: я сканировал части dhclientsource, и он огромен, и я не понимаю его, но похоже, что они используют сценарии оболочки для настройки интерфейсов с использованием ifconfig.Так что это может ответить на эту часть вопроса.Так что вы можете просто использовать свой ifconfig, чтобы изменить свой IP-адрес, как вы сейчас.