6 votos

Cómo utilizar la pantalla compartida si no conozco la dirección IP del Mac remoto

Tengo las credenciales del Mac, pero no hay nadie en la sala con la máquina para comprobar la dirección IP pública.

enter image description here

Si conozco la IP pública, puedo conectarme al mac. Por desgracia, el ISP sólo proporciona IPs dinámicas, así que supongo que cambió recientemente.

¿Hay alguna otra forma de acceder?

2 votos

Aunque no es realmente una solución técnica, si ese Mac ha iniciado sesión en cualquier correo (Gmail, por supuesto, que yo sepa), cualquier solución de sincronización, etc., esos servicios pueden proporcionar un registro que tenga la IP más reciente de su Mac.

0 votos

¿Está la máquina conectada a los servicios de iCloud/Apple? ahora mismo ? ¿Es su cuenta?

0 votos

@Harper pues yo lo veo en verde en la lista de dispositivos de mi cuenta de apple. Pero no he podido encontrar ninguna información ip.

3voto

Joel Puntos 112

¡Ah! Sí... tus opciones en este punto son limitadas. El ISP puede ayudarte ya que es su DHCP el que asignó la dirección; ellos serían los únicos que lo sabrían.

Esto me ha pasado, y como mi ISP es comcast, no hay ayuda.

En el futuro :), lo que necesitas es un "DNS dinámico"; disponible gratuitamente en varias fuentes. Yo uso FreeDNS . Es un poco raro, pero parece que funciona de forma fiable.

La otra alternativa (a los DNS dinámicos) es una aproximación "a tu medida" que requeriría algo de scriptde tu parte. Si estás dispuesto a hacerlo, házmelo saber y seguiremos a partir de ahí.

0 votos

Gracias. Supongo que FreeDNS debe ser el camino a seguir en el futuro. Acerca de rodar mi propia, ¿te refieres a la publicación de la ip en un intervalo, o algo un poco más elaborado?

0 votos

@Birowsky: Podría ser más elaborado - dependiendo de lo lejos que quieras llevarlo. Dado que es un Mac, podrías hacer que ejecutara un script periódicamente para comprobar su dirección IP pública, compararla con el valor anterior, y utilizar la aplicación de Mensajes para enviarte un mensaje si/cuando ha cambiado. Pero, por supuesto, necesitarás acceso a tu Mac para instalar ese script. IMO, FreeDNS es más fácil, pero el script es más, uh - educativo? :)

2voto

wch1zpink Puntos 11

En el ordenador remoto, guarde este código AppleScript siguiente en un nuevo documento script Editor.App (script Editor.App se encuentra aquí... /Applications/Utilities/script Editor.app) como una aplicación "Stay Open". Antes de guardar este documento como aplicación, asegúrese de introducir su dirección IP externa actual y la dirección de correo electrónico en las dos primeras líneas del código.

Para resumir lo que hace el código AppleScript es simplemente... Cada 15 minutos comprueba tu dirección IP externa actual con la dirección IP que has establecido en la primera línea del código. Si esas dos direcciones IP no son las mismas, el script se adelantará y enviará un nuevo correo electrónico (a la dirección de correo electrónico que estableció en la segunda línea del código) con la nueva dirección IP externa actualizada.

Entonces, al igual que al abrir cualquier otra aplicación en el Finder, al hacer doble clic en la aplicación recién creada se ejecutará la nueva aplicación.

property ipAddress : "123.456.7.89" -- Insert Current External IP Address (Set Only Once)

property toRecipient : "whoever@gmail.com" --Email To Get IP Has Changed Messages

on idle
    set theIP to do shell script "curl ifconfig.co"

    if theIP is not equal to ipAddress then
        tell application "Mail"
            set newEmail to (make new outgoing message)
            set content of newEmail to theIP
            set subject of newEmail to "IP Address Has Changed"
            tell newEmail
                make new to recipient with properties {address:toRecipient}
                send
            end tell
        end tell
        set ipAddress to theIP
    end if

    return (15 * minutes) -- Waits 15 min. to check IP again
end idle

