You can only discover a MAC if there aren't any routers between you and him. The only MAC you can see is the first hop to him, so let's say he's 24.1.2.3. To send a packet to him, your system will query its ARP table and see that xx-xx-xx-xx-xx-xx is where packets destined to 24.0.0.0 go. Your system will will send the packet to the first hop at MAC xx-xx-xx-xx-xx-xx and that device will repeat the same procedure in resolving who is the next hop and decrease the TTL by one. This continues until the TTL expires or the packet reaches its destination. Unless you can somehow get your destination purposefully host to send you it's own MAC, I don't think you'll be able to resolve it over the net. Remember though that for a local network where everyone is on the same subnet, you can resolve MAC addresses. Drop to a cmd window and type arp -a