web-dev-qa-db-ja.com

特定のBSSIDに接続するにはどうすればよいですか?

同じSSIDで利用可能な複数のワイヤレスネットワークがあります。特定のソリューション(BSSIDによる)に接続するソリューションを探しています。

nmname con if ifname apは良いように見えますが、残念ながら機能していません。元のネットワークに接続するだけです。

7
Krisz

Network Managerのc​​liインターフェイス、nmcliを使用できます。

既にBSSIDを持っていると思います。次の方法で確認および検証できます。
$はコマンドプロンプトです。コマンドに続く行は出力です。)

$ nmcli -f in-use,ssid,bssid,signal,bars  dev wifi
*  SSID               BSSID              SIGNAL  BARS 
*  Apollo III (TWC)   XX:XX:XX:XX:XX:XX  98      ▂▄▆█ 
   Chromecast8481     XX:XX:XX:XX:XX:XX  97      ▂▄▆█ 
   --                 XX:XX:XX:XX:XX:XX  94      ▂▄▆█ 
   Apollo III (1)     XX:XX:XX:XX:XX:XX  87      ▂▄▆█ 
   TWCWiFi            XX:XX:XX:XX:XX:XX  80      ▂▄▆_ 
   CableWiFi          XX:XX:XX:XX:XX:XX  80      ▂▄▆_ 
   TWCWiFi-Passpoint  XX:XX:XX:XX:XX:XX  80      ▂▄▆_ 
   Apollo III (1)     XX:XX:XX:XX:XX:XX  70      ▂▄▆_

BSSIDへの接続のCLIは次のとおりです。

$ nmcli d wifi connect XX:XX:XX:XX:XX:XX

このコマンドは、パスワードのGUIプロンプトを表示します。コマンドラインでパスワードを入力できます(セキュリティ上の問題になる可能性があります)。

$ nmcli d wifi connect XX:XX:XX:XX:XX:XX password "mypassword"

後者はパスワードを要求しませんが、コマンドのBSSIDによって指定されたネットワークに接続します。 以前に別のネットワークに既に接続していた場合、コマンドで指定されたものに置き換えられます。

このコマンドは、/etc/NetworkManager/system-connectionsの場所に接続情報も追加します。場所は保護されています。

作成された名前の通知領域にあるネットワークアイコンを介して、後続の接続を確立できます。

13
L. D. James

この回答は、最初に MariusMatutiae on SuperUser によって投稿されました。これがあなたを助けるならば、そこで投票することを考慮してください。

APに手動で接続することで実行できます。

まず、ネットワークマネージャーを実行している場合は、ネットワークマネージャーをオフにするのが最も簡単です。

  Sudo service network-manager stop

次に、参加するAPのBSSIDを識別する必要があります。コマンド

 Sudo iw dev wlan0 scan

wlan0をワイヤレスインターフェイスとして使用している場合)多くの出力が生成されますが、その中には次のようなものがあります。

  BSS f8:1a:67:aa:7f:b9 (on wlan0) -- associated
    TSF: 629432841083 usec (7d, 06:50:32)
    freq: 2417
    beacon interval: 100
    capability: ESS Privacy ShortPreamble SpectrumMgmt ShortSlotTime (0x0531)
    signal: -70.00 dBm
    last seen: 0 ms ago
    Information elements from Probe Response frame:
    SSID: MySSID_NAME

(出力はこれより長くなります)。関連する部分はもちろんBSS f8:1a:67:aa:7f:b9です。

次に、念のため、以前のIPアドレスのインターフェイスを解放する必要があります。

  Sudo ip link set wlan0 down
  Sudo ip addr flush dev wlan0
  Sudo ip link set wlan0 up

次に、特定のAPに接続するように指定します。

  Sudo iwconfig wlan0 essid MySSID_NAME ap f8:1a:67:aa:7f:b9

もちろん、apは、BSSIDの前に付けます。ここで、開始する必要がありますwpa_supplicant

 Sudo wpa_supplicant -Dnl80211 -i wlan0 -B -c FILE_with_WPA_Secrets

(WPA資格情報を使用してファイルをセットアップする方法がわからない場合は、ルックアップすることができます ここではたとえば ;注意してください、network = {network = {スペースなし)最後に、

 Sudo dhclient -v wlan0

-vフラグはすべてのLinuxディストリビューションで機能するわけではありません。何が起こっているかを監視できるので気に入っています)。

編集

上記の手順は、WPAセキュリティのネットワークで機能します。 WEPセキュリティについては、wpa_supplicantコマンドを次のように置き換えます。

  Sudo iwconfig wlan0 key s:Your_WEP_password

パスワードの前の2文字s:が必要であることを忘れないでください。この後、もう一度

  Sudo dhclient -v wlan0

お役に立てれば。

3
Owen Hines

これを行うeasy方法は、Network Managerが提供するGUIを使用することです。

トップパネルのネットワークアイコンに移動し、Edit Connectionsを選択し、目的のSSIDのワイヤレス接続プロファイルを見つけ、編集用に開き、BSSIDフィールドに移動して、1)目的のBSSIDをポップアップするか、2)目的のBSSIDを手動で入力します。

BSSIDフィールドを示す無線接続の例については、以下を参照してください。

enter image description here

3
heynnema