No olvides añadir esta nueva aplicación AppleScript, en las Preferencias del Sistema, a la lista de aplicaciones que pueden controlar tu ordenador.


ACTUALIZACIÓN

Aunque el anterior script parece funcionar, después de varias ejecuciones y pequeños cambios en el código para probarlo, he decidido crear una solución alternativa. Debido a la nueva configuración de seguridad en MacOS Mojave y a la incapacidad de AppleScript para actualizar y mantener de forma fiable sus valores de propiedades globales y persistentes en todas las ejecuciones, creo que esta solución alternativa es mucho más fiable.

Paso 1: En el ordenador remoto, en script Editor.app, guarde este código AppleScript como un archivo .scpt y nómbrelo "Get Current External IP.scpt"

Asegúrese de cambiar el valor de property toRecipient a su dirección de correo electrónico

property ipAddress : "1.1.1.1" -- Not Necessary To Set
property toRecipient : "YourEmail@gmail.com" --Email To Get IP Has Changed Messages

set emailIsRunning to application "Mail" is running -- Checks If Mail Is Running

try
    set lastLoggedIP to readFile()
    set theIP to do shell script "curl ifconfig.co"
    if theIP is not equal to lastLoggedIP then
        sendNewEmail()
        writeToTheFile()
    end if
on error errMsg number errNum
    if errNum is -43 then -- The Error If File For readFile() Doesn't Exist Yet
        set theIP to do shell script "curl ifconfig.co"
        if theIP is not equal to ipAddress then
            sendNewEmail()
            writeToTheFile() -- Creates The "/private/tmp/IP Logger.txt" File
        end if
    else
        activate
        display dialog "An error has occurred:" & return & errMsg & " " & errNum giving up after 10
    end if
end try

delay 20 -- Allows For Completion Of Any Incoming Or Outgoing Mail Messages
if not emailIsRunning then quit application "Mail" -- Quits Mail If Wasn't Already Running

to sendNewEmail() -- Sends New Email Whenever IP Changes
    set theIP to do shell script "curl ifconfig.co"
    tell application "Mail"
        set newEmail to (make new outgoing message)
        set content of newEmail to theIP
        set subject of newEmail to "IP Address Has Changed"
        tell newEmail
            make new to recipient with properties {address:toRecipient}
            send
        end tell
    end tell
    set ipAddress to theIP
end sendNewEmail

on readFile() -- Reads IP Logger.txt To Check For IP Changes 
    set theFile1 to alias "private:tmp:IP Logger.txt"
    set lastLoggedIP to last item of (read theFile1 as text using delimiter linefeed)
end readFile

on writeToTheFile() -- Logs Every IP Change To File
    set theIP to do shell script "curl ifconfig.co"
    set theFile to "/private/tmp/IP Logger.txt"
    set theText to theIP
    try
        set writeToFile to open for access theFile with write permission
        write theText & linefeed to writeToFile as text starting at eof
        close access theFile
    on error errMsg number errNum
        close access theFile
        set writeToFile to open for access theFile with write permission
        write theText & linefeed to writeToFile as text starting at eof
        close access theFile
    end try
end writeToTheFile

Paso 2: En el ordenador remoto, en script Editor.app, guarde este siguiente código AppleScript como un archivo de aplicación "stay open". Lo llamé "IP Changed Email Notify.app".

Si no guardaste "Get Current External IP.scpt" en tu carpeta de Documentos en el Paso 1 de arriba, entonces debes establecer su ubicación en property currentExternalIP en el siguiente código.

property currentExternalIP : alias ((path to documents folder as text) & "Get Current External IP.scpt")

run script currentExternalIP

on idle
    run script currentExternalIP
    return (15 * minutes)
end idle

La primera vez que ejecute la nueva aplicación AppleScript abierta (IP Changed Email Notify.app) desde fuera de scriptEditor.app, se le presentará este diálogo...

enter image description here

Simplemente haga clic en "Aceptar" y ya que todo el trabajo está siendo realizado por "Get Current External IP.scpt" no debería haber más diálogos o alertas futuras con las que lidiar.

