none
pegar número MAC da placa de rede ou do computador

    Question

  • Caros colegas,

    Fiz um sistema em ASP.NET onde preciso limitar o acesso apenas para algumas máquinas.
    Alguém conhece alguma funcionalidade no ASP .NET (c#) que possa obter esse número MAC ?

    Desde já agradeço a todos,

    Monday, October 05, 2009 7:31 PM

Answers

  • Validar isso pelo MAC não sei se é a melhor maneira...
    1º Se é via web voce ta restringindo a utilização da aplicação só para aquelas máquinas.. imagina que precisam de aceder a aplicação de outra máquina? não vai funcionar..
    2º voce tem que pegar mesmo o mac da máquina.. ou seja se tiver wireless e rede por cabo tem que dar acesso aos 2...

    Parece um pouco confuso..
    Talvez comfigurar isso na arquitectura de rede? ou simplesmente utilizar autenticação :D

    Abraços
    http://marcoscavaleiro.blogspot.com
    Monday, October 12, 2009 12:49 PM

All replies

  • Amigo não sei se funciona, mas aqui alguns dizem que sim outros que não

    http://www.devasp.net/net/articles/display/153.html

    Abs!
    Monday, October 05, 2009 8:27 PM
  • Boa noite Sérgio.

    Caso os clientes do aplicativo utilizem o Internet Explorer, você pode utilizar javascript para recuperar o Mac Address. Segue abaixo o código:

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Getting MAC Address From Javascript(IE Only)</title>
     
    <script language="javascript">
    function showMacAddress(){
     
    	var obj = new ActiveXObject("WbemScripting.SWbemLocator");
    	var s = obj.ConnectServer(".");
    	var properties = s.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration");
    	var e = new Enumerator (properties);
    
     
    	var output;
    	output='<table border="0" cellPadding="5px" cellSpacing="1px" bgColor="#CCCCCC">';
    	output=output + '<tr bgColor="#EAEAEA"><td>Caption</td><td>MACAddress</td></tr>';
    	while(!e.atEnd())
    
    	{
    		e.moveNext();
    		var p = e.item ();
    		if(!p) continue;
    		output=output + '<tr bgColor="#FFFFFF">';
    		output=output + '<td>' + p.Caption; + '</td>';
    		output=output + '<td>' + p.MACAddress + '</td>';
    		output=output + '</tr>';
    	}
    
    	output=output + '</table>';
    	document.getElementById("box").innerHTML=output;
    }
    </script>
     
    </head>
    <body>
    	<input type="button" value="Show MAC Address" onclick="showMacAddress()" />
    
    	<div id="box">
    	</div>
    </body>
    </html>


    Eu retirei o código do seguinte link: http://www.qualitycodes.com/tutorial.php?articleid=19 e efetuei um teste no Internet Explorer 7 .

    Abraço.
    Monday, October 05, 2009 10:22 PM
  • Caro Leandro,

    Em primeiro lugar, obrigado pela ajuda.

    Fiz um teste com o fonte que vc enviou, ocorre um erro ao executar ao instanciar o objeto:

    var
    obj = new ActiveXObject("WbemScripting.SWbemLocator");

     

    "Microsoft JScript runtime error: Automation server can't create object"




    <%

    "Microsoft JScript runtime error: Automation server can't create object"




    <%

    @ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

    <!

     

    DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <

     

    html xmlns="http://www.w3.org/1999/xhtml">

    <

     

    head runat="server">

     

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

     

    <title>MAC ADDRESS</title>

     

    <script type="text/javascript" language="javascript">

     

    function showMacAddress(){

     

     

    var obj = new ActiveXObject("WbemScripting.SWbemLocator");

     

    var s = obj.ConnectServer(".");

     

    var properties = s.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration");

     

    var e = new Enumerator (properties);

     

     

    var output;

    output=

    '<table border="0" cellPadding="5px" cellSpacing="1px" bgColor="#CCCCCC">';

    output=output +

    '<tr bgColor="#EAEAEA"><td>Caption</td><td>MACAddress</td></tr>';

     

    while(!e.atEnd())

    {

    e.moveNext();

     

    var p = e.item ();

     

    if(!p) continue;

    output=output +

    '<tr bgColor="#FFFFFF">';

    output=output +

    '<td>' + p.Caption; + '</td>';

    output=output +

    '<td>' + p.MACAddress + '</td>';

    output=output +

    '</tr>';

    }

    output=output +

    '</table>';

    document.getElementById(

    "box").innerHTML=output;

    }

    </

     

    script>

    </

     

    head>

    <

     

    body>

     

    <form id="form1" runat="server">

     

    <div>

     

    <input type="button" value="Show MAC Address" onclick="showMacAddress()" />

     

    </div>

     

    </form>

    </

     

    body>

    </

     

    html>

    Monday, October 05, 2009 11:39 PM
  • Boa noite Sérgio.

    Bom, para executar esse script você precisa mudar os níveis de segurança do Internet Explorer.

    Você pode fazer isso em: Tools -> Internet Options -> Security -> Custom Level.

    Segue os print screens que são referenciados no link que eu informei no post anterior:

    http://www.qualitycodes.com/samples/javascript/mac-address/internet-options.gif
    http://www.qualitycodes.com/samples/javascript/mac-address/security-settings.gif

    As imagens indicam o que deve ser configurado para que seja possível a criação do objeto.

    Efetue as modificações conforme a indicação dessas figuras e tente executar novamente.

    Abraço.
    Tuesday, October 06, 2009 2:14 AM
  • Validar isso pelo MAC não sei se é a melhor maneira...
    1º Se é via web voce ta restringindo a utilização da aplicação só para aquelas máquinas.. imagina que precisam de aceder a aplicação de outra máquina? não vai funcionar..
    2º voce tem que pegar mesmo o mac da máquina.. ou seja se tiver wireless e rede por cabo tem que dar acesso aos 2...

    Parece um pouco confuso..
    Talvez comfigurar isso na arquitectura de rede? ou simplesmente utilizar autenticação :D

    Abraços
    http://marcoscavaleiro.blogspot.com
    Monday, October 12, 2009 12:49 PM
  • e como faço isso funcionar em outros browsers?
    Tuesday, October 26, 2010 5:25 PM