I found a solution following this tutorial to start an Angular Application from ASP MVC: https://dotnetthoughts.net/how-to-use-angular4-wth-aspnet-mvc/
Now, running Angular from an ASP MVC, when user make the first request to IIS, ASP get the request and then I'm able to get client MAC Address (https://www.codeproject.com/Questions/709517/answer.aspx):
[DllImport( "Iphlpapi.dll" )]
private static extern int SendARP( Int32 dest, Int32 host, ref Int64 mac, ref Int32 length );
[DllImport( "Ws2_32.dll" )]
private static extern Int32 inet_addr( string ip );
private string GetMACAddress() {
    try {
        string userip = Request.UserHostAddress;
        string strClientIP = Request.UserHostAddress.ToString().Trim();
        Int32 ldest = inet_addr( strClientIP );
        Int32 lhost = inet_addr( "" );
        Int64 macinfo = new Int64();
        Int32 len = 6;
        int res = SendARP( ldest, 0, ref macinfo, ref len );
        string mac_src = macinfo.ToString( "X" );
        while ( mac_src.Length < 12 ) {
            mac_src = mac_src.Insert( 0, "0" );
        }
        string mac_dest = "";
        for ( int i = 0; i < 11; i++ ) {
            if ( 0 == ( i % 2 ) ) {
                if ( i == 10 ) {
                    mac_dest = mac_dest.Insert( 0, mac_src.Substring( i, 2 ) );
                } else {
                    mac_dest = "-" + mac_dest.Insert( 0, mac_src.Substring( i, 2 ) );
                }
            }
        }
        return mac_dest;
    } catch ( Exception err ) {
        return $"ERRO: {err.Message}";
    }
}
public ActionResult Index() {
    ViewBag.MAC = this.GetMACAddress();
    return View();
}