Как подделать адрес отправителя в UDP пакете?
setLocalAddress можно установить только адреса, присутствующие на локальных интерфейсах. Произвольный адрес установить нельзя. Т.о. можно либо добавить нужный адрес локальному интерфейсу (например с помощью ifconfig add), либо открыть "сырой" сокет и формировать заголовки IP и UDP самостоятельно.
Скорее всего никак, потому что используя такие либы Вы находитесь слишком высоко от драйверов.
Посмотрите pcap библиотеку(но она работает не со всеми сетевыми картама) и делайте что требуется.
Послать пакет, в котором в заголовке будет неродной адрес никто не запрещает(разве что оборудование через которое вы плюете пакеты в общественную сеть).