Allora andbin,
hai capito bene devo vedere se ogni ottetto è maggiore o minore di un'altro per quanto riguarda ipv4, per l'ipv6 non ho idea di come fare.

Che intendi per b & 0xff?

per leleFT

quando fai il ciclo for inserisci ogni byte in un array di interi... i puntini che separano gli ottetti come vengono cosiderati da java quando trasforma un inet address in un array di byte?