Проблема при проверке сетевого подключения с помощью nmcli в ubuntu 18.04

Я использую команду « nmcli network connectivity », чтобы узнать возможность подключения моего Wi-Fi соединения. После установления соединения с Wi-Fi, и если я увижу, что у него нет подключения к Интернету, тогда " nmcli network connectivity " покажет "limited" , что вполне естественно. Но когда это соединение Wi-Fi вернулось к Интернету, а затем, если я запустил « nmcli network connectivity », то я также получаю «limited» вместо «full» . Я повторно просканировал сеть и подождал несколько секунд, а затем запустил команду, но результат тот же. (Т.е. ограниченный)

Но если я снова подключусь к Wi-Fi, запустив " nmcli device wifi connect [SSID] пароль [wap_key] ", а затем попытайтесь увидеть подключение к сети, после чего я получил " полный "

Итак, это означает, что каждый раз, когда я хочу проверить подключение к сети, мне нужно повторно подключаться к Wi-Fi ( что нежелательно). Так ли это?

Если нет, то скажите, пожалуйста, подходящий метод (команда linux, не через графический интерфейс или не через ping, системная команда более приемлема), чтобы проверить, есть ли у моего Wi-Fi доступ в Интернет или нет.[любой код c / c ++ также приемлем]

1
задан 28 June 2021 в 21:57

1 ответ

Я думаю, вы только что пропустили аргумент check . Этот аргумент перепроверяет соединение.

    nmcli networking connectivity check

Из справочных страниц

   connectivity [check]
       Get network connectivity state. The optional check argument tells NetworkManager to
       re-check the connectivity, else the most recent known connectivity state is displayed
       without re-checking.

       Possible states are:

       none
           the host is not connected to any network.

       portal
           the host is behind a captive portal and cannot reach the full Internet.

       limited
           the host is connected to a network, but it has no access to the Internet.

       full
           the host is connected to a network and has full access to the Internet.

       unknown
           the connectivity status cannot be found out.
0
ответ дан 28 July 2021 в 11:24

Другие вопросы по тегам:

Похожие вопросы: