Domanda:
Come utilizzare Condivisione schermo se non conosco l'indirizzo IP del Mac remoto
Birowsky
2019-05-18 18:47:25 UTC
view on stackexchange narkive permalink

Ho le credenziali per il Mac, ma non c'è nessuno nella stanza con la macchina per controllare l'indirizzo IP pubblico.

enter image description here

Se conosco l'IP pubblico, posso connettermi al mac.Sfortunatamente l'ISP fornisce solo IP dinamici, quindi immagino che sia cambiato di recente.

C'è un altro modo per ottenere l'accesso?

Sebbene non sia veramente una soluzione tecnica, se quel Mac è connesso a qualsiasi posta (Gmail di sicuro per quanto ne so), qualsiasi soluzione di sincronizzazione, così via, quei servizi potrebbero fornire un registro con l'IP più recente del tuo Mac.
La macchina ha effettuato l'accesso a iCloud / servizi Apple * in questo momento *?È il tuo account?
@Harper bene, posso vederlo come verde nell'elenco dei dispositivi del mio account Apple.Ma non sono riuscito a trovare alcuna informazione sull'ip.
Cinque risposte:
Seamus
2019-05-18 19:12:33 UTC
view on stackexchange narkive permalink

Ah!Sì ... le tue opzioni a questo punto sono limitate.L'ISP potrebbe aiutarti in quanto è il loro DHCP che ha assegnato l'indirizzo;sarebbero gli unici a saperlo.

Questo è successo a me e poiché il mio ISP è comcast, non c'è aiuto.

In futuro :), ciò di cui hai bisogno è "DNS dinamico";disponibile gratuitamente da diverse fonti.Uso FreeDNS.È un po 'funky, ma sembra funzionare in modo affidabile.

L'altra alternativa (al DNS dinamico) è un approccio "roll your own" che richiederebbe la scrittura di uno script da parte tua.Se sei d'accordo, fammi sapere & andremo da lì.

Grazie.Immagino che FreeDNS dovrebbe essere la strada da percorrere in futuro.Riguardo a rotolare il mio, intendi pubblicare l'IP su un intervallo o qualcosa di un po 'più elaborato?
@Birowsky: Potrebbe essere più elaborato, a seconda di quanto lontano vuoi prenderlo.Dato che è un Mac, potresti fargli eseguire uno script periodicamente per controllare il suo indirizzo IP pubblico, confrontarlo con il valore precedente e utilizzare l'app Message per inviarti un messaggio se / quando è cambiato.Ma ovviamente avrai bisogno di accedere al tuo Mac per installare quello script.IMO, FreeDNS è più facile, ma lo script è più, uh - educativo?:)
wch1zpink
2019-05-18 22:32:41 UTC
view on stackexchange narkive permalink

Sul computer remoto, salva il seguente codice AppleScript in un nuovo documento Script Editor.App (Script Editor.App si trova qui ... / Applicazioni / Utilità / Script Editor.app) come applicazione "Resta aperto". Prima di salvare questo documento come applicazione, assicurati di inserire il tuo attuale indirizzo IP esterno e l'indirizzo email nelle prime due righe del codice.

Per riassumere ciò che fa il codice AppleScript è semplicemente ... Ogni 15 minuti controlla il tuo attuale indirizzo IP esterno con l'indirizzo IP che hai impostato nella prima riga del codice. Se questi due indirizzi IP non sono gli stessi, lo script andrà avanti e invierà una nuova e-mail (all'indirizzo e-mail impostato nella seconda riga del codice) con il nuovo indirizzo IP esterno aggiornato.

Quindi, proprio come se si aprisse qualsiasi altra applicazione nel Finder, facendo doppio clic sull'app appena creata verrà eseguita la nuova app.

  proprietà ipAddress: "123.456.7.89" - Inserisci indirizzo IP esterno corrente (impostare solo una volta)

proprietà toRecipient: "whoever@gmail.com" - L'email per ottenere l'IP ha modificato i messaggi

inattivo
    imposta l'IP per eseguire lo script di shell "curl ifconfig.co"

    se l'IP non è uguale a ipAddress allora
        dire all'applicazione "Posta"
            imposta newEmail su (crea nuovo messaggio in uscita)
            imposta il contenuto di newEmail sull'IP
            imposta l'oggetto di newEmail su "L'indirizzo IP è cambiato"
            dire a newEmail
                crea un nuovo destinatario con proprietà {address: toRecipient}
                Spedire
            fine raccontare
        fine raccontare
        impostare ipAddress su IP
    finisci se

    ritorno (15 * minuti) - Attesa 15 min. per controllare nuovamente l'IP
fine inattivo
 

Non dimenticare di aggiungere questa nuova applicazione AppleScript, in Preferenze di Sistema, all'elenco delle app autorizzate a controllare il tuo computer.


UPDATE

Sebbene lo script precedente sembri funzionare, dopo diverse esecuzioni e piccole modifiche al codice a scopo di test, ho deciso di creare una soluzione alternativa. A causa delle nuove impostazioni di sicurezza in macOS Mojave e dell'incapacità di AppleScript di aggiornare e mantenere in modo affidabile i valori delle proprietà Global e Persistent tra le esecuzioni, ritengo che questa soluzione alternativa sia molto più affidabile.

Step 1: Sul computer remoto, in Script Editor.app, salva questo codice AppleScript come file .scpt e chiamalo "Get Current External IP.scpt"

Assicurati di modificare il valore di property toRecipient al tuo indirizzo email

  proprietà ipAddress: "1.1.1.1" - Non necessario per l'impostazione
proprietà toRecipient: "YourEmail@gmail.com" - L'e-mail per ottenere l'IP ha modificato i messaggi

imposta emailIsRunning sull'applicazione "Mail" in esecuzione - Controlla se la posta è in esecuzione

provare
    imposta lastLoggedIP su readFile ()
    imposta l'IP per eseguire lo script di shell "curl ifconfig.co"
    se l'IP non è uguale a lastLoggedIP allora
        sendNewEmail ()
        writeToTheFile ()
    finisci se
in caso di errore errMsg numero errNum
    se errNum è -43 allora - L'errore se il file per readFile () non esiste ancora
        imposta l'IP per eseguire lo script di shell "curl ifconfig.co"
        se l'IP non è uguale a ipAddress allora
            sendNewEmail ()
            writeToTheFile () - Crea il file "/ private / tmp / IP Logger.txt"
        finisci se
    altro
        attivare
        mostra finestra di dialogo "Si è verificato un errore:" & return & errMsg & "" & errNum rinuncia dopo 10
    finisci se
fine prova

ritardo 20 - Consente il completamento di qualsiasi messaggio di posta in arrivo o in uscita
se non emailIsRunning, esci dall'applicazione "Mail" - Esce da Mail se non era già in esecuzione

to sendNewEmail () - Invia nuova e-mail ogni volta che cambia l'IP
    imposta l'IP per eseguire lo script di shell "curl ifconfig.co"
    dire all'applicazione "Posta"
        imposta newEmail su (crea nuovo messaggio in uscita)
imposta il contenuto di newEmail sull'IP
        imposta l'oggetto di newEmail su "L'indirizzo IP è cambiato"
        dire a newEmail
            crea un nuovo destinatario con proprietà {address: toRecipient}
            Spedire
        fine raccontare
    fine raccontare
    impostare ipAddress su IP
end sendNewEmail

on readFile () - Legge IP Logger.txt per verificare la presenza di modifiche IP
    imposta il File1 come alias "private: tmp: IP Logger.txt"
    imposta lastLoggedIP sull'ultimo elemento di (leggi il File1 come testo utilizzando il delimitatore di avanzamento riga)
end readFile

su writeToTheFile () - Registra ogni modifica IP su file
    imposta l'IP per eseguire lo script di shell "curl ifconfig.co"
    imposta il file su "/ private / tmp / IP Logger.txt"
    impostare il testo su IP
    provare
        impostare writeToFile da aprire per accedere al file con autorizzazione di scrittura
        scrivi il linefeedText & in writeToFile come testo a partire da eof
        chiudere accedere a theFile
    in caso di errore errMsg numero errNum
        chiudere accedere a theFile
        impostare writeToFile da aprire per accedere al file con autorizzazione di scrittura
        scrivi il linefeedText & in writeToFile come testo a partire da eof
        chiudere accedere a theFile
    fine prova
end writeToTheFile
 

Step 2: Sul computer remoto, in Script Editor.app, salva il seguente codice AppleScript come file dell'applicazione "resta aperto". L'ho chiamato "IP Changed Email Notify.app".

