You Cannot catch the mac address from a socket.your need an ethernet frame, which can be found at the lowest layer of tcp processing chain.to do that you need to monitor(capture) your network traffic, find some packets by parsing the packet's header. and extract the required information such as mac address from it.
this is useful code span , that can help you to do that.