Como posso me conectar a um BSSID específico?

5

Existem várias redes sem fio disponíveis com o mesmo SSID. Eu estou procurando uma solução para se conectar a um específico (por BSSID).

nmcli con ifname ap parece bom, mas, infelizmente, não está funcionando. Apenas se conecta de volta à rede original.

    
por Krisz 06.10.2016 / 18:40

3 respostas

6

Você pode usar a interface cli de Network Manager , nmcli .

Tenho certeza de que você já tem o BSSID . Você pode verificar e verificar com:
(o $ é o prompt de comando. As linhas que seguem o comando são a saída).

$ 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      ▂▄▆_

O cli da conexão com o BSSID é:

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

Esse comando fornecerá um prompt da GUI para a senha. Você pode inserir a senha na linha de comando (pode ser uma questão de segurança):

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

O último não solicitará uma senha, mas se conectará à rede especificada pelo BSSID no comando. Se você já estava conectado anteriormente a uma rede diferente, ela será substituída pela especificada no comando.

O comando também adicionará as informações de conexão ao local /etc/NetworkManager/system-connections . A localização é protegida.

Conexões subsequentes podem ser feitas através do ícone de rede na área de notificação pelo nome criado.

    
por L. D. James 06.10.2016 / 19:19
2

Esta resposta foi publicada pela primeira vez por MariusMatutiae em Superusuário . Por favor, considere votar lá, se isso ajuda você.

  

Você pode fazer isso conectando-se ao AP manualmente.

     

Primeiro, é mais fácil desligar o gerenciador de rede, se você estiver executando   um:

  sudo service network-manager stop
     

Em seguida, você precisa identificar o BSSID do AP no qual deseja ingressar:   comando

 sudo iw dev wlan0 scan
     

(se você estiver usando wlan0 como sua interface sem fio) produzirá um   grande quantidade de resultados, entre os quais você encontrará algo como:

  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
     

(a saída é maior que isso). A parte relevante é claro BSS   f8: 1a: 67: aa: 7f: b9 .

     

Em seguida, você terá que liberar sua interface de qualquer IP anterior   endereços, apenas no caso:

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

Agora você especifica que deseja se conectar ao AP específico:

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

onde, claro, ap precede o BSSID que você acabou de identificar.        Agora você precisa iniciar o wpa_supplicant ,

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

(se você não souber como configurar o arquivo com suas credenciais WPA,   você pode pesquisar aqui, por exemplo ; apenas tenha cuidado, onde   diz rede = {, deve ser rede = { sem um espaço). Por fim,

 sudo dhclient -v wlan0
     

(o sinalizador -v não funciona em todas as distribuições Linux, eu gosto porque eu   pode monitorar o que está acontecendo).

     

EDITAR

     

As instruções acima funcionam para uma rede com segurança WPA. Fore WEP   segurança, substitua o comando wpa_supplicant por:

  sudo iwconfig wlan0 key s:Your_WEP_password
     

Lembre-se de que os dois caracteres s: antes da senha são   necessário. Depois disso, mais uma vez

  sudo dhclient -v wlan0

Espero que isso ajude.

    
por Owen Hines 06.10.2016 / 18:55
2

A maneira fácil de fazer isso é usar a GUI fornecida pelo Network Manager.

Vá para o ícone de rede no painel superior, escolha Edit Connections , localize o perfil de conexão sem fio para o SSID desejado, abra para EDIT e vá para o campo BSSID e 1) abra o BSSID desejado ou 2 ) introduza manualmente o BSSID desejado.

Veja abaixo um exemplo de conexão sem fio mostrando seu campo BSSID.

    
por heynnema 07.10.2016 / 01:04