Ottieni l'elenco dei dispositivi in rete tramite CLI

1

Voglio ottenere tutte le voci che normalmente otterrei tramite Finder, ma usando la riga di comando. Quindi da questo:

Vogliorecuperarealmeno"celeste-7" e "Time Capsule" (solo l'etichetta va bene) direttamente in uno script bash o in un applescript.

Comandi come ippfind e dns-sd -B _ssh._tcp . non mostrano tutti i dispositivi che vedo nel Finder, nemmeno la metà.

Qualche idea?

    
posta Jerome 13.11.2017 - 17:45
fonte

2 risposte

2

Stai utilizzando il dns-sd corretto per scoprire i servizi locali. Il problema è che devi cercare tutti gli elementi potenziali.

Condivisione schermo, condivisione file AFP, condivisione file SMB, ecc.

Peggio ancora, se hai i dispositivi Back to My Mac e iCloud, non tutti sono locali, ma sono comunque rilevabili dalla riga di comando:

Se si desidera selezionare separatamente tutte le porte / i protocolli, è possibile utilizzare l'utilità di rete per eseguire la scansione di ogni dispositivo che si trova nella barra laterale di Finder e cercare le porte comuni in ascolto.

Il grande elenco di porte e nomi di Apple è qui:

Penso che avrai una buona copertura se inizi con il controllo remoto, condivisione di file (VNC / AFP / SMB).

    
risposta data 13.11.2017 - 19:01
fonte
0

Puoi utilizzare due comandi: ping e arp per ottenere le informazioni di cui hai bisogno.

ping ti consente di trasmettere alla tua rete e qualsiasi dispositivo che sulla rete e in grado di rispondere risponderà.

Supponiamo che la tua rete sia 192.168.1.0. Trasmetti il tuo ping usando l'indirizzo di broadcast 192.168.1.255

$ ping 192.168.1.255 

Questo andrà avanti all'infinito, quindi Control C o usare l'opzione -t per impostare un timeout. Ad esempio, per 20 secondi di struggimento ...

$ ping -t 20 192.168.1.255

Riceverai un sacco di risposte; alcuni dei quali saranno duplicati. Questo continuerà per 20 secondi, quindi si fermerà.

Successivamente, arp per trovare i nomi:

$ arp -a

allans-imac.home (192.168.1.12) at a8:20:66:40:5b:10 on en0 ifscope permanent [ethernet]
grace-pc.home (192.168.1.18) at 0:34:f6:5:f7:29 on en0 ifscope [ethernet]
grace-iphone.home (192.168.1.150) at b8:63:3a:14:3e:f7 on en0 ifscope [ethernet]
nas.home (192.168.1.23) at 0:12:43:20:aa:3d on en0 ifscope [ethernet]

Questo è un campione troncato dell'output dalla mia rete (nomi, MAC e IP randomizzati per sicurezza). Come puoi vedere, include gli hostname e i MAC dei dispositivi che ho sulla mia rete.

I dispositivi Sleeping (come la mia stampante HP e il mio MacBook Pro) non hanno risposto e non si trovano nella tabella arp. Inoltre, non si presentano nemmeno nel Finder.

Con l'applicazione di grep e awk , dovresti essere in grado di estrarre ciò che ti serve.

    
risposta data 13.11.2017 - 19:50
fonte

Leggi altre domande sui tag