How to retrieve a device name from IP or MAC on LAN

In Visual Studio 2015, VB, in Windows 10, I have a small program where I use the arp -a command
to pick up the mac and I/P addresses of connected devices on my lan. From everything I've read (and tried), the answer
somehow comes back to DNS.getHostEntry which throws a No Such Host when fed a cell's I/P and
I understand that, a cell phone is not a host. Does anyone know of the appropriate DNS or other type
command that, fed an I/P or MAC will return the device's name?

Thank you.