Paso 3: (OPCIONAL) En el ordenador remoto, añade esta aplicación AppleScript recién creada (IP Changed Email Notify.app) a tus "Elementos de inicio de sesión" en el panel de Preferencias del Sistema de Usuarios y Grupos. Ahora, cada vez que el ordenador se reinicie, IP Changed Email Notify.app se ejecutará automáticamente y cada vez que la dirección IP externa de ese ordenador cambie, recibirás una notificación por correo electrónico.

1 votos

Eso es +1 genial... Yo hubiera usado la aplicación de Mensajes, pero el correo electrónico funciona. Un par de recomendaciones más :) 1. publicar este a gist en GitHub y 2. utilizar el gráfico adecuado para su mango wch1zpink . Para terminar, disculpas por salirme del tema, pero no he podido resistirme :P

0 votos

@Seamus, En cuanto a su comentario "2. utilizar el gráfico adecuado para su mango wch1zpink", usted ha asumido erróneamente que la imagen de wch1zpink tiene algo que ver con Pink Floyd. No es así.

0 votos

@user3439894: :) Lo siento, y mis disculpas a wch1zpink. El buen humor era realmente mi intención.

2voto

jpa Puntos 131

El servicio de pantalla compartida utiliza el puerto TCP 5900. Si efectivamente lo has arreglado para que puedas conectarte a él si sólo conoces la IP, ese puerto debería aparecer como abierto desde el exterior.

Ahora, si sabes qué dirección IP dinámica tenía antes de cambiar, puedes comprobar Base de datos WHOIS para ver todo el rango de IP al que pertenece esa dirección. Lo más probable es que la nueva IP pertenezca al mismo rango, aunque eso dependerá totalmente de cómo su ISP asigne las direcciones.

Ahora, después de eso, podrías escanear toda esa subred usando, por ejemplo, nmap, buscando el puerto 5900 abierto. Pero antes de hacerlo, comprueba la legalidad del escaneo de puertos en el país en el que te encuentres. En algunos países es legal si se hace sin intención criminal, en otros países el escaneo de puertos puede ser siempre ilegal.

0 votos

Me encanta su enfoque fuera de lo común. ¿Cómo es que entiendes las repercusiones legales aquí? ¿Cuál es su dominio?

1 votos

@Birowsky El escaneo de puertos no es tan raro cuando se solucionan todo tipo de problemas técnicos o se intenta encontrar dispositivos en la red local. Es un buen conocimiento general para conocer los límites de lo que se permite y no se permite hacer, al igual que con la apertura de cerraduras o la detección de wifi.

1voto

Nimesh Neema Puntos 69

Si la persona del otro Mac ha iniciado la sesión con su ID de Apple, sólo tiene que iniciar una sesión de iMessage, hacer clic en el botón Detalles y pulsar el icono de Pantalla Compartida para iniciar una sesión de pantalla compartida.

enter image description here

Puedes pedirles que compartan su pantalla o invitarles a compartir la tuya. Este enfoque funciona sin necesidad de una dirección IP explícita.

Sin embargo, necesitarás que alguien esté presente físicamente cerca de la máquina para aprobar la solicitud de pantalla compartida.

0 votos

Soy el único con una cuenta en esa máquina remota : /

0 votos

@Birowsky ¿Está la máquina en la misma red de área local que su máquina actual?

0 votos

No. Otro país.

0voto

moodforaday Puntos 2633

Probablemente no, especialmente si el Mac está detrás de un router, la mayoría de los cuales bloquean las conexiones entrantes.

En el futuro, recomendaría usar algo como Pantallas o Saltar al Escritorio que tienen aplicaciones complementarias que solucionan los distintos problemas de conexión y te permiten conectarte de forma remota sin necesidad de conocer la dirección IP.

0 votos

Si conozco la IP pública, puedo conectarme al mac. Desgraciadamente el ISP sólo proporciona IPs dinámicas, así que supongo que ha cambiado recientemente. ¿Saber que el router está bien configurado cambia algo? (gracias por las sugerencias)

0 votos

"Si conoces la IP pública" es todo el truco, efectivamente. pero a no ser que tengas algo configurado de antemano, no hay forma práctica de averiguar la IP ahora, independientemente de cómo esté configurado el router.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X