Conocer Ip conexion usuario validado

14/12/2004 - 15:46 por Mario Barro | Informe spam
Hola a todos;

Es posible conocer la IP de uno o varios usuarios (autenticación SQL)
conectados a un servidor SQL Server.

Veo qué usuarios están conectados desde el administrador de corporativo, el
nombre del host, e incluso su dirección MAC, pero necesito saber su
Dirección IP.

Igual lo tengo delante de las narices, pero no lo veo.

Saludos

Preguntas similare

Leer las respuestas

#1 Carlos Sacristán
14/12/2004 - 16:19 | Informe spam
Que yo sepa no es posible, a lo más lo que comentas de su dirección MAC.
Ten en cuenta que no todo el mundo se va a conectar por medio de TCP/IP...


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Mario Barro" escribió en el mensaje
news:
Hola a todos;

Es posible conocer la IP de uno o varios usuarios (autenticación SQL)
conectados a un servidor SQL Server.

Veo qué usuarios están conectados desde el administrador de corporativo,


el
nombre del host, e incluso su dirección MAC, pero necesito saber su
Dirección IP.

Igual lo tengo delante de las narices, pero no lo veo.

Saludos


Respuesta Responder a este mensaje
#2 Carlos Sacristán
14/12/2004 - 16:27 | Informe spam
Bueno, hablé antes de tiempo... rebuscando por ahí encontré un código
escrito por Jasper Smith que te la devuelve, aunque (como casi todo) con
algunos costes:

******************************************
-

-

CREATE PROC dbo.sp_get_hostip (@spid INT = NULL) AS
SET NOCOUNT ON

DECLARE @host VARCHAR(100)
DECLARE @ip VARCHAR(15)
DECLARE @cmd VARCHAR(200)
DECLARE @temp VARCHAR(255)
DECLARE TABLE #ip(iptext VARCHAR(255))

IF @spid IS NULL SELECT @host = host_name()
ELSE
SELECT @host = MAX(hostname) FROM master..sysprocesses WHERE spid @spid

IF @host IS NOT NULL
BEGIN
SET @cmd = 'ping -n 1 ' + @host
INSERT#ip EXEC master..xp_cmdshell @cmd
SELECT @ip = ISNULL(SUBSTRING(iptext,(CHARINDEX('[',iptext)+1),
(charindex(']',iptext)-(charindex('[',iptext)+1))),'')
FROM #ip
WHERE charindex('[',iptext)>0
END

DROP TABLE #ip
SELECT NULLIF(rtrim(@host),'') AS 'Hostname', RTRIM(@ip) AS 'IP_Address'

RETURN
******************************************


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:
Que yo sepa no es posible, a lo más lo que comentas de su dirección


MAC.
Ten en cuenta que no todo el mundo se va a conectar por medio de TCP/IP...


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Mario Barro" escribió en el mensaje
news:
> Hola a todos;
>
> Es posible conocer la IP de uno o varios usuarios (autenticación SQL)
> conectados a un servidor SQL Server.
>
> Veo qué usuarios están conectados desde el administrador de corporativo,
el
> nombre del host, e incluso su dirección MAC, pero necesito saber su
> Dirección IP.
>
> Igual lo tengo delante de las narices, pero no lo veo.
>
> Saludos
>
>


Respuesta Responder a este mensaje
#3 Eladio Rincón
14/12/2004 - 17:03 | Informe spam
Creo recordar que Miguel Egea propuso hace algún tiempo un mecanismo, pero
no recuerdo donde buscarlo :-(

Eladio Rincón
SQL Server MVP

Solid Quality Learning (http://www.solidqualitylearning.com)
"Comparte lo que sabes, aprende lo que no sepas", FGG

Consulte el histórico del grupo en Google
http://groups.google.com/groups?gro....sqlserver

¿Te interesa participar en las reuniones
del grupo de Usuarios de SQL-Server y .NET
Se harán en levante de España, (Alicante o Murcia)?

"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> wrote in message
news:
Bueno, hablé antes de tiempo... rebuscando por ahí encontré un código
escrito por Jasper Smith que te la devuelve, aunque (como casi todo) con
algunos costes:

******************************************


CREATE PROC dbo.sp_get_hostip (@spid INT = NULL) AS
SET NOCOUNT ON

DECLARE @host VARCHAR(100)
DECLARE @ip VARCHAR(15)
DECLARE @cmd VARCHAR(200)
DECLARE @temp VARCHAR(255)
DECLARE TABLE #ip(iptext VARCHAR(255))

IF @spid IS NULL SELECT @host = host_name()
ELSE
SELECT @host = MAX(hostname) FROM master..sysprocesses WHERE spid > @spid

IF @host IS NOT NULL
BEGIN
SET @cmd = 'ping -n 1 ' + @host
INSERT#ip EXEC master..xp_cmdshell @cmd
SELECT @ip = ISNULL(SUBSTRING(iptext,(CHARINDEX('[',iptext)+1),
(charindex(']',iptext)-(charindex('[',iptext)+1))),'')
FROM #ip
WHERE charindex('[',iptext)>0
END

DROP TABLE #ip
SELECT NULLIF(rtrim(@host),'') AS 'Hostname', RTRIM(@ip) AS 'IP_Address'

RETURN
******************************************


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:
> Que yo sepa no es posible, a lo más lo que comentas de su dirección
MAC.
> Ten en cuenta que no todo el mundo se va a conectar por medio de


TCP/IP...
>
>
> Un saludo
>
> -
> "Sólo sé que no sé nada. " (Sócrates)
>
> "Mario Barro" escribió en el mensaje
> news:
> > Hola a todos;
> >
> > Es posible conocer la IP de uno o varios usuarios (autenticación SQL)
> > conectados a un servidor SQL Server.
> >
> > Veo qué usuarios están conectados desde el administrador de


corporativo,
> el
> > nombre del host, e incluso su dirección MAC, pero necesito saber su
> > Dirección IP.
> >
> > Igual lo tengo delante de las narices, pero no lo veo.
> >
> > Saludos
> >
> >
>
>


Respuesta Responder a este mensaje
#4 Mario Barro
14/12/2004 - 18:20 | Informe spam
Gracias a los dos.

Probaré el código.


Saludos

"Mario Barro" escribió en el mensaje
news:
Hola a todos;

Es posible conocer la IP de uno o varios usuarios (autenticación SQL)
conectados a un servidor SQL Server.

Veo qué usuarios están conectados desde el administrador de corporativo,


el
nombre del host, e incluso su dirección MAC, pero necesito saber su
Dirección IP.

Igual lo tengo delante de las narices, pero no lo veo.

Saludos


Respuesta Responder a este mensaje
#5 Mario Barro
14/12/2004 - 18:26 | Informe spam
Ui, Ui ...

Yo también respondí rápido, no miré el código.

Veo que utiliza un ping al host.

Quizás me he dejado un pequeño matiz vital, esta conexión proviene desde una
Extranet con un router haciendo NAT, además de firewall por medio.

Esto quiere decir que no responderá a un ping ni por asomo (todo tráfico
ICMP capado).

El caso es que con saber la IP WAN del route me valdría, que es con la que
realmente se conecta.

Haciendo una "netstat -n" dicha IP sale, pero el problema es que como hay
varias necesitaría poder distingirlas.

Espero haberme explicado mejor.

Alguna idea ??

Saludos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida