2015-07-10 9 views
8

Come dovrei fare per creare una rete wireless ad hoc con un SSID e una password specificati su OS X? Ho provato a guardare la pagina man networksetup ma non ho trovato nulla per raggiungere questo obiettivo. C'è un altro comando che dovrei usare?Creazione a livello di codice di rete Ad-Hoc OS X

+0

Solo una FYI se il tuo Wi-Fi utilizza WPA o WPA2, le reti da computer a computer non sono compatibili con reti protette WPA o WPA2. – user3439894

risposta

1

Non ho trovato alcun vero modo per farlo altro che scrivere un Swift script:

import Foundation 
import CoreWLAN 

var networkName = "foo"; 
var password = "bar"; 
var error: NSError? 

let iface = CWWiFiClient.sharedWiFiClient().interface() 

let success = iface.startIBSSModeWithSSID(
    networkName.dataUsingEncoding(NSUTF8StringEncoding), 
    security: CWIBSSModeSecurity.WEP104, 
    channel: 11, 
    password: password as String, 
    error: &error 
) 

if !success { 
    println(error?.localizedDescription) 
} else { 
    NSRunLoop.currentRunLoop().run() 
} 
0

Se non si utilizza la riga di comando, è possibile seguire le istruzioni here che configura la rete ad hoc semplicemente utilizzando le preferenze di sistema> condivisione> Condivisione Internet. All'interno di questa scheda puoi configurare la tua rete ad-hoc e specificare un SSID, ecc. Certo, questo è un modo molto rudimentale per configurarlo, ma è abbastanza facile da usare, ma non ti dà il modo di impostare usando il terminale. Con il comando networksetup nel terminale, hai usato networksetup -printcommands o networksetup -help? Ciò fornisce ulteriori informazioni poiché non esiste una pagina man.

non ho familiarità con, ma in aggiunta ho trovato riferimenti al utilizzando il comando startHostAPModeWithSSIDhere o utilizzando il comando /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -i per questo server fault entry

+0

Purtroppo questo deve essere fatto in modo programmatico. Ho guardato i comandi di networksetup e non riesco a trovare nulla che funzioni. Dopo aver fatto ore di ricerca, l'unica opzione che posso ricavare è quella di utilizzare il framework 'CoreWLAN' e scrivere uno script Objective-C/Swift. Anche dopo aver tentato di farlo, sto ricevendo degli errori che mi portano quasi a credere che ci sia un bug nel framework ... Continuerò a sbattere la testa contro il muro nel frattempo –

+0

Hai provato ad usare Automator per registrare un flusso di lavoro e riprodurlo e/o salvarlo come Apple Script? Sto lavorando alla creazione di una rete ad-hoc con due sistemi OS X ora e sembra possibile che aggiornerò la mia risposta con i risultati a breve. – bern

+0

non riuscirò a testare l'ad-hoc fino al mattino, ma l'ho trovato su [errore del server] (http://serverfault.com/questions/49732/setup-ad-hoc-wifi-from -terminal-in-os-x) che sembra essere una domanda correlata, non risponde completamente alla tua domanda, ma utilizza il comando dell'aeroporto in combinazione con networksetup – bern

2

In OSX 10.10, ho dovuto modificare @ s' codice a Dan-ramos:

import Foundation 
import CoreWLAN 

var networkName = "foo" 
var password = "bar" 

if let iface = CWWiFiClient.sharedWiFiClient().interface() { 
    do { 
     try iface.startIBSSModeWithSSID(
      networkName.dataUsingEncoding(NSUTF8StringEncoding)!, 
      security: CWIBSSModeSecurity.WEP104, 
      channel: 11, 
      password: password as String 
     ) 
     print("Success") 
    } catch let error as NSError { 
     print("Error", error) 
     exit(1) 
    } 
} else { 
    print("Invalid interface") 
    exit(1) 
} 
+0

Ho impacchettato tutto questo per altri utenti: https: // github .com/hildjj/adhocnet –