只能获取和你在一个路由器、集线器下的机器的mac地址
因为本机的mac对应表不会保存非同一个路由器、集线器下的IP的mac地址
单纯从协议上是搞不出来的
除非用其他手段
用WMI:
using System.Management;
Code
WINPCAP包有c#的移植版本吧。这个包主要是用于网络分析的。TCP包头里就有源和目标的MAC及端口。不过要对网络协议有了解
ASP.NET获取客户端的mac本身就是违反安全特性的; 如果是要使用唯一标识标记客户端可以通过别的方法。