Como apenas verificar a conectividade do ponto de acesso Wifi por script Linux Ubuntu Server

Como apenas verificar a conectividade do ponto de acesso Wifi por script Linux Ubuntu Server

Estou escrevendo um script bash que configura o acesso à rede para meus dispositivos Linux.

O script deve ser usado por pessoas não habilitadas em Linux e que não tenham direitos administrativos no dispositivo. Escrevi a parte de configuração das interfaces ethernet e está tudo bem. Agora preciso escreverWi-fiparte de configuração.

O fim do jogo é escrever a configuração dentro de um arquivo netplan configuration yaml file. Aqui está o fluxo de trabalho esperado do script:

  1. gerenciar sistema de menu interativo recuperando parâmetros Wifi de alto nível (SSID, senha, modo de autenticação, dhcp ou configuração manual...)
  2. Verifique a conectividade com o ponto de acesso selecionado
  3. Salvar dados no arquivo yaml de configuração do netplan
  4. Aplicar mudanças

Os pontos 1, 3 and 4estão ok... também recuperar a lista de pontos de acesso disponíveis está ok.

O que não consigo alcançar é o ponto 2(Verifique a conectividade com o ponto de acesso selecionado). Eu gostaria de ter uma experiência de uso como a próxima

WIFI configuration parameters:
    SSID: My Network
    PSK:  password
Actions:
    - e: Edit
    - t: Test connectivity
    - s: Save
    - q: Quit
Select Action: t
....wait while testing connectivity
Test result: OK
Press a key to continue...

Eu tentei, iwconfigmas não funciona com WPA, então não se aplica à maioria dos casos.

Eu tentei wpa_supplicante consigo fazer o teste, mas não da maneira que estou pensando... É um teste em primeiro plano que só pode ser interrompido ctrl-Ce é difícil de ler para manequins (meu taget de usuário final).

Eu gostaria de

  1. inicie a conexão Wifi em segundo plano
  2. teste em segundo plano se a conexão com o ponto de acesso está ok ou não
  3. feche a conexão Wifi em segundo plano (o objetivo final é configurar o netplan)
  4. Retornar uma resposta OK/Falha ao script de chamada

Claro que é possível iniciar wpa_supplicanta conexão, bgmas: como verificar a conectividade e interrompê-la sempre bg?

Alguma sugestão?

Obrigado Sandro

informação relacionada