Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №4 (FAQ).doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
406.02 Кб
Скачать

6.2.2.2. Изменение настроек канального уровня

6.2.2.2.1. Изменение mac-адреса:

$ ifconfig rl0

rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500

options=8<VLAN_MTU>

inet6 fe80::250:22ff:feb0:7f39%rl0 prefixlen 64 scopeid 0x1

inet 192.168.25.158 netmask 0xffffff00 broadcast 192.168.25.255

ether 00:50:22:b0:7f:39

media: Ethernet 100baseTX <full-duplex>

status: active

# ifconfig rl0 lladdr 40:50:22:b0:7f:39

$ ifconfig rl0

rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500

options=8<VLAN_MTU>

inet6 fe80::250:22ff:feb0:7f39%rl0 prefixlen 64 scopeid 0x1

inet 192.168.25.158 netmask 0xffffff00 broadcast 192.168.25.255

ether 40:50:22:b0:7f:39

media: Ethernet 100baseTX <full-duplex>

status: active

Здесь для смены аппатарного адреса применяется ключевое слово lladdr, объясняющее, что речь идёт об адресе канального уровня (link-layer address = lladdr), т.е. о MAC-адресе. Этот аргумент работает в FreeBSD и в OpenBSD. В FreeBSD действуют так же синонимы link и ether — смысл тот же. В NetBSD ifconfig(8) не умеет сменить MAC-адрес (!?).

При смене MAC-адреса интерфейс временно отключается, а затем поднимается заново. Неисключено, что в некоторых реализациях ifconfig(8), эти действия надо проделать вручную.

Важно

Важно, чтобы в одной сети не было машин с одинаковыми MAC-адресами. Консорциум IEEE выделяет производителям оборудования диапазоны MAC-адресов, так называемые OUI — это первые три байта MAC-адреса. Остальные три байта назначает сам производитель. На сайте IEEE можно узнать какой OUI выделен какому производителю: http://standards.ieee.org/regauth/oui/index.shtml. Таким образом, вы можете по первым трём байтам MAC-адреса узнать производителя устройства.

Из этого есть два следствия: 1) вы не должны менять MAC-адрес без нужды, 2) если вы меняете MAC-адрес, вы должны выставить в единицу второй бит, что означает, что MAC-адрес изменён локально. Таким образом, первый из шести байт MAC-адреса, если вы производите изменения, должен быть в диапазонах от 64 до 127 (в шестнадцатеричной записи от 40 до 7F) или от 192 до 255 (в шестнадцатеричной записи от С0 до FF).

Возможно неглупой идеей является не устанавливать первый бит в единицу (то есть пользоваться только первым из указанных диапазонов), с тем, чтобы ни у одного устройства не возникало позыва истолковать данный адрес как широковещательный.

Сходив по указанной ссылке мы можем узнать, что для адресов начинающихся с 00:50:22 производителем является:

00-50-22 (hex) ZONET TECHNOLOGY, INC.

005022 (base 16) ZONET TECHNOLOGY, INC.

830 ROOM, BLDG. 53, 195, SEC.4

CHUNG HSIUNG RD, CHUTUNG

HSINCHA

TAIWAN, REPUBLIC OF CHINA

6.2.2.2.2. Смена флагов канального уровня

Выше был приведён перечень флагов канального уровня, характеризующих работу сетевого интерфейса. Некоторые из этих флагов можно переключать используя команду ifconfig(8).

up/down

Поднять/опустить интерфейс. Переключается флаг UP

promisc/-promisc

Включить/выключить «неразборчивый» (promiscuous) режим работы интерфейса. Переключается флаг PROMISC. Опция есть в FreeBSD, но отсутствует в OpenBSD и NetBSD.

monitor/-monitor

Интерфейс переводится/выводится в/из режим[а] мониторинга. В режиме мониторинга пакеты не передаются, а все полученные пакеты уничтожаются после обработки bpf(4). Переключается флаг MONITOR. Опция есть во FreeBSD, отсутствует в NetBSD и OpenBSD.

link[0-2]/-link[0-2]

Переключаются флаги LINK0, LINK1 и LINK2. При помощи них можно включить сжатие в интерфейсе SLIP или переключить тип коннектора на некоторых Ethernet картах.

arp/-arp

Включение/выключение поддержки протокола ARP на интерфейсе. По умолчанию ARP включён. Переключает флаг NOARP.

staticarp/-staticarp

Переключает флаг STATICARP. При включённом флаге интерфейс использует только статическую таблицу ARP. Присутствует в FreeBSD, отсутствует в OpenBSD и NetBSD.

debug/-debug

Включение/выключение отладочного режима в драйвере устройства. Обычно приводит к дополнтельным сообщениям в syslog(3). Переключает флаг DEBUG.

Пример:

$ ifconfig rl0

rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500

options=8<VLAN_MTU>

inet6 fe80::250:22ff:feb0:7f39%rl0 prefixlen 64 scopeid 0x1

inet 192.168.25.158 netmask 0xffffff00 broadcast 192.168.25.255

ether 00:50:22:b0:7f:39

media: Ethernet autoselect (100baseTX <full-duplex>)

status: active

# ifconfig rl0 -arp

$ ifconfig rl0

rl0: flags=88c3<UP,BROADCAST,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1500

options=8<VLAN_MTU>

inet6 fe80::250:22ff:feb0:7f39%rl0 prefixlen 64 scopeid 0x1

inet 192.168.25.158 netmask 0xffffff00 broadcast 192.168.25.255

ether 00:50:22:b0:7f:39

media: Ethernet autoselect (100baseTX <full-duplex>)

status: active