- List network interfaces on Linux
- Show network interfaces
- Linux
- The old way: ifconfig
- Modern version: using the ip command
- Show the default gateway
- AIX and Solaris
- DragonBSD, FreeBSD, NetBSD
- Frequently Asked Questions
- How can I see the MTU of an interface?
- What command can I use to display the default gateway on Linux?
- How can I test if my network configuration is correct?
- How to check network adapter status in Linux
- Command to check network adapter names in Linux
- Getting IP address and other information
- How to query or control network driver and hardware settings in Linux
- Display the physical status of an Ethernet port in Linux
- See network device driver information
- Is eno1 Ethernet device is up or down?
- A note abou Find Wireless Wifi Driver Chipset Informationt checking Wireless network adapter status in Linux
- Как определить состояние сетвого интерфейса
- [в закладки] Шпаргалка системного администратора по сетевым инструментам Linux
- ▍Примеры
- Traceroute
- ▍Пример
- Telnet
- ▍Пример
- Netstat
- ▍Примеры
- Nmcli
- ▍Примеры
- Маршрутизация
- ▍Примеры
- Tcpdump и Wireshark
- ▍Примеры
- Iptables
- ▍Примеры
- Nslookup
- ▍Примеры
- Поиск неполадок
- ▍Примеры
- Итоги
List network interfaces on Linux
The network configuration is a common place to start during system configuration, security audits, and troubleshooting. It can reveal useful information like MAC and IP addresses. This guide helps you to gather this information on Linux, including listing all available network interfaces and its details.
Table of Contents
Show network interfaces
Linux
Every Linux distribution is using its own way of configuring the network configuration details. Therefore, it is good to know which tools can be used to query these details in a generic way. So these commands should be working on the popular distributions like Arch Linux, CentOS, Debian, Gentoo, RHEL, and Ubuntu.
The old way: ifconfig
Previously the most obvious command to obtain the available network interfaces was using the ifconfig command. As some systems no longer have that command installed by default, we will also look at using alternative ip. If you still have ifconfig available, run it with the -a parameter.
Depending on what particular information you need, you can use grep to get you the right lines. The ifconfig command on Linux actually has the most option available, so have a look at the man page for all details.
Modern version: using the ip command
Newer Linux distributions now ship only the ip command. It is advised to start using this command instead of ifconfig, as its output works better with newer machines. Especially when using containerized applications, dynamic routing, and network aliases.
The easiest way to see what network interfaces are available is by showing the available links.
Linux network interfaces with ip link show command
Another option to show available network interfaces is by using netstat.
Note: the column command is optional, but provides a friendlier output for the eye.
Show the default gateway
The default gateway is the system that receives traffic for networks outside your own. On Linux systems, this gateway is typically received via DHCP or manually configured in a text configuration file.
Using the ip command
The output may look like this:
With netstat
The default gateway can be listed with the netstat command.
The output will be something like this:
The second column shows the gateway. When it lists an asterisk (*), it means it uses the default gateway.
AIX and Solaris
These two old style platforms have of course ifconfig still available. By using the -a parameter, all interfaces will be displayed.
To see only the interfaces which are active, add the -u (up) parameter.
DragonBSD, FreeBSD, NetBSD
On the systems running BSD, it is also the ifconfig tool that can be used.
Frequently Asked Questions
How can I see the MTU of an interface?
Use the ip show link command.
What command can I use to display the default gateway on Linux?
Use the ip route command to show routing information, including the default gateway and the network interface it uses.
How can I test if my network configuration is correct?
Test if you can reach or access both devices on your network as outside of it. This way you know that your IP address and gateway is correctly set up. If you can only access remote systems by IP address, then check your name server configuration, typically stored in /etc/resolv.conf. Another useful tool to test your system, including your network configuration, is by using auditing tool Lynis. It will test for connectivity of the name servers and retrieves the most important parts of the network settings.
Did this article help you? Become part of the community and share it on your favorite website or social media. Do you have additional tips regarding the network configuration on Linux? Share it in the comments!
Keep learning
So you are interested in Linux security? Join the Linux Security Expert training program, a practical and lab-based training ground. For those who want to become (or stay) a Linux security expert.
Run automated security scans and increase your defenses. Lynis is an open source security tool to perform in-depth audits. It helps with system hardening, vulnerability discovery, and compliance.
Источник
How to check network adapter status in Linux
Command to check network adapter names in Linux
Open the Terminal application and type the following command to see all network device names and other info:
sudo lshw -class network -short
Sample outputs:
So wlp1s0 is my Wireless and eno1 is my Ethernet Connection.
Getting IP address and other information
Simply use the ip command as follows:
How to query or control network driver and hardware settings in Linux
For wired Ethernet devices, you need to use a command called ethtool. It provides the following information from the Linux CLI
- Display info about network adapter status
- Find identification and diagnostic information
- Get extended device statistics
- Set or get speed, duplex, autonegotiation and flow control for Ethernet devices
- Control checksum offload and other hardware offload features
- Update or set DMA ring sizes and interrupt moderation
- Control receive queue selection for multiqueue devices
- Upgrade firmware in flash memory
Display the physical status of an Ethernet port in Linux
The syntax is:
sudo ethtool
sudo ethtool [option]
For example, get info about eno1 Ethernet device:
sudo ethtool eno1
Sample outputs:
See network device driver information
Run:
sudo ethtool -i eno1
Is eno1 Ethernet device is up or down?
Run the following cat command:
cat /sys/class/net/eno1/carrier
cat /sys/class/net/eno1/operstate
Another option is use the ip command along with grep command/egrep command:
ip a s eno1 | grep state
OR
sudo ethtool eno1 | grep -i ‘Link det’
OR
nmcli device status
Various command to check your network connections on Linux
A note abou Find Wireless Wifi Driver Chipset Informationt checking Wireless network adapter status in Linux
To find Wireless (Wifi) driver chipset information on Linux, run:
lspci | less
lspci | grep -i intel
lspci | grep -i broadcom
lspci | grep -i wireless
lshw -C network | grep -B 1 -A 12 ‘Wireless interface’
Sample outputs:
Источник
Как определить состояние сетвого интерфейса
Интересует вопрос о том как правильно проверить доступность и состояние одного или нескольких интерфейсов.
А самое интересное это как программно узнавать об изменении состояния сетевого интерфейса.
Объясни что ты понимаешь под доступностью и состоянием сетевых интерфейсов.
man ifconfig, man bash, man cron
Иногда сетевой интерфейс в ifconfig может быть не виден (если имеет неактивное состояние). В этом случае надо воспользоваться командой ip.
Я имел ввиду если в выводе команды ip a будут видны сетевые интерфейсы со STATE DOWN. ,
Иногда сетевой интерфейс в ifconfig может быть не виден
Хотя лучше таки ip, потому как ifconfig не покажет безымянные алисы, мать его.
а в каком пакете этот ваш ip?
$ dpkg -S /sbin/ip
iproute: /sbin/ip
Да, совсем забыл про опцию 🙂
>а в каком пакете этот ваш ip?
grep $interface /proc/net/dev
>Хотя лучше таки ip, потому как ifconfig не покажет безымянные алисы, мать его.
Ну и в том случае, если в файле /etc/udev/rules.d/70-persistent-net.rules окажутся одинаковые алиасы(иногда могут не переименоваться автоматически, при удалении/добавлении сетевой карты).
ethtool или miitool в зависимости от ситуации. Или смотреть на RUNNING, CARRIER и UP флаги в ifconfig.
Если хочется получать событие об изменении состояния то dbus и NetworkManager =)
Источник
[в закладки] Шпаргалка системного администратора по сетевым инструментам Linux
В повседневные задачи системных администраторов входит работа с сетями и с подключённым к ним оборудованием. Нередко роль рабочего места администратора играет компьютер, на котором установлен какой-нибудь дистрибутив Linux. Утилиты и команды Linux, о которых пойдёт речь в материале, перевод которого мы публикуем сегодня, включают в себя список инструментов различной сложности — от простых, до продвинутых, которые предназначены для решения широкого спектра задач по управлению сетями и по диагностике сетевых неполадок.
В некоторых из рассматриваемых здесь примеров вы столкнётесь с сокращением (fully qualified domain name, полное доменное имя). Встретив его, замените его, в зависимости от обстоятельств, на адрес интересующего вас сайта или сервера, например, на нечто вроде server-name.company.com .
Утилита ping , как можно судить по её названию, используется для проверки связи между узлами сети, между компьютером, на котором её запускают, и другой системой. Эта утилита использует протокол ICMP, отправляя эхо-запросы, на которые отвечает удалённая система, получающая их. Использование ping , кроме того — это хороший способ проверки связности сети, проводимой в качестве первого шага диагностики сети при наличии неполадок. Команду ping можно использовать с адресами IPv4 и IPv6. Тут можно почитать подробности об IP-адресах и о работе с ними.
▍Примеры
Ping, кроме того, можно использовать для выяснения IP-адресов сайтов на основе их имён. Вот как это выглядит.
Использование ping для выяснения IP-адреса сайта по его имени
Traceroute
Traceroute — это приятная утилита, которая позволяет исследовать маршруты передачи данных между компьютерами. В то время как команда ping направлена на то, чтобы выяснить, можно ли установить связь между двумя узлами сети, traceroute даёт сведения об IP-адресах маршрутизаторов, через которые проходят данные от вашей системы до конечной, например — до веб-сайта или сервера. Команда traceroute обычно применяется на втором шаге диагностики сети, после команды ping .
▍Пример
Telnet
Утилита telnet позволяет связаться с удалённым компьютером по протоколу Telnet и взаимодействовать с ним, используя соответствующие команды.
▍Пример
Для организации сеанса Telnet-связи с другим компьютером используется следующая команда:
Netstat
Эта команда позволяет собирать сведения о сети и используется в ходе поиска и исправления сетевых неполадок, применяется для проверки данных о работе интерфейсов и портов, для исследования таблиц маршрутизации, для изучения информации о работе протоколов. Эта команда непременно должна присутствовать в арсенале системного администратора.
▍Примеры
Для того чтобы получить список всех портов, находящихся в режиме прослушивания, воспользуйтесь такой командой:
Следующая команда выводит сведения обо всех портах. Для того чтобы ограничиться только TCP-портами, нужно воспользоваться ключом -at , для того, чтобы получить данные об UDP-портах, используйте ключ -au .
Для просмотра таблиц маршрутизации воспользуйтесь такой командой:
Вот как выглядит результат выполнения этой команды.
Сведения о таблице маршрутизации
Вот вариант этой команды, выводящий статистику по протоколам:
Статистика по протоколам
Следующий вариант вызова netstat позволяет узнать сведения об отправленных и полученных пакетах (transmission/receive, TX/RX) по каждому интерфейсу:
Данные об отправленных и полученных пакетах
Nmcli
Утилита nmcli отлично подходит для управления сетевыми соединениями, для выполнения настроек и для решения других подобных задач. С её помощью можно управлять программой NetworkManager и модифицировать сетевые параметры различных устройств.
▍Примеры
Вот как с помощью nmcli вывести список сетевых интерфейсов:
Так можно вывести информацию по конкретному интерфейсу:
Следующий вариант вызова команды позволяет проверить подключение устройства к сети:
Примеры использования nmcli
Эта команда позволяет отключить заданный интерфейс:
А эта позволяет включить интерфейс:
Вот пример команды, которая добавляет VLAN-интерфейс с заданным VLAN-номером, IP-адресом и шлюзом к указанному интерфейсу:
Маршрутизация
Существует множество команд, которые можно использовать для проверки правил маршрутизации и их настройки. Рассмотрим самые полезные из них.
▍Примеры
Следующая команда показывает все текущие маршруты, настроенные для соответствующих интерфейсов:
Маршруты, настроенные для интерфейсов
Эта команда позволяет добавить в таблицу маршрутизации шлюз, используемый по умолчанию:
Следующая команда добавляет в таблицу маршрутизации новый сетевой маршрут. Существует и множество других её параметров, позволяющих выполнять такие операции, как добавление маршрута и шлюза, используемых по умолчанию, и так далее.
С помощью такой команды можно удалить запись о заданном маршруте из таблицы маршрутизации:
Вот примеры использования команды route .
Использование команды route
Вот команда, которая применяется для вывода текущей таблицы соседей. Кроме того, её можно использовать для добавления, изменения или удаления сведений о соседях:
Взглянем на примеры её использования.
Данные, полученные с помощью команды ip neighbor
Вот сведения о команде ip neigh
Сведения о команде ip neigh
Команда arp (ARP — это сокращение от Address Resolution Protocol, протокол определения адреса) похожа на ip neighbor . Утилита arp выводит данные о соответствии IP-адресов MAC -адресам. Вот как её использовать:
Вот пример её вызова.
Вызов команды arp
Tcpdump и Wireshark
Linux даёт в распоряжение администратора множество инструментов для захвата и анализа пакетов. Среди них, например, tcpdump , wireshark , tshark , и другие. Они используются для захвата сетевого трафика в передаваемых системой пакетах или в пакетах, получаемых ей. Это делает их весьма ценным инструментом администратора, помогающим в деле выяснения причин различных сетевых неполадок. Тем, кто предпочитает командную строку всем остальным способам общения с компьютерами, понравится tcpdump . Тем же, кто любит графические интерфейсы, можно порекомендовать wireshark — отличный инструмент для захвата и анализа пакетов. Утилита tcpdump — это встроенное в Linux средство для захвата сетевого трафика. Его можно использовать для захвата и вывода трафика с фильтрацией по портам, протоколам, и по другим признакам.
▍Примеры
Такая команда показывает, в режиме реального времени, пакеты с заданного интерфейса:
Пакеты можно сохранять в файл, воспользовавшись флагом -w и задав имя файла:
Вот пример использования tcpdump .
Использование tcpdump
Следующий вариант команды используется для захвата пакетов, приходящих с заданного IP системы-источника:
Так можно захватить пакеты, идущие на заданный адрес системы-приёмника:
Вот пример использования tcpdump для захвата пакетов для заданного номера порта, например, это может быть порт 53, 80, 8080, и так далее:
Здесь показано, как с помощью tcpdump захватывать пакеты заданного протокола, вроде TCP, UDP или других:
Iptables
Утилита iptables похожа на файрвол, она поддерживает фильтрацию пакетов, что позволяет управлять трафиком, пропуская или блокируя его. Диапазон возможностей этой утилиты огромен. Рассмотрим несколько наиболее распространённых вариантов её использования.
▍Примеры
Следующая команда позволяет вывести все существующие правила iptables :
Эта команда удаляет все существующие правила:
Следующие команды разрешают прохождение трафика с заданного номера порта к заданному интерфейсу:
Следующие команды разрешают loopback-доступ к системе:
Nslookup
Инструмент nslookup используется для получения сведений о назначении IP-адресов сетевым ресурсам. Его можно использовать и для получения сведений с DNS-серверов, например таких, как все DNS-записи для некоего веб-сайта (ниже мы рассмотрим соответствующий пример). На nslookup похожа утилита dig (Domain Information Groper).
▍Примеры
Следующая команда выводит IP-адреса вашего DNS-сервера в поле Server, и, ниже, выдаёт IP-адрес искомого сайта:
Такая команда показывает все доступные записи для заданного веб-сайта или домена:
Поиск неполадок
Вот набор команд и список важных файлов, используемых для идентификации сетевых неполадок.
▍Примеры
Итоги
В этой небольшой шпаргалке мы рассказали о сетевых инструментах Linux, предназначенных для системных администраторов. Надеемся, вам эти инструменты пригодятся.
Уважаемые читатели! Чем вы пользуетесь для администрирования сетей и для выяснения причин сетевых неполадок?
Источник