web-dev-qa-db-ja.com

SSIDに関する知識がなくてもwlanインターフェースを特定のBSSIDに接続する

ワイヤレスルーターのBSSIDとパスフレーズを知っているので、SSIDを気にせずにワイヤレスインターフェースをルーターに接続したいと思います。したがって、ワイヤレスルーターのSSIDが変更された後でも機能するようにしたいと思います。

私がこれを達成しようとしたのは、私の/etc/network/interfacesを変更することです。

iface wlan0 inet dhcp
        #wpa-ssid "MySSID" # old line
        wpa-bssid 01:23:45:67:89:ab # new line
        wpa-psk  "MYPASSWORD"

ただし、この構成を使用すると、システムはオフラインのままになります。 wpa_supplicantにはssidが必須だと思いますが、その理由がわかりません。技術的な理由はありますか?これを回避する方法は?

4
Jens Wirth

これは、まったく同じ情報bssidとpskが、構成ファイルを介してwpa_supplicantではなく/etc/network/interfacesに提供された場合に機能します。

/ etc/network/interfaces:

iface wlan0 inet dhcp
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

/ etc/wpa_supplicant/wpa_supplicant.conf:

network={
  bssid=01:23:45:67:89:ab
  psk="MYPASSWORD"
}

また、ワイヤレスルーターのssidを変更し、pskを変更せずに維持することもテストしました。

2
Jens Wirth

パスフレーズとともにWPA-PSKまたはWPA2-PSKを使用している場合、パスフレーズはSSIDと混合され、PBKDF2と呼ばれる関数を実行して実際のPSKを生成します。

したがって、生のPSK(64桁の16進数)をソフトウェアに渡さない限り、SSIDを認識していない限りPSKを導出することはできません。

ソフトウェアに特定のBSSIDに関連付けられたSSIDを検索するスマート機能があり、そのSSIDを使用してパスフレーズを提供し、PBKDF2にフィードしてPSKを作成すると、BSSIDとパスフレーズだけでネットワークに接続できると思います。 。

4
Spiff