web-dev-qa-db-ja.com

非表示のSSID WiFiネットワークへの自動接続

MacBook ProがSSIDが非表示のワイヤレスネットワークに自動的に接続しません。 (システムトレイの)空港メニューの[他のネットワークに参加...]を選択します。ここで、ネットワークの名前、セキュリティの種類、パスワードを入力し、接続されるのを待つ必要があります。これは、やらなければならないことがますます煩わしくなり、everyデスクに戻る時間です。

Mac OS X 10.5を実行していますが、特定のネットワークに接続するオプションはないようですが、「優先ネットワーク」に接続します。私が優先として設定した唯一の範囲内のネットワークはホームネットワークですが、それでも自動的に接続しません。ネットワークを公開することは私の支配下にないので、私は現在何が行われているかで立ち往生しています。

リーダーのダイジェストバージョン:MacBook Proを非表示のSSIDでWiFiネットワークに自動的に接続するには、接続するたびに「構成」する必要はありませんか?

9
Zack

SSIDが非表示のネットワークに自動的に接続することはお勧めできません。

コンピューターはSSIDブロードキャストを受動的にリッスンできず、SSIDを検出すると自動的に接続できないため(ビーコンブロードキャストには表示されません。これはSSIDを非表示にする方法であるためです)、アクティブにネットワークのSSIDを使用してプローブパケットを送信し、アクセスポイントの近くになくても、待機する応答。つまり、アクセスポイントが常に名前をブロードキャストするのではなく、すべてのコンピュータが自動的に接続するように構成されている名前が常にブロードキャストされるということです。 、どこにいても

言うまでもなく、同じSSIDを持つ複数のアクセスポイント間でローミングできるようにするには、コンピューターがBSSID(基本的にはAPのMACアドレス)を知っている必要があります。通常、これは、アクセスポイントによってブロードキャストされるビーコンをリッスンすることによって行われます。ビーコンにはSSIDがないため(非表示になっています!)、アクセスポイントに既に接続されている場合でも、コンピューターは定期的にプローブ要求を送信する必要があります。 1台のコンピューターがネットワークに接続されている場合でも、侵入者がSSIDを簡単に見つけられるようにします。関連付け解除攻撃は言うまでもありません。

したがって、セキュリティはほぼゼロになり(SSIDを見つけるのは簡単すぎます)、セキュリティが少し低下します(クライアントコンピューターは常に世界に通知します。「私はXYZ社で働いている誰かが所有するコンピューターです! "XYZ社の近くにいない場合でも)。最終結果はマイナスです。

セキュリティの低下を軽減または回避する唯一の方法は、自動ではなく手動で接続することです。これは、Apple=が行っていることのようです。(Windows Vistaで、私が覚えている限りでは、自動的に接続するように設定しようとすると、セキュリティの問題が警告されます。ほとんどのLinuxディストリビューションで使用されているNetworkManager保存した接続をドロップダウンから手動で選択したようにも見えます。)

理論的には、各ESSIDの既知のBSSIDを保存し、そのうちの1つのビーコンが受信された場合にのみプローブ要求を送信することができます(つまり、過去にそのために使用されたアクセスポイントの近くにいる場合) SSID)。なぜ誰もまだそれを試していないように見える理由はわかりません。

19
CesarB

ヨルダンカタルドの回答に対する非合理的なジョンのコメントに具体的にどのように対応するかわからないため、新しい回答をお詫びします。しかし、いいえ、iJohn。このApplescriptは、スクリプトエディターを介して、ユーザーのログイン項目(システム設定のアカウントの下)に配置できる.appに保存できます。次に、起動時に自動的に隠しネットワークにログインします。

ジョーダンの例に基づいて、サーバーがクライアントと同じ電源タップ上にあり、起動にしばらく時間がかかる(確かにまれな)ケースで、まだ使用できない可能性がある非表示のネットワークにログインする次のスクリプトを作成しました。博物館の展示には珍しいニーズがあります;)

set networkResult to false
repeat while not networkResult
    try

        do Shell script "networksetup -setairportnetwork NetworkName networkPassword | /bin/bash"

        -- network found and joined.
        set networkResult to true

    on error errorMsg

        -- network not yet available;
        -- wait five seconds and try again.
        set networkResult to false
        delay 5

    end try
end repeat
1
ericsco

「欲しい」場合は、コマンドスクリプトを使用して起動またはドックの起動ファイルとして配置できます。ターミナルに移動し、次のコマンド(SSIDとキーを使用)で保存します/ System/Library/PrivateFrameworks/Apple80211 .framework/Versions/A/Resources/airport --associate = yourSSID --password = yourkey

これが一部の人々に役立つことを願っています。さらに「実行」したい場合は、以下を参照してください:/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport -h

0
Mek

私はググった、そして明らかにあなたの状況に多くの人々がいる。 Apple=によって約束された修正は実現していません。ルーター上のSSIDを再表示することが唯一の解決策のようです。現在、SSIDを非表示にしても何も保護されないことに注意してください。

0
harrymc

ネットワークssid名が次のように入力されていることがわかっている場合、これがこのOpenスクリプトエディターを実行する最も簡単な方法です。

シェルスクリプト「networksetup -setairportnetwork {server SSID name} {password} |/bin/bash」を実行します

。コロンとピリオドの間は、applescriptで必要なすべてです。

次に、それだけを実行するアプリケーションとして保存します。完了です。これで、アプリを開くと自動的にネットワークに接続するアプリができました。アプリケーションを編集する場合は、スクリプトバージョンも保存します。お役に立てば幸いです。

0
Jordan Cataldo