Заметка Команда ifconfig на примерах Linux.

Темы, которые НЕ подходят по объему под префикс "Статья"
Написание этого небольшого обзора команды ifconfig меня сподвигло споры вокруг этой команды:
Проблема с кали линукс. Не работает команда ifconfig.
Почему в Kali не команды ifconfig?

Что такое команда ifconfig?
Команда ifconfig очень давно используется для настройки сети в операционных системах Linux. С её помощью вы можете включать или отключать сетевые интерфейсы, настраивать их параметры, переключать режимы и многое другое. Затем была разработана IP - утилита, которая содержит больше функций и имеет совершенно другой синтаксис.

Но многие пользователи привыкли использовать ifconfig, тем более что её синтаксис проще.

В некоторых дистрибутивах выдает - ifconfig command not found.

С появлением утилиты ip ifconfig была удален из многих дистрибутивов. Но по большей части она по-прежнему устанавливается по умолчанию. Если команда ifconfig не найдена, вы можете вернуть ее, установив.

Установка ifconfig в Kali,Debian,Ubutnu выполняется с помощью команды:

sudo apt install net-tools

В Arch Linux:
sudo pacman -S net-tools

Синтаксис ifconfig.

Синтаксис ifconfig очень прост при вызове без параметров, он возвращает список сетевых интерфейсов, подключенных к системе, и их характеристики, такие как IP-адрес, адрес шлюза, размер пакета, частоту для беспроводных сетей и другие параметры. Если вы укажете интерфейс и необходимые команды, вы можете изменить различные настройки интерфейса.

Вот сам синтаксис:

$ ifconfig опции параметры команды интерфейс адрес
Интерфейс - это сетевой интерфейс, информацию о котором вы хотите просмотреть или изменить его параметры. Все это можно сделать с помощью команд.

Посмотрим на основные из них:

up - включить интерфейс;
down - выключить интерфейс;
(-) arp - включить или отключить использование протокола ARP для интерфейса;
(-) promisc - включить или выключить неразборчивый режим для интерфейса;
(-) allmulti - включить или отключить режим многоадресной рассылки;
metric - изменить параметр метрики;
mtu - изменить максимальный размер пакета;
netmask - установить маску сети;
add - добавить ip-адрес интерфейса;
del - удалить ip-адрес интерфейса;
media - установить тип внешнего протокола;
[-] broadcast - установить широковещательный адрес или отключить эту функцию;
hw - установить MAC-адрес интерфейса;
txqueuelen - размер очереди интерфейса;

Параметры и адрес не являются обязательными и зависят от используемой команды. И параметры влияют на поведение утилиты более глобально. Вариантов всего несколько, рассмотрите их:

-a - применить команду ко всем интерфейсам, например, полезно, если вы хотите отключить или включить все сетевые интерфейсы;
-s - отобразить краткий список интерфейсов.

Обратите внимание, что для использования утилиты вам потребуются права root. Рассмотрим несколько примеров.

Пример ifconfig.

Во-первых, давайте рассмотрим список интерфейсов, которые подключены к вашей системе и в настоящее время активированы. Для этого просто запустите команду без параметров:

sudo ifconfig

word-image-140.png


Вы можете отображать только информацию о конкретном интерфейсе, например, об eth0:
sudo ifconfig eth0

Чтобы просмотреть список интерфейсов с минимальной информацией о них, используйте параметр -s:
sudo ifconfig -s

ifconfig_command -s.jpg


С параметром -a вы можете отобразить все интерфейсы, даже те, которые в данный момент отключены:
ifconfig -a

Чтобы включить интерфейс, используйте команду ifconfig eth0 up:
sudo ifconfig eth0 up

Для отключения - down:
sudo ifconfig eth0 down

Вы можете получить более подробную информацию об ошибке с параметром -v:
sudo ifconfig -v

Включите поддержку протокола ARP для интерфейса:
sudo ifconfig eth0 arp

Отключить поддержку ARP:
sudo ifconfig eth0 -arp

Включить неразборчивый режим, в котором интерфейс принимает все пакеты, проходящие через него:
sudo ifconfig eth0 promisc

И отключить:
sudo ifconfig eth0 -promisc

С помощью команды netmask вы можете установить сетевую маску для интерфейса:
sudo ifconfig eth0 сетевая маска 255.255.255.0

Чтобы добавить IP-адрес для интерфейса, просто используйте его после интерфейса:
sudo ifconfig eth0 192.168.1.11

Команда широковещания позволяет установить широковещательный адрес:
sudo ifconfig eth0 broadcast 192.168.1.255

С помощью команды hw вы можете установить аппаратный адрес или так называемый MAC-адрес. Здесь помимо самого адреса нужно указать тип сети. Например:

sudo ifconfig eth0 hw ether BC: AE: C5: BE: 8B: B7

С помощью mtu вы можете изменить максимальный размер пакета:
sudo ifconfig eth0 mtu 1000

Всё, это были главные примеры. В отличие от ip, команда ifconfig не содержит всех необходимых возможностей для полной настройки сети, и поэтому вам все равно придется использовать такие утилиты, как route или arp.
Фактически настройка сети ifconfig будет производиться несколькими командами. Допустим, мы настроим интерфейс eth0:

sudo ifconfig eth0 up
sudo ifconfig eth0 add 192.168.1.10
sudo ifconfig eth0 netmask 255.255.255.0
sudo ifconfig eth0 broadcast 192.168.1.255
sudo route add default gw 192.168.1.1


Здесь мы используем IP-адрес компьютера 192.168.1.10, маску сети 255.255.255.0 и шлюз для доступа к сети 192.168.1.1. После этих настроек осталось указать DNS сервер и интернет должен работать.

Заключение.
Мы рассмотрели, как работает команда ifconfig и что с ее помощью можно настроить. Я рекомендую использовать утилиту ip, так как она новее и используется по умолчанию в большинстве дистрибутивов.
 
  • Нравится
Реакции: Polyglot, mcfly и nks1ck
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!