hyd_guy, MAC addresses are not transmitted in a normal TCP/IP transaction, that's simply the way it is. Unless you can some how intercept some packets that are sent to the router/switch/modem/ISP, there is no MAC address present in any packets that you receive. At least in TCP/IP. I'm sure there is some screwed up protocol that uses MAC addresses as a personal identifier in Layer 3 communications, but none that I know of.
Kudose, that program is actually fairly easy to make. But, it only works across LANs, not WANs. I could, of course, be horribly mistaken, but I'm fairly sure that there is no server side ability to detect MAC addresses.
To prove this, here is a captured packet from Yahoo. (I've eliminated some unimportant data simply to not make it egregiously long.) This is from Ethereal:
Frame 3 (62 Bytes on wire, 62 bytes captures)
Frame Number: 3
Packet Length: 62 bytes
Ethernet II, Src Foxconn_a0:3f:63 (00:01:6c:a0:3f:63), Dst: Cisco-Li_ac:b7:39 (00:0f:66:ac:b7:39)
Source: Foxconn_a0:3f:63 (00:01:6c:a0:3f:63)
Internet Protocol, Src: 10.0.0.107 (10.0.0.107)
Version: 4
I'll skip the rest, but it's abunduntly obvious that the MAC address is not sent over TCP/IP. Sorry.
And, one last thing, even if you could restrict by MAC address, you'd block all users behind one given router/switch, as the MAC address represented would be that of the router/switch, not of the unique computer.
By the way, don't presume to know I'm incorrect. You're working off of assumptions, I'm working off of knowledge.