Il MAC Address lo dovresti richiedere direttamente al server DHCP visto che è l'unico che tiene un tabella degli ip assegnati, ma anche volendo non puoi perchè non esistono server che ti permettono questo.
L'unica cosa che puoi fare è un messaggio broadast UDP su una porta. In questo modo invii un pacchetto a tutti gli hosts su una rete, e l'host che sta su quella porta intercetta il pacchetto e ti fai rispedire una risposta indietro. Se la ricevi, ti tieni l'ip del sender ed hai trovato il tuo host.
UDP Socket