Se non hai salvato "Ottieni IP.scpt esterno corrente" nella cartella Documenti nel passaggio 1 dall'alto, devi impostare la sua posizione in proprietà currentExternalIP nel seguente codice.

  proprietà currentExternalIP: alias ((percorso alla cartella documenti come testo) & "Ottieni IP.scpt esterno corrente")

eseguire lo script currentExternalIP

inattivo
    eseguire lo script currentExternalIP
    ritorno (15 * minuti)
fine inattivo
 

La prima volta che esegui la nuova app AppleScript aperta (IP Changed Email Notify.app) dall'esterno di Script Editor.app, ti verrà presentata la seguente finestra di dialogo ...

enter image description here

Basta fare clic su "OK" e poiché tutto il lavoro viene effettivamente svolto da "Ottieni IP.scpt esterno corrente", non dovrebbero esserci più finestre di dialogo o avvisi futuri da gestire.

Step 3: (FACOLTATIVO) Sul computer remoto, aggiungi questa applicazione AppleScript appena creata (IP Changed Email Notify.app) agli "Elementi di accesso" nel pannello Preferenze di sistema di Utenti e gruppi.Ora ogni volta che il computer si riavvia, IP Changed Email Notify.app verrà eseguito automaticamente e ogni volta che l'indirizzo IP esterno di quel computer cambia, riceverai una notifica e-mail.

È fantastico +1 ... Avrei usato l'app Message, ma l'email funziona.Un paio di altri consigli :) 1. pubblica questo a [gist su GitHub] (https://gist.github.com/), e 2. usa la [grafica corretta per il tuo handle `wch1zpink`] (https: //en.wikipedia.org/wiki/Wish_You_Were_Here_(Pink_Floyd_album)).In chiusura, mi scuso per essere andato fuori tema, ma non ho potuto resistere: P
@Seamus, Per quanto riguarda il tuo commento "2. usa la grafica corretta per il tuo handle wch1zpink", hai erroneamente presunto che l'immagine di wch1zpink abbia qualcosa a che fare con i Pink Floyd.Non è così!
@user3439894: :) Mi dispiace e mi scuso con wch1zpink.Il buon umore era davvero la mia intenzione.
@Seamus, Spero che alcuni commenti a me e Mark negli ultimi giorni non siano stati intenzionalmente condiscendenti, perché è così che li vedo.
Tutto in questo thread di commenti - Ho modificato le cose e voglio solo ricordare a tutti di non minacciare nessuno quando è necessaria la moderazione e di mantenere l'umorismo chiaramente puntato su se stessi se qualcuno potrebbe pensare che li stai prendendo in giro o prendendoti in giro.https://apple.stackexchange.com/conduct - Sarò in [chat] se le persone hanno domande o non sono chiare su ciò che sto chiedendo qui.
@user3439894 Non volevo distinguerti: parole come "altrimenti ci saranno conseguenze" sono minacciose e verranno rimosse quando le vedremo o saranno contrassegnate come scortesi.
@wch1zpink, Qual è lo scopo di avere questa riga di codice `imposta l'IP per eseguire due volte lo script di shell" curl ifconfig.co "`?Quello all'interno del _block_ `on idle` ha senso;tuttavia, non è chiaro il motivo per cui è necessario anche al di fuori del _block_ `on idle`.
Vorrei iniziare dicendo ... Ho visto i Pink Floyd in concerto 19 volte, Roger Waters da solo in concerto 11 volte, ho aggiunto l'assolo di David Gilmour in concerto 2 volte.Inoltre, con l'eccezione di circa 13 date diverse, ho audio lossless di ogni concerto mai eseguito dai Pink Floyd.Anche per rispondere alla domanda "Quale è il rosa" ... La mia risposta sarà sempre Roger Waters.Inoltre nessun commento verso il mio handle è stato offeso.L'ho visto subito come tutto molto divertente.
@user3439894 Essendo che "on run" e "on idle" sono due eventi separati, ho pensato che usare "set theIP per eseguire lo script di shell" curl ifconfig.co "" in entrambi i posti non avrebbe causato alcun danno.Ciò garantisce di ottenere immediatamente l'indirizzo IP corrente, all'avvio dello script.
@wch1zpink, Poiché la tua risposta è attualmente codificata, l'esecuzione di `set theIP per eseguire lo script di shell" curl ifconfig.co "al di fuori del _handler_ di` on idle` è una _call_ sprecata e ** non fa assolutamente nulla per l'effettiva funzionalità dello script **!Soprattutto alla luce del fatto che qualunque cosa _value_ la `theIP` _variable_ contenga alla prima esecuzione, non viene mai convalidata rispetto a nulla, poiché non accade nient'altro fino a quando non viene attivato il _handler_` on idle`, dove la prima cosa che fa è rendere illo stesso _call_ prima che avvenga qualsiasi convalida!Sì, potrebbe non danneggiare nulla, ma è totalmente inutile!
jpa
2019-05-19 12:05:30 UTC
view on stackexchange narkive permalink

Il servizio di condivisione dello schermo utilizza la porta TCP 5900. Se effettivamente ti sei disposto in modo da poterti connettere se conosci solo l'IP, quella porta dovrebbe apparire come aperta dall'esterno.

Ora, se sai quale indirizzo IP dinamico aveva prima di cambiare, puoi controllare il database WHOIS per vedere l'intero intervallo IP a cui appartiene l'indirizzo. Ci sono buone probabilità che il nuovo IP appartengaallo stesso intervallo, sebbene ciò dipenderà totalmente da come il tuo ISP alloca gli indirizzi.

Ora, dopo di che, puoi scansionare l'intera sottorete utilizzando ad es.nmap, cercando la porta aperta 5900. Ma prima di farlo, controlla la legalità del port scanning in qualunque paese ti trovi attualmente. In alcuni paesi è legale se fatto senza intento criminale, in altri paesi il port scanning può essere sempre illegale.

Adoro il tuo approccio fuori dagli schemi.Come fai a capire le ripercussioni legali qui?Qual è il tuo dominio?
@Birowsky La scansione delle porte non è così rara quando si risolvono problemi tecnici di ogni tipo o si cerca di trovare dispositivi sulla rete locale.È una buona conoscenza generale conoscere i limiti di ciò che è consentito e non è consentito fare, proprio come con il lock picking o lo sniffing wifi.
Nimesh Neema
2019-05-18 18:58:51 UTC
view on stackexchange narkive permalink

Se la persona sull'altro Mac ha effettuato l'accesso con il proprio ID Apple, puoi semplicemente avviare una sessione di iMessage, fare clic sul pulsante Dettagli e fare clic sull'icona Condivisione schermo per avviare una sessione di condivisione dello schermo.

enter image description here

Potete entrambi chiedere loro di condividere il loro schermo o invitare a condividere il vostro schermo.Questo approccio funziona apparentemente senza bisogno di un indirizzo IP esplicito.

Avrai bisogno che qualcuno sia presente fisicamente vicino alla macchina per approvare la richiesta di condivisione dello schermo.

Sono l'unico con un account su quella macchina remota: /
@Birowsky La macchina si trova nella stessa rete locale della macchina corrente?
No. Paese differente.
@Birowsky avrai bisogno che qualcuno sia fisicamente presente per configurare l'accesso remoto (per una volta) prima di avere la possibilità di accedere in remoto alla tua macchina.Ciò potrebbe essere fatto utilizzando una miriade di strumenti di accesso remoto.
TJ Luoma
2019-05-18 18:54:02 UTC
view on stackexchange narkive permalink

Probabilmente no, soprattutto se il Mac è dietro un router, la maggior parte dei quali blocca le connessioni in entrata.

In futuro, consiglierei di utilizzare qualcosa come Screens o Jump Desktop, entrambi dotati di app complementari che aggireranno i vari problemi di connessione e ti consentiranno di connettertida remoto senza bisogno di conoscere l'indirizzo IP.

Se conosco l'IP pubblico, posso connettermi al mac.Sfortunatamente l'ISP fornisce solo IP dinamici, quindi immagino che sia cambiato di recente.Sapere che il router è configurato correttamente cambia qualcosa?(grazie per i suggerimenti)
"Se conosci l'IP pubblico" è tutto il trucco, anzi.ma a meno che tu non abbia qualcosa configurato in anticipo, non c'è modo pratico per capire l'IP ora, indipendentemente da come è impostato il router.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 4.0 con cui è distribuito.
Loading...