General IP packets don't have it in the IP header or below, but you can make a special request like using NetBios in Win that will return MAC addr in the 'Unit ID' field.
And what are you trying to do? When you use the raw socket, if there's a router in front of the remote PC, what you get in the Ethernet header is the MAC of the router. You can see that if you do a tcp dump on your machine and use nbtstat command to get the MAC of the remote PC: the MAC in the header will not be the same as the MAC in UnitID if it's sitting behind a router. Furthermore, it's easy to fake MAC address, if you want it for security reasons, you should really be using SSL/TLS or something of that sort.