Как проверить скорость интернета в Linux Mint 20
Недорогой хостинг для сайтов
Введение
Тесты скорости — это простые тесты, которые оценивают и измеряют скорость вашего интернета. В вашем Интернете рекомендуются регулярные проверки скорости, поскольку они могут выявить любое подключение, узкое место в пропускной способности или проблемы с производительностью интернет-провайдера на раннем этапе.
Люди обычно посещают несколько сайтов, которые предлагают измерить скорость вашего интернета для вас. Но в системе Linux Mint 20 есть много инструментов, которые могут предоставить ту же услугу с меньшими трудностями.
Предпосылки
Терминальный доступ
Учетная запись пользователя с привилегиями sudo.
Проверьте скорость интернета с помощью speedtest-cli
speedtest-cli — это простой компактный инструмент с открытым исходным кодом на базе speedtest.net , который проверяет пропускную способность вашего интернета.
Чтобы установить speedtest-cli, выполните следующую команду.
sudo apt install speedtest-cli
Вы можете запустить тест скорости с помощью следующей команды после завершения установки.
speedtest
Вы можете видеть, что вывод показывает скорость загрузки и выгрузки вашего интернета.
Проверьте скорость интернета с помощью FAST
Fast также является очень простой и удобной утилитой CLI от Netflix. Он измеряет только скорость загрузки вашего интернета.
Самый простой способ быстрой установки и управления в вашей системе — это установить ее через оснастку. Но в системе Linux Mint поддержка snap отключена.
Вы можете запустить следующие команды, чтобы включить поддержку моментальных снимков.
sudo rm /etc/apt/preferences.d/nosnap.pref
sudo apt update
Как только ваша поддержка snap включена, вы можете установить пакет snapd с помощью следующей команды.
sudo apt install snapd
Наконец, установите fast snap, используя следующую команду.
sudo snap install fast
Быстро запустите в терминале и подождите немного.
fast
Вы можете увидеть скорость загрузки в выводе.
Проверьте скорость Интернета с помощью расширения NetSpeed GNOME Shell
Вы можете использовать расширение оболочки Gnome под названием NetSpeed, если хотите регулярно проверять и контролировать свое интернет-соединение. Это расширение даст вам скорость интернета в секунду из вашего системного трея. Это расширение обеспечит скорость интернета в секунду из вашего системного трея.
Этот метод будет работать, только если вы используете среду рабочего стола GNOME. Чтобы установить это расширение, сначала установите расширение gnome-shell с помощью следующей команды.
sudo apt install gnome-shell-extensions
Теперь перезагрузите систему и войдите в среду рабочего стола GNOME Classic.
Теперь вы можете открывать расширения из приложений.
Вы можете открыть веб-сайт из описания, приведенного в значке лампочки.
Найдите расширение NetSpeed. Как только вы найдете расширение, вы можете выбрать версию и переместить кнопку включения / выключения в положение «Вкл.».
При появлении запроса нажмите Установить.
После этого вы сможете увидеть расширение в своем приложении Extensions.
Вы заметите, что в системном трее упоминается скорость. Вы можете нажать на нее, чтобы увидеть больше информации.
Проверьте скорость интернета с помощью NetHogs
NetHogs — это простая утилита командной строки, которая измеряет скорость вашего интернета. Но у него есть уникальная функция, которая показывает пропускную способность интернета в соответствии с процессами, что может быть полезно при мониторинге процессов потребления пропускной способности.
Чтобы установить NetHogs, выполните следующую команду.
sudo apt install nethogs
Запустите NetHogs в терминале.
sudo nethogs
В выходных данных вы можете увидеть разбивку пропускной способности по процессам.
Вывод
В этой статье вы узнали о различных способах измерения и мониторинга пропускной способности вашего интернета.
Рекомендуемый контент
4 простых способа проверить, работает ли ваш Интернет
В наш век цифровых технологий мы как общество, как правило, хорошо функционируем, когда Интернет доступен и работает. Но ведь мы слишком хорошо знаем, что эти системы часто ломаются, иногда в самый неподходящий момент.
Итак, вы думаете, что ваш интернет не работает? Что ж, вот несколько простых способов убедиться, что у вас есть работающее интернет-соединение.
Реклама — продолжить чтение ниже
1. Посетите любой веб-сайт
Это может показаться довольно очевидной проверкой, но это, безусловно, самый эффективный и простой способ. Просто запустите свой любимый веб-браузер, введите URL-адрес и нажмите Enter.
Большинство из нас (в том числе и ваш покорный слуга) склонны использовать самую большую поисковую систему, Google, чтобы проверить наше интернет-соединение. Если вы встретились с главной страницей поиска Google, вы в деле. Если появляется какой-либо другой экран, значит, есть проблема.
Другие веб-сайты, кроме Google, которые могут сказать вам, работает ваш интернет или нет, включают, ну, IsMyInternetWorking . Это можно использовать, чтобы проверять, работает ли ваш интернет каждые несколько секунд, поэтому, возможно, стоит сохранить это в закладках в вашем браузере.
2. Проверьте индикаторы на маршрутизаторе
Если вы испытываете симптомы плохого интернет-соединения, быстро проверьте свой маршрутизатор, чтобы убедиться, что он работает правильно.
Возможно, вам придется обратиться к руководству пользователя вашего маршрутизатора, поскольку различные марки и модели имеют различные конфигурации подсветки, которые означают разные вещи.
Для большинства потребительских маршрутизаторов непрерывный зеленый свет на индикаторе интернет-соединения означает, что у вас есть интернет. Мигающий или горящий красный/оранжевый индикатор может означать наличие проблемы с подключением.
Реклама — Продолжить чтение ниже
Опять же, разные маршрутизаторы по-разному показывают это, поэтому сначала обратитесь к руководству пользователя.
Подробнее: 7 наиболее распространенных причин, по которым у вас не работает интернет
3. Индикатор «Проверьте свое устройство»
Большинство современных операционных систем предоставляют пользователям индикацию состояния Интернета с помощью легко узнаваемого значка, часто расположенного на панели задач.
В случае возникновения проблем с подключением к Интернету значок должен измениться, указывая на то же самое. Будь то желтый восклицательный знак или вопросительный знак в зависимости от вашей операционной системы.
4. Используйте командную строку или службу проверки связи терминала
Еще один способ быстро проверить, работает ли ваше интернет-соединение, — запустить командную строку (для Windows) или терминал (для Mac) и проверить связь с сервером.
Это так же просто, как ввести ping
ping dignited.com
Это должно отправить вызов на веб-сайт и прослушать ответ от указанного сервера. Вы должны получить результаты, подобные показанным выше.
Если результаты возвращают ошибку Время ожидания запроса истекло или Сеть недоступна , возможно, вы не в сети. Вы можете связаться со своим интернет-провайдером (ISP) или позвонить в службу технической поддержки, чтобы помочь вам устранить неполадки, которые могут вызывать проблемы с интернетом.
Реклама — продолжить чтение ниже
Похожие статьи
Как программно проверить подключение к Интернету в Android?
Сегодня мы узнаем, как проверить интернет-соединение на Android. Мы также увидим, как проверить, есть ли у подключенной сети доступ к Интернету.
Для этой статьи создайте метод isDeviceOnline() в вашей MainActivity и вызовите его из метода onCreate(). Если пользователь находится в сети, возвращается true; в противном случае ложно. Он также принимает параметр Context.
импортировать android.content.Context импортировать android.net.ConnectivityManager импортировать android.net.NetworkCapabilities импортировать android.net.NetworkInfo импортировать android.os.Build импортировать androidx.appcompat.app.AppCompatActivity импортировать android.os.Bundle импортировать android.util.Log импортировать java.net.URL импортировать javax.net.ssl.HttpsURLConnection импортировать kotlin.concurrent.thread класс MainActivity : AppCompatActivity() { private val tagLog = javaClass.simpleName as String переопределить удовольствие onCreate(savedInstanceState: Bundle?) { super.onCreate(сохраненныйInstanceState) setContentView (R.layout.activity_main) val deviceOnline = isDeviceOnline (this.applicationContext) } частное развлечение isDeviceOnline (контекст: контекст): Boolean { } }
Добавьте следующие разрешения в файл манифеста:
0" encoding="utf-8"?> <манифест> ......
В Android мы можем получить состояние сети с помощью API ConnectivityManager. Мы можем получить его объект из метода getSystemService().
val connManager = context.getSystemService(CONNECTIVITY_SERVICE) as ConnectivityManager
Чтобы проверить, подключено ли устройство к сети, вызовите метод getNetworkCapabilities(). Выглядит это так:
public NetworkCapabilities getNetworkCapabilities (Сеть сети)
Принимает объект Network. Мы можем получить его из метода getActiveNetwork() класса ConnectivityManager. Он доступен с уровня API 23. Итак, проверьте версию SDK. Через мгновение мы рассмотрим устройства ниже API 23.
Код Java для проверки подключения к Интернету…
Включите JavaScript
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { val networkCapabilities = connManager.getNetworkCapabilities(connManager.activeNetwork) } еще { }
Метод возвращает null, когда устройство находится в автономном режиме.
если (networkCapabilities == ноль) { Log.d(tagLog, "Устройство в автономном режиме") вернуть ложь } еще { Log.d(tagLog, "Устройство в сети") вернуть истину }
Для устройств ниже Marshmallow мы должны вызвать метод getActiveNetworkInfo().
public NetworkInfo getActiveNetworkInfo ()
Возвращает объект NetworkInfo. Он предоставляет функции isConnectedOrConnecting() и isAvailable(). Если оба возвращают true, пользователь находится в сети.
val activeNetwork = connManager.activeNetworkInfo если (activeNetwork?.isConnectedOrConnecting == true && activeNetwork.isAvailable) { Log.d(tagLog, "Устройство в сети") вернуть истину } еще { Log.d(tagLog, "Устройство в автономном режиме") вернуть ложь }
Наш окончательный вариант isDeviceOnline() выглядит следующим образом:
private fun isDeviceOnline(context: Context): Boolean { val connManager = context.getSystemService(CONNECTIVITY_SERVICE) как ConnectivityManager если (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { val networkCapabilities = connManager.getNetworkCapabilities(connManager.activeNetwork) если (networkCapabilities == ноль) { Log.d(tagLog, "Устройство в автономном режиме") вернуть ложь } еще { Log.d(tagLog, "Устройство в сети") вернуть истину } } еще { // ниже Зефир val activeNetwork = connManager.activeNetworkInfo если (activeNetwork?.isConnectedOrConnecting == true && activeNetwork.isAvailable) { Log.d(tagLog, "Устройство в сети") вернуть истину } еще { Log.d(tagLog, "Устройство в автономном режиме") вернуть ложь } } }
Как проверить доступность интернета на Android?
В некоторых случаях пользователи подключены к сети, но сеть может не иметь доступа к Интернету. Например:
- Пользователь включил мобильные данные, но у него нет баланса данных.
- Устройство находится в сети роуминга, и роуминг данных отключен.
- Некоторые сети Wi-Fi запрашивают информацию для входа. В этом случае пользователи не могут получить доступ к Интернету, пока не будут предоставлены учетные данные.
Итак, мы должны проверить, есть ли у сети выход в интернет. API NetworkCapabilities предоставляет метод hasCapability().
public boolean hasCapability (целочисленная возможность)
Требуется возможность (целочисленная константа). Чтобы определить, есть ли в сети доступ к Интернету, мы будем использовать следующие 3 константы:
NET_CAPABILITY_INTERNET: показывает, что сеть должна иметь доступ к Интернету.
NET_CAPABILITY_VALIDATED: указывает, что подключение к Интернету было успешно обнаружено.
NET_CAPABILITY_NOT_SUSPENDED: указывает, что сеть может передавать данные.
если (networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) && networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED) && networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_NOT_SUSPENDED) ) { Log.d(tagLog, "Подключен к Интернету") вернуть истину } еще { Log.d(tagLog, "Нет подключения к Интернету") вернуть ложь }
Для устройств ниже Marshmallow (API 23) мы можем использовать API NetworkInfo.State.
активная сеть = connManager.activeNetworkInfo когда (activeNetwork?.state) { NetworkInfo.State.CONNECTED -> { Log.d(tagLog, "ПОДКЛЮЧЕНО") } NetworkInfo.State.CONNECTING -> { Log.d(tagLog, " ПОДКЛЮЧЕНИЕ ") } иначе -> { Log.d(tagLog, "НЕТ СОЕДИНЕНИЯ") } }
Наш метод isDeviceOnline():
private fun isDeviceOnline(context: Context): Boolean { val connManager = context.getSystemService(CONNECTIVITY_SERVICE) как ConnectivityManager если (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { val networkCapabilities = connManager.getNetworkCapabilities(connManager.activeNetwork) если (networkCapabilities == ноль) { Log.d(tagLog, "Устройство в автономном режиме") вернуть ложь } еще { Log.d(tagLog, "Устройство в сети") если (networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) && networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED) && networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_NOT_SUSPENDED) ) { Log.d(tagLog, "Подключен к Интернету") вернуть истину } еще { Log.d(tagLog, "Нет подключения к Интернету") вернуть ложь } } } еще { // ниже Зефир val activeNetwork = connManager.
activeNetworkInfo если (activeNetwork?.isConnectedOrConnecting == true && activeNetwork.isAvailable) { Log.d(tagLog, "Устройство в сети") когда (activeNetwork.state) { NetworkInfo.State.CONNECTED ->
{ Log.d(tagLog, "ПОДКЛЮЧЕНО") вернуть истину } NetworkInfo.State.CONNECTING -> { Log.d(tagLog, " ПОДКЛЮЧЕНИЕ ") вернуть истину } иначе -> { Log.d(tagLog, "НЕТ соединения") вернуть ложь } } } еще { Log.d(tagLog, "Устройство в автономном режиме") вернуть ложь } } }
Но приведенный выше код не работает при некоторых условиях. Вот как я тестировал:
Я вызвал вышеуказанный метод в бесконечном цикле из onCreate():
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(сохраненныйInstanceState) setContentView (R.layout.activity_main) нить { пока (правда) { val deviceOnline = isDeviceOnline (this.applicationContext) Log.d(tagLog, "deviceOnline $deviceOnline") Thread.sleep(1000) } } }
Я включил сотовые данные и точку доступа на своем мобильном телефоне и подключил свой ноутбук к точке доступа. Я запускаю приведенный выше код на виртуальном устройстве. Logcat показывал, что устройство подключено к сети. Пока поток работает, я отключил мобильные данные. Но Logcat все еще отображал онлайн-сообщение.
Приведенный выше код указывает на отсутствие подключения к сети, когда пользователь подключается к сети, в которой нет доступа к Интернету. Если пользователь теряет интернет после подключения к сети, код все равно возвращает true. Кроме того, в Pixel XL API 22, даже если пользователь подключается к сети, в которой нет доступа к Интернету, метод все равно возвращает значение true. Чтобы устранить эти проблемы:
- Удалите условия NetworkInfo.State, поскольку они не работают в API 22
- Отправить запрос HTTPS на сервер
fun isInternetAvailable(): Boolean { значение urlConnection = URL("https://clients3.google.com/generate_204").openConnection() как HttpsURLConnection пытаться { urlConnection.setRequestProperty("User-Agent", "Android") urlConnection.setRequestProperty("Соединение", "закрыть") urlConnection.connectTimeout = 1000 urlConnection.connect() вернуть urlConnection.responseCode == 204 } поймать (е: Исключение) { вернуть ложь } }
Окончательный код, дающий 100% точные результаты:
import android.content.Context импортировать android.net.ConnectivityManager импортировать android.net.NetworkCapabilities импортировать android.net.NetworkInfo импортировать android.os.Build импортировать androidx.appcompat.app.AppCompatActivity импортировать android.os.Bundle импортировать android.util.Log импортировать java.net.URL импортировать javax.net.ssl.HttpsURLConnection импортировать kotlin.concurrent.thread класс MainActivity : AppCompatActivity() { private val tagLog = javaClass.simpleName as String переопределить удовольствие onCreate(savedInstanceState: Bundle?) { super.onCreate(сохраненныйInstanceState) setContentView (R.layout.activity_main) нить { пока (правда) { val deviceOnline = isDeviceOnline (this.applicationContext) val доступный в Интернете = isInternetAvailable() Log.d(tagLog, "deviceOnline $deviceOnline") Log.d(tagLog, "Доступный в Интернете $ИнтернетДоступный") Thread.sleep(1000) } } } частное развлечение isDeviceOnline (контекст: контекст): Boolean { val connManager = context.getSystemService(CONNECTIVITY_SERVICE) как ConnectivityManager если (Build.
VERSION.SDK_INT >= Build.VERSION_CODES.M) { val networkCapabilities = connManager.getNetworkCapabilities(connManager.activeNetwork) если (networkCapabilities == ноль) { Log.d(tagLog, "Устройство в автономном режиме") вернуть ложь } еще { Log.d(tagLog, "Устройство в сети") если (networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) && networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED) && networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_NOT_SUSPENDED) ) { Log.d(tagLog, "Подключен к Интернету") вернуть истину } еще { Log.d(tagLog, "Нет подключения к Интернету") вернуть ложь } } } еще { // ниже Зефир val activeNetwork = connManager.
activeNetworkInfo вернуть activeNetwork?.isConnectedOrConnecting == true && activeNetwork.isAvailable } } fun isInternetAvailable(): Boolean { значение urlConnection = URL("https://clients3.google.com/generate_204").openConnection() как HttpsURLConnection пытаться { urlConnection.setRequestProperty("User-Agent", "Android") urlConnection.setRequestProperty("Соединение", "закрыть") urlConnection.connectTimeout = 1000 urlConnection.connect() вернуть urlConnection.responseCode == 204 } поймать (е: Исключение) { вернуть ложь } } }
Бонус: как проверить, подключено ли устройство к Wi-Fi в Android?
Мы можем проверить, подключено ли устройство к Wi-Fi или сотовой сети, используя метод hasTransport() класса NetworkCapabilities.
public boolean hasTransport (int transportType)
transportType для сотовой сети — TRANSPORT_CELLULAR, а для Wi-Fi — TRANSPORT_WIFI.
Для устройств с Marshmallow и ниже метод getType() возвращает тип сети.
Вот полный код:
import android.content.Context импортировать android.net.ConnectivityManager импортировать android.net.NetworkCapabilities импортировать android.os.Build импортировать androidx.appcompat.app.AppCompatActivity импортировать android.os.Bundle импортировать android.util.Log импортировать kotlin.concurrent.thread класс MainActivity : AppCompatActivity() { private val tagLog = javaClass.simpleName as String переопределить удовольствие onCreate(savedInstanceState: Bundle?) { super.onCreate(сохраненныйInstanceState) setContentView (R.layout.activity_main) нить { пока (правда) { typeOfNetwork (this.applicationContext) Thread.sleep(1000) } } } частная забава typeOfNetwork (контекст: контекст) { val connManager = context.getSystemService(CONNECTIVITY_SERVICE) как ConnectivityManager если (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { val networkCapabilities = connManager.getNetworkCapabilities(connManager.activeNetwork) если (networkCapabilities == ноль) { Log.d(tagLog, "Устройство в автономном режиме") } еще { Log.d(tagLog, "Устройство в сети") если (networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)) { Log.d(tagLog, "Wi-Fi") } иначе если (networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)) { Log.d(tagLog, "Сотовая связь") } еще { Log.d(tagLog, "Неизвестная сеть") } } } еще { // ниже Зефир val activeNetwork = connManager.activeNetworkInfo если (activeNetwork?.isConnectedOrConnecting == true && activeNetwork.isAvailable) { Log.d(tagLog, "Устройство в сети") когда (activeNetwork.
Ваш комментарий будет первым