Материал просмотрен 3,232 раз(а)

Строго говоря, операционные системы на базе Unix (BSD, Linux) намного лучше приспособлены для работы в сети, чем ОС Windows. Более гибкая настройка, широчайшие возможности, много полезных утилит и более близкий (низкий) уровень к железу. Правда и требует хороших, базовых знаний сетей и протоколов.

Одно из незаменимых утилит для администратора является утилита ifconfig – настройка проводных (её сестра iwconfig – для беспроводных) интерфейсов.

Как уже повелось в нашем сообществе, опишу основные возможности утилиты ifconfig:

  • Вывод подробной информации об интерфейсах;
  • Настройка сетевого (3 Layer OSI) и аппаратного (2 Layer OSI) адресов;
  • Установка интерфейса в режим беспорядочного захвата (пригодится при сниффинге);
  • Привязка к одному интерфейсу нескольких сетевых адресов;

Ну чтож, в качестве испытуемой системы я выбрал FreeBSD 8.2 Stable, собранное с ядром GATEWAY (рассматривалось на нашем сайте ранее), но можно с таким же успехом использовать любую Unix-систему.

# ifconfig -a

Выводит всю информацию о сетевых интерфейсах.

Так, что мы видим? По левую сторону – список интерфейсов:

  • em0, em1 – реальные сетевые карты (ну как реальные, в рамках виртуальной машины VMWare);
  • ipfw0, plip0 – псевдоинтерфейсы служб;
  • lo0 – интерфейс обратной петли (loopback, тот самый 127.0.0.1);

Какую же информацию нам предоставляет вышеобозначенный вывод ещё?

  • ether – аппаратный (MAC) адрес сетевой карты;
  • inet – сетевой (IP) адрес сетевого интерфейса;
  • netmask – маска подсети, относится к IP адресу. Нужно побайтово перевести в 10-ичный формат и тогда увидим привычное 255.255.255.0;
  • status – acrive – состояние подключения. Ну ясно без слов, надеюсь.

Что можно сделать утилитой ifconfig.

  1. Выключить / Включить интерфейс:

    # ifconfig em0 down

    Эта команда выключает интерфейс. Проверить его состояние можно выполнив команду:

    # ifconfig em0

    Эта команда подробно выведет информацию только по этому интерфейсу.

    Как мы видим по скриншоту, исчезает метка UP из раздела flags.

    Включить интерфейс просто. Выполнить команду:

    # ifconfig em0 up

  2. Сменить сетевой адрес:

    # ifconfig em0 inet 192.168.200.20

    # ifconfig em0

    Увидим, что сетевой адрес сменился.

  3. Смена MAC-адреса в FreeBSD:

    Тоже ничего сложного!

    # ifconfig em0 ether 00:77:77:77:77:77

  4. Устанавливаем интерфейс в режим беспорядочного захвата.

    # ifconfig em0 promisc

    Этот режим позволяет захватывать все пакеты, а не только те, что предназначены нашему MAC-адресу. Хороший режим для сниффинга. Кстати, утилита tcpdump (о ней позже) сама устанавливает интерфейс в этот режим.

  5. Отключение ответа на arp-запросы.

    Очень полезная опция.

    # ifconfig em0 -arp

    Эта опция заставляет интерфейс не отвечать на ARP-запросы (широковещательные), таким образом установленный узел для прослушивания трафика никак себя не демаскирует. Правда при этом невозможна никакая передача (ответ просто не вернётся), но ведь сниффер-машинам это и не нужно!

Как вы уже заметили, все эти флаги просто добавляются в регистр FLAGS, более подробно о возможностях в справке:

# man ifconfig, там чтива на час-два хватит :). Основные же возможности мы разобрали!

Все изменения, вносимые вот в консоли, как я показал – действуют до перезагрузки. То есть, если вы хотите автоматизировать этот ввод каждый раз – используйте файл /etc/rc.conf, а так же, что хотел добавить ещё. Флаги выставляются просто дописывая название опции. А снимаются – со знаком “-” перед опцией. То есть -arp и arp и т.д.

Удачи!