Linux, как проверить скорость сетевого интерфейса
Обновлено: 21.11.2024
Основной интерфейс сервера будет настроен как часть действия по сборке сервера, но иногда вам может потребоваться настроить дополнительный сетевой интерфейс в Linux по нескольким причинам.
Дополнительный интерфейс будет настроен для объединения/объединения сети, высокой доступности или отдельного интерфейса, который используется для требований приложений или резервного копирования.
Перед добавлением нового интерфейса проверьте, есть ли в системе свободные интерфейсы. Если да, проверьте другие сведения о конфигурации, совместимые с существующими интерфейсами.
В этом руководстве мы покажем вам, как проверить доступную сетевую карту (NIC) и другие данные, такие как имя интерфейса, соответствующий IP-адрес, MAC-адрес и скорость интерфейса.
Что такое IP-команда?
Команда IP аналогична команде ifconfig, которая используется для назначения статического IP-адреса, маршрута и шлюза по умолчанию и т. д.
Что такое команда ethtool?
Команда ethtool используется для запроса или управления настройками сетевого драйвера и оборудования.
1) Проверка доступных сетевых интерфейсов
Когда вы запускаете команду IP без каких-либо аргументов, она дает вам много информации о сетевой карте, но используйте следующую настроенную команду IP, чтобы проверить только сетевые интерфейсы, доступные в системе:
2) Проверка IP-адреса сетевого интерфейса
Выполните приведенную ниже команду, чтобы проверить активный сетевой интерфейс и связанный с ним IP-адрес:
3) Проверьте MAC-адрес сетевой карты
Выполните приведенные ниже команды, чтобы проверить активный сетевой интерфейс и связанный с ним MAC-адрес.
Чтобы проверить MAC-адрес конкретного сетевого интерфейса, выполните следующую команду:
Я не нашел вариантов проверки MAC-адресов всех сетевых интерфейсов сразу, поэтому мы создали следующий скрипт, чтобы увидеть их все:
Запустите следующий сценарий оболочки, чтобы проверить MAC-адреса нескольких сетевых интерфейсов:
4) Проверьте скорость порта сетевого интерфейса
Скорость порта сетевого интерфейса можно проверить только в Linux с помощью команды ethtool.
Чтобы проверить скорость определенного порта сетевого интерфейса, используйте следующую команду:
ethtool не может отображать все скорости сетевых карт одновременно, поэтому мы создали следующий скрипт для просмотра всех скоростей:
Запустите следующий сценарий оболочки, чтобы проверить скорость порта NIC всех сетевых интерфейсов:
5) Сценарий оболочки для проверки информации о карте сетевого интерфейса
Следующий сценарий оболочки сразу собирает всю необходимую информацию о сетевой карте, такую как имена сетевых интерфейсов, IP-адреса сетевых интерфейсов, MAC-адреса сетевых интерфейсов и скорость порта сетевого интерфейса:
Запустите приведенный ниже сценарий оболочки, чтобы проверить всю необходимую информацию о сетевом интерфейсе:
Заключительные примечания
В этом руководстве мы показали несколько примеров для проверки информации о сетевом интерфейсе, такой как доступный интерфейс, активный интерфейс, IP- и MAC-адрес сетевой карты, а также скорость порта сетевого интерфейса в Linux.
Я только что установил новую гигабитную сетевую карту (NIC) в Linux. Как узнать, действительно ли он настроен на гигабитную скорость? Я вижу, что в ethtool есть возможность установить скорость, но я не могу понять, как сообщить о текущей скорости.
8 ответов 8
Просто используйте команду, например: ethtool eth0, чтобы получить необходимую информацию. Пример:
$ sudo ethtool eth0 | grep Скорость
Если вы хотите получить полный список всех ваших интерфейсов с их скоростью, вы можете использовать эту команду: for i in $(netstat -i | cut -f1 -d" " | tail -n+3) ; do echo "$i: $(ethtool "$i" | grep Speed | sed 's/Speed://g')" ; готово
Это дает вам только согласованную скорость вашей текущей конфигурации сети (поэтому ваш порт Ethernet должен быть подключен). Указанная скорость также зависит от кабеля и другого конца соединения. Это НЕ дает максимальную поддерживаемую скорость сетевой карты на вашем ПК. Для этого вам нужно посмотреть Поддерживаемые режимы ссылок, также показанные в ethtool. 1000baseT означает гигабитный Ethernet и т. д.
Возможно использование информации из ядра при отсутствии ethtool:
Пример для интерфейса с именем eth0:
@Christian Да, спасибо, но только на некоторых из моих интерфейсов, которые я читал, ожидается, так что у меня все хорошо
Что это значит, если cat /sys/class/net/eth1/speed показывает 10000, а "ip a" показывает только 1000. Кто-нибудь может пояснить?
ПРИМЕЧАНИЕ: на справочной странице mii-tool есть заявление об отказе от ответственности:
Используйте mii-tool для просмотра согласованной скорости сети.
Для систем на базе Debian ethtool не устанавливается по умолчанию. Но mii-tool является частью основного пакета «net-tools». Так что это было лучшим решением для меня.
Я вижу это на странице руководства для mii-tool "Эта программа устарела.Допустимыми носителями являются только сетевые карты 100baseT4, 100baseTx-FD, 100baseTx-HD, 10baseT-FD и 10baseT-HD. Для замены проверьте ethtool." :|
В то время как mii-tool сообщает «согласовано управление потоком 100baseTx-FD, связь в порядке», ethtool и cat /sys/class/net/eth…/speed соглашаются на «1000 Мбит/с, полный дуплекс». Это для контроллера USB 3.0, а именно ASIX AX88179 (драйвер 'ax88179_178a' для Linux).
Здесь есть несколько отличных ответов, я просто хотел добавить еще несколько вариантов.
<р>1. Я знаю, что это не совсем то, о чем вы просили (читайте о других способах). Но если вы хотите узнать реальную производительность вашей сетевой карты, а не то, что ваш компьютер говорит, что она должна быть, вы можете использовать iperf. Я обычно так делаю - потому что никогда не знаешь. Недавно я купил сетевую карту с пропускной способностью 1 Гбит/с, которая передавала данные только со скоростью 672 Мбит/с, но восходящий канал был 1 Гбит. Хорошо, что я проверил.Вам потребуется два компьютера.
На первом компьютере запустите iperf в режиме сервера:
С другой стороны, запустите iperf в режиме клиента:
Если вы хотите увидеть скорость полного дуплекса, попробуйте следующее:
Замените 192.168.0.10 на IP-адрес сервера
<р>2. В системах Ubuntu файл /var/log/kern.log имеет ограниченное ведение журнала событий ядра. Он будет записывать скорость соединения и состояние сетевой карты при ее изменении. Я уверен, что другие дистрибутивы, вероятно, делают что-то подобное или могут быть настроены для этого. <р>3. Вам, вероятно, никогда не придется заходить так далеко, но вы можете написать код на C, чтобы получить скорость. Проверено работает, рут не требуется.Под скоростью соединения в базовой сети понимается максимальная скорость, с которой устройство может взаимодействовать с беспроводным маршрутизатором. Скорость соединения выражается в битах в секунду и может различаться в зависимости от устройства и точки беспроводного доступа.
В большинстве случаев вы найдете такие скорости, как 144,4 Мбит/с, 300 Мбит/с, 100 Мбит/с для быстрых сетей Ethernet или 1000 Мбит/с для таких устройств, как Gigabit Ethernet.
Я не буду углубляться в то, как различные уровни TCP/IP обрабатывают скорости. Вместо этого мы сосредоточимся на том, как проверить скорость соединения в Ubuntu.
Способ 1: Использование команды IP
Самый первый способ получить скорость соединения вашего интерфейса – использовать команду IP.
Мы все знакомы с командой IP в Linux; это часть пакета net-tools. Это позволяет нам настраивать сетевые интерфейсы в системе Linux, в том числе включать и выключать интерфейсы, устанавливать IP-адреса, сетевые маски, маршруты и многое другое. Таким образом, это мощный инструмент для сетевых администраторов.
Чтобы получить скорость соединения вашего интерфейса, используйте команду ip, а затем grep as:
В приведенной выше команде мы ищем qlen, который показывает длину очереди передачи сетевого интерфейса в пакетах.
Вот пример:
Выше показаны интерфейсы, loopback и eth0, который является адаптером Ethernet.
Способ 2. Спросите ядро
Как вы догадались, в этом методе мы будем смотреть скорость интерфейса прямо из ядра. Информация о сетевом интерфейсе хранится в файле /sys/classes/net/[interface_name]/speed.
Все, что нам нужно сделать, это запросить файл, используя кошку как:
Вывод выглядит следующим образом:
Способ 3. Сетевой менеджер
Самый простой и распространенный способ – просмотреть сетевой интерфейс в графическом интерфейсе сетевого менеджера.
В Ubuntu, чтобы получить скорость соединения интерфейса Ethernet. Нажмите на действие «Сетевое подключение» на верхней панели и выберите «Настройки проводной сети».
Вы должны перейти в окно управления сетью, в котором отображается скорость соединения, как показано ниже:
Способ 4: Mii-Tool/Ethtool
Следующий метод несколько необычен, но работает для систем с установленным инструментом. В этом случае можно использовать mii-tool или ethtool. Оба они позволяют пользователям запрашивать информацию об устройстве.
Однако для работы может потребоваться наличие root-прав или пользователя с правами sudo.
ПРИМЕЧАНИЕ. Если вы работаете на компьютере с Linux, на котором не установлены инструменты, используйте описанный выше метод, так как он работает в большинстве систем.
Чтобы получить скорость соединения сетевого интерфейса с помощью ethtool, используйте команду:
Команда ниже показывает скорость соединения для интерфейса eth0, как показано:
Чтобы узнать больше о том, как использовать ethtool, ознакомьтесь с руководством в 8-м разделе или воспользуйтесь ссылкой ниже:
Заключение
В этом руководстве мы обсудили различные методы и приемы, позволяющие получить скорость соединения сетевых интерфейсов в Ubuntu.
Спасибо, что прочитали.
Об авторе
Джон Отиено
Меня зовут Джон, и я такой же гик, как и вы. Я увлечен всеми вещами компьютеров от аппаратного обеспечения, операционных систем до программирования. Моя мечта — поделиться своими знаниями с миром и помочь другим гикам. Следите за моим контентом, подписавшись на список рассылки LinuxHint
С ростом числа людей, которые остаются дома и проводят больше времени в Интернете, интернет-провайдеры столкнулись с более высокой нагрузкой трафика. Если вы заметили, что скорость вашей сети временами падала, причиной тому была глобальная перегрузка.
- Скорость
- Быстро
- Измеритель полосы пропускания цвета (CBM)
- iPerf
- загрузить
- Tcptrack
- Ифтоп
- Получить
- youtube-dl
Следуйте инструкциям в этой статье, чтобы узнать, как проверить скорость сетевого подключения в Linux с помощью терминала. Шаги работают как в обычном, так и в автономном режиме.
- Машина под управлением Linux
- разрешения sudo/root
- Доступ к терминалу/окну командной строки
Проверка скорости сети в Linux с помощью командной строки
Инструменты в этом руководстве помогут вам проверить скорость Интернета и локальной сети на компьютере с Linux. В статье для инструкций используется Ubuntu 20.04, но утилиты работают для любого дистрибутива Linux.
Примечание. Для установки приложений используйте соответствующий диспетчер пакетов для вашего дистрибутива Linux, например yum для RHEL/CentOS.
Использование speedtest-cli для проверки скорости Интернета
В Ubuntu введите:
При желании используйте pip для установки speedtest-cli в Python:
Чтобы запустить тест, введите:
Стандартный вывод speedtest-cli показывает все шаги, включая выбор сервера. Чтобы отобразить более короткий вывод, введите:
Тест прост в использовании и предлагает несколько вариантов. Чтобы просмотреть их все, передайте флаг -h, чтобы отобразить файл справки speedtest-cli.
Использование fast-cli для проверки скорости Интернета
Fast-cli прост в использовании, но вам нужен менеджер пакетов узла (NPM) на вашем компьютере. Пакет поставляется с Nodejs.
Например, чтобы установить Node.js версии 15, введите следующие команды:
Затем запустите команду установки:
При необходимости запустите команду npm init, а затем установите Fast:
Чтобы проверить скорость загрузки, введите:
Чтобы показать скорость загрузки и загрузки, добавьте параметр -u:
Этот тест скорости интернета предназначен для предоставления только информации о скорости вашего соединения, без каких-либо наворотов.
Примечание. Поскольку NPM является обязательным требованием, установка fast-cli может вызвать затруднения. Если вам нужна дополнительная помощь по установке NPM, см. наши руководства Как установить Node.Js и NPM в CentOS или Как установить Node.Js и NPM в Ubuntu.
Использование CMB для отображения скорости сети
Измеритель полосы пропускания цвета (CMB) – это инструмент Linux, который отображает активность на всех сетевых интерфейсах. После установки запустите инструмент, чтобы увидеть скорость сети в столбцах с цветовой кодировкой.
Чтобы установить CBM, выполните следующую команду:
Когда процесс завершится, запустите инструмент:
В выходных данных отображаются скорость передачи, приема и общая скорость. Используйте стрелки для переключения между интерфейсами.
Использование iperf для измерения скорости сети между двумя устройствами
Инструмент iPerf предоставляет множество возможностей для проверки скорости соединения между сервером и клиентом. Следовательно, для выполнения теста вам необходимо установить утилиту на обе машины:
Убедитесь, что клиент может подключиться к серверу. Для быстрого подтверждения запустите ping-тест.
Если порт 5001 открыт, соединение работает. Итак, на сервере введите:
Устройство начинает прослушивание запроса на подключение.
На другом компьютере введите:
Вывод показывает информацию о передаче и пропускной способности:
Использование nload для просмотра входящего и исходящего сетевого трафика
Nload — это инструмент, который отслеживает входящие и исходящие действия на указанном вами сетевом интерфейсе. Приложение разделяет трафик на две части для более удобного анализа данных.
Чтобы установить инструмент, введите:
Для запуска приложения укажите сетевой интерфейс:
Если на выбранном интерфейсе есть активность, nload отображает сведения о скорости сети.
Использование tcptrack для проверки сетевой активности
TCPtrack показывает статус подключения для сетевого интерфейса. Когда сеть вашего компьютера активна, запустите этот инструмент, чтобы просмотреть и контролировать скорость и использование полосы пропускания.
Чтобы установить tcptrack в Linux Ubuntu, введите:
Чтобы просмотреть сетевую активность с помощью TCPtrack, укажите сетевой интерфейс. Чтобы найти имя устройства, используйте инструмент ifconfig.
В нашем случае это enp0s3
Терминал отображает сетевую активность на выбранном интерфейсе. Общая скорость сети указана внизу терминала:
Примечание. Убедитесь, что вы запускаете tcptrack с помощью sudo. В противном случае появляется эта ошибка: pcap_open_live: enp0s3: У вас нет разрешения на захват на этом устройстве (сокет: операция не разрешена)
TCPtrack настраивается и предлагает варианты, например, для сужения теста до определенных портов.
Для этого укажите параметр port и номер порта:
Если на порте нет активности, вывод будет пустым.
Использование iftop для проверки скорости сетевого интерфейса
Iftop позволяет просматривать скорость сети для определенного интерфейса. Инструмент показывает результат, аналогичный тому, что предоставляет tcptrack.
Чтобы установить iftop, выполните следующую команду:
Для запуска утилиты используйте флаг -i и укажите свой сетевой интерфейс.
В нашем случае:
Вывод показывает активность устройства. В нижней части экрана представлена сводка по трафику.
Если вы не укажете сетевой интерфейс, iftop выберет первый доступный. Убедитесь, что вы запускаете команду с помощью sudo, чтобы избежать ошибок.
Использование wget для проверки скорости загрузки
Wget – это инструмент командной строки для загрузки контента с веб-серверов. Поскольку инструмент не загружает файлы, вы можете только проверить скорость загрузки.
Если на вашем компьютере с Ubuntu нет wget, введите эту команду, чтобы установить его:
Теперь выберите надежный сервер для загрузки файла и проверьте скорость вашего интернета. Например, используйте тестовый файл phoenixNAP объемом 1 ГБ из списка.
В этом примере используется сервер, расположенный в Фениксе:
Использование youtube-dl для проверки скорости Интернета
Необычным способом проверить скорость загрузки является использование утилиты youtube-dl CLI. Инструмент позволяет загружать видео с YouTube и просматривать скорость загрузки.
Чтобы установить youtube-dl, введите:
Приложение занимает около 268 МБ.Во время установки выберите видео, которое хотите загрузить, и сохраните URL-адрес.
По завершении процесса используйте эту команду, но замените URL-адрес на тот, который вы выбрали:
Терминал показывает ход загрузки, размер файла, скорость загрузки и ожидаемое время прибытия.
Приведенная выше команда не сохраняет файл в какой-либо файловой системе, поэтому используется часть /dev/null.
В этом примере использовалось короткое демонстрационное видео phoenixNAP BMC размером около 19 МБ. Выберите более длинное видео, чтобы получить более точные результаты.
В статье показано девять способов проверки скорости сети в Linux с помощью интерфейса командной строки. Выберите инструмент в зависимости от того, хотите ли вы проверить скорость локальной сети, скорость Интернета и т. д.
Эти инструменты работают со всеми дистрибутивами Linux, поэтому убедитесь, что вы используете правильный менеджер пакетов.
Читайте также: