Строго говоря, операционные системы на базе 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.
- Выключить / Включить интерфейс:
# ifconfig em0 down
Эта команда выключает интерфейс. Проверить его состояние можно выполнив команду:
# ifconfig em0
Эта команда подробно выведет информацию только по этому интерфейсу.
Как мы видим по скриншоту, исчезает метка UP из раздела flags.
Включить интерфейс просто. Выполнить команду:
# ifconfig em0 up
- Сменить сетевой адрес:
# ifconfig em0 inet 192.168.200.20
# ifconfig em0
Увидим, что сетевой адрес сменился.
- Смена MAC-адреса в FreeBSD:
Тоже ничего сложного!
# ifconfig em0 ether 00:77:77:77:77:77
- Устанавливаем интерфейс в режим беспорядочного захвата.
# ifconfig em0 promisc
Этот режим позволяет захватывать все пакеты, а не только те, что предназначены нашему MAC-адресу. Хороший режим для сниффинга. Кстати, утилита tcpdump (о ней позже) сама устанавливает интерфейс в этот режим.
- Отключение ответа на arp-запросы.
Очень полезная опция.
# ifconfig em0 -arp
Эта опция заставляет интерфейс не отвечать на ARP-запросы (широковещательные), таким образом установленный узел для прослушивания трафика никак себя не демаскирует. Правда при этом невозможна никакая передача (ответ просто не вернётся), но ведь сниффер-машинам это и не нужно!
Как вы уже заметили, все эти флаги просто добавляются в регистр FLAGS, более подробно о возможностях в справке:
# man ifconfig
, там чтива на час-два хватит :). Основные же возможности мы разобрали!
Все изменения, вносимые вот в консоли, как я показал – действуют до перезагрузки. То есть, если вы хотите автоматизировать этот ввод каждый раз – используйте файл /etc/rc.conf, а так же, что хотел добавить ещё. Флаги выставляются просто дописывая название опции. А снимаются – со знаком “-” перед опцией. То есть -arp и arp и т.д.
Удачи!
Comments: