| Usuario |
DLL que averigue PLACA DE RED |
Desconocido
|
| Enviado - 23/9/2002 |
| |
Hola a todos !!
necesito su ayuda
Se puede hacer una DLL en Visual Basic, para que sea utilizada por una aplicación ASP ?
Se trata de lo siguiente:
Hay una LAN sobre Linux y también hay una PC con Windows 2000 profesional que tiene IIS 5.0 y que aloja una aplicación ASP para que sea accedida desde el resto de la LAN (que tiene Linux y funciona con DHCP).
El tema de averiguar la Placa de Red es para asegurar de que cada Usuario solo pueda acceder desde una PC en particular.
Desde ya les agradezco por su atención
Diego
[email protected]
|
| |
|
fmarredo
356 Mensaje(s)
|
| Enviado - 23/9/2002 |
| |
| Con respecto a la pregunta te comento que no hay problema en desarrollar una DLL en VB e instanciar alguna de las clases que contenga desde ASP, usando Set MiObjeto = Server.CreateObject("Libreria.Clase"). |
| |
|
Desconocido
|
| Enviado - 24/9/2002 |
| |
Hola fmarredo, muchas gracias por tu respuesta.
Con respecto DLL, vos me podés dar una mano por favor ?
Necesitaría saber que código es el que averigua el numero de la placa de red. Resulta que me dijo uno de los administradores de la Red - en la que debe funcionar la aplicacion ASP intranet - que manejaran DHCP y que las IP no van a ser siempre las mismas, osea que no se debe tomar la IP como referencia de una PC en particular. Entonces hay algun codigo que averigue, cada vez que se conecta un cliente a la aplicacion, el numero de placa de red sin saber previamente la IP ?
Diego |
| |
|
Desconocido
|
| Enviado - 24/9/2002 |
| |
Hola fmarredo, muchas gracias por tu respuesta.
Con respecto DLL, vos me podés dar una mano por favor ?
Necesitaría saber que código es el que averigua el numero de la placa de red. Resulta que me dijo uno de los administradores de la Red - en la que debe funcionar la aplicacion ASP intranet - que manejaran DHCP y que las IP no van a ser siempre las mismas, osea que no se debe tomar la IP como referencia de una PC en particular. Entonces hay algun codigo que averigue, cada vez que se conecta un cliente a la aplicacion, el numero de placa de red sin saber previamente la IP ?
Diego |
| |
|
fmarredo
356 Mensaje(s)
|
| Enviado - 24/9/2002 |
| |
| me parece que para identificar a un cliente podrías utilizar cookies, es mucho más sencillo que tratar de averiguar el nro de placa de red de una máquina remota. |
| |
|
Desconocido
|
| Enviado - 25/9/2002 |
| |
fmarredo, me podes dar una mano con lo de la Placa de Red? es muy util
pasa que con cookies no se si es tan seguro,
pero si me explicas como hacerlo con cookies te lo agradezco
Diego |
| |
|
fmarredo
356 Mensaje(s)
|
| Enviado - 28/9/2002 |
| |
Acá te paso código que encontré para averiguar la dir de la tarjeta de red, espero que te sirva.
Author: The VB2TheMax Team
Const NCBNAMSZ = 16
Private Type NCB
ncb_command As Byte
ncb_retcode As Byte
ncb_lsn As Byte
ncb_num As Byte
ncb_buffer As Long
ncb_length As Integer
ncb_callname As String * NCBNAMSZ
ncb_name As String * NCBNAMSZ
ncb_rto As Byte
ncb_sto As Byte
ncb_post As Long
ncb_lana_num As Byte
ncb_cmd_cplt As Byte
ncb_reserve(9) As Byte
ncb_event As Long
End Type
Private Type ADAPTER_STATUS
adapter_address(5) As Byte
rev_major As Byte
reserved0 As Byte
adapter_type As Byte
rev_minor As Byte
duration As Integer
frmr_recv As Integer
frmr_xmit As Integer
iframe_recv_err As Integer
xmit_aborts As Integer
xmit_success As Long
recv_success As Long
iframe_xmit_err As Integer
recv_buff_unavail As Integer
t1_timeouts As Integer
ti_timeouts As Integer
Reserved1 As Long
free_ncbs As Integer
max_cfg_ncbs As Integer
max_ncbs As Integer
xmit_buf_unavail As Integer
max_dgram_size As Integer
pending_sess As Integer
max_cfg_sess As Integer
max_sess As Integer
max_sess_pkt_size As Integer
name_count As Integer
End Type
Private Type NAME_BUFFER
name As String * NCBNAMSZ
name_num As Integer
name_flags As Integer
End Type
Private Type ASTAT
adapt As ADAPTER_STATUS
NameBuff(10) As NAME_BUFFER
End Type
Private Declare Function Netbios Lib "netapi32.dll" (pncb As NCB) As Byte
' Read the Ethernet address of a LAN card.
' This number can be considered to uniquely identify a network adapter
Private Function LanCardAddress(ByVal cardNum As Long) As String
Dim ncbInfo As NCB
Dim astatInfo As ASTAT
Dim i As Integer
Const NCBASTAT = &H33
Const NCBRESET = &H32
'Reset the card
ncbInfo.ncb_command = NCBRESET
Netbios ncbInfo
' Get info from the card
ncbInfo.ncb_command = NCBASTAT
ncbInfo.ncb_lana_num = cardNum
ncbInfo.ncb_callname = "* "
ncbInfo.ncb_length = Len(astatInfo)
' prepare the address where the result is to be delivered
ncbInfo.ncb_buffer = VarPtr(astatInfo)
Netbios ncbInfo
' read the result
For i = 0 To 5
LanCardAddress = LanCardAddress & Right$("00" & Hex$ _
(astatInfo.adapt.adapter_address(i)), 2)
Next
End Function
|
| |
|
Desconocido
|
| Enviado - 2/10/2002 |
| |
Muchas Gracias Fmarredo !!!
voy a probar el codigo y despues te cuento
Diego |
| |
|