Определение MAC-адреса клиента

Определение MAC-адреса клиента

MAC-адрес используется для организации сетевого взаимодействия на самом низком уровне. При использовании сетевых карт Ethernet MAC-адрес состоит из шести байтов, значения которых обычно представляются шестнадцатеричными числами и разделяются двоеточиями, например 00:80:C8:FA:3B:0A. Каждый пакет, передаваемый устройством Ethernet по сети, содержит MAC-адрес этого устройства, поэтому программа dhcpd имеет в своем распоряжении данные, идентифицирующие сетевую карту, а следовательно, и компьютер, в состав которого она входит. (Многие операционные системы содержат средства, позволяющие переопределять MAC-адреса, поэтому MAC-адрес не всегда однозначно идентифицирует устройство, однако в подавляющем большинстве случаев такой способ вполне применим.) В зависимости от типа сетевого оборудования, форматы MAC-адреса могут отличаться от формата, используемого Ethernet, но принцип применения таких адресов остается неизменным.

На заметку

Первые три байта MAC-адреса Ethernet содержат код производителя сетевой карты; остальные три байта устанавливает предприятие, выпускающее Ethernet-карты. Информацию о кодах производителей можно найти по адресу http://www.coffer.com/mac_find/ или http://www.cavebear.com/CaveBear/Ethernet/vendor.html. Для настройки DHCP эти сведения не требуются, но вы можете воспользоваться ими, выясняя расположение компьютеров по широковещательным запросам клиентов DHCP. Заметьте, что производитель Ethernet-карты и производитель компьютера — это, как правило, разные компании.

Для того чтобы программа dhcpd могла использовать MAC-адрес при назначении клиенту IP-адреса, надо в первую очередь выяснить MAC-адрес. В зависимости от используемых аппаратных средств и типа операционной системы, под управлением которой работает клиентский компьютер, это можно сделать различными способами. Некоторые производители снабжают свои сетевые платы наклейками с MAC-адресами. Даже если такая наклейка имеется на вашей плате, не всегда имеет смысл открывать компьютер только для того, чтобы узнать MAC-адрес Ethernet-карты. Существуют программные средства, позволяющие получить эту информацию.

Определение MAC-адреса с клиентской машины

При работе с Linux и другими подобными UNIX системами MAC-адрес можно определить с помощью команды ifconfig. Задайте команду ifconfig eth0 (или укажите при вызове ifconfig другое имя), и утилита ifconfig выведет информацию об указанном сетевом интерфейсе. Отображаемые данные будут выглядеть приблизительно следующим образом:

eth0 Link encap:Ethernet HWaddr 00:80:C6:F9:3B:BA

MAC-адрес следует за ключевым словом HWaddr; в данном случае это значение 00:80:C6:F9:3B:BA. Нужная информация будет получена только в том случае, если драйвер Ethernet загружен и интерфейс активен. При этом не имеет значения, связан ли интерфейс со стеком протоколов TCP/IP.

Используя Windows 2000, вы можете выяснить MAC-адрес посредством программы IPCONFIG, которая работает подобно утилите ifconfig системы Linux. Для получения исчерпывающей информации о сетевых интерфейсах, имеющихся в системе, надо задать команду IPCONFIG /ALL. В составе отображаемых данных будет содержаться следующая строка:

Physical Address : 00-50-BF-19-7E-99

В Windows Me используется программа WINIPCFG, выполняющая те же функции, что и IPCONFIG, и предоставляющая графический пользовательский интерфейс. При запуске программы выводится окно, представленное на рис. 5.1, в котором MAC-адрес отображается в поле Adapter Address.

Рис. 5.1. WINIPCFG предоставляет информацию о сетевых интерфейсах и позволяет управлять клиентом DHCP в системе Windows 9х/Me

Если клиент DHCP расположен на компьютере Macintosh и выполняется в системе MacOS Classic, вы найдете MAC-адрес в окне TCP/IP Control Panel. После щелчка на кнопке Info отобразится диалоговое окно TCP/IP Info, в котором выводится MAC-адрес. В MacOS X данная информация доступна в диалоговом окне Network, показанном на рис. 5.2.

Рис. 5.2. В системе MacOS X MAC-адрес отображается в диалоговом окне Network

Аналогичные средства, позволяющие определить MAC-адрес, имеются и в других операционных системах; для того чтобы использовать соответствующие команды, надо ознакомиться с описанием конкретной системы.

Определение MAC-адреса с сервера

MAC-адрес клиента также можно определить с помощью сервера DHCP. Для этого необходимо, чтобы средства поддержки стека протоколов на клиентском компьютере работали исправно. Сконфигурируйте клиент для работы с сервером DHCP так, чтобы после загрузки клиент получил от сервера динамический IP-адрес. Затем ознакомьтесь с содержимым файла аренды (обычно это файл /var/lib/dhcp/dhcpd.leases). В нем вы найдете запись, которая выглядит приблизительно следующим образом:

lease 192.168.1.50 {

 starts 4 2002/07/19 21:37:20;

 ends 4 2002/07/19 23:17:20;

 binding state active;

 next binding state free;

 hardware ethernet 00:50:56:82:01:03;

}

В приведенной записи указаны IP-адрес, выделенный клиенту, время начала и завершения аренды, а также прочая информация, в том числе MAC-адрес (hardware ethernet 00:50:56:82:01:03). Чтобы использовать содержимое файла аренды для определения MAC-адреса, вы должны знать, какой IP-адрес выделен клиенту. Это можно определить по времени аренды либо обратиться за этими сведениями на клиентскую машину.

MAC-адреса могут также содержаться в файле протокола Linux (обычно это файл /var/log/messages). Последнюю запись, содержащую имя dhcpd, можно найти с помощью следующей команды:

# grep dhcpd /var/log/messages | tail -n 1

Jul 19 18:27:38 speaker dhcpd: DHCPACK on 192.168.1.50 to

00:50:56:82:01:03 via eth0

Эту команду можно выполнить сразу после того, как сервер DHCP выделит IP-адрес клиенту. Если вы не знаете IP-адреса, присвоенного клиенту, вы рискуете ошибочно определить MAC-адрес. Так может случиться, если после запроса интересующего вас компьютера какой-то клиентов обратится к серверу DHCP для того, чтобы продлить аренду. Зная IP-адрес, проверьте запись в файле протокола. Если адрес не совпадает, просмотрите другие записи, задавая значения опции -n программы tail, отличные от 1.

И, наконец, независимо от того, использует ли клиент статический IP-адрес или получил адрес от сервера DHCP, вы можете определить MAC-адрес с помощью команды arp. Вызовите команду arp на любом Linux-компьютере вашей сети, указав в качестве параметра IP-адрес клиента.

# arp 192.168.1.50

Address HWtype HWaddress Flags Mask Iface

192.168.1.50 ether 00:50:56:82:01:03 C eth0

Не исключено, что перед вызовом arp вам придется инициировать обмен данными с клиентом. Используйте для передачи пакета программу ping. Соответствующая команда выглядит следующим образом:

ping -с 192.168.1.50

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Как назначаются ip-адреса?

Из книги Интернет-разведка [Руководство к действию] автора Ющук Евгений Леонидович

Как назначаются ip-адреса? Мы не будем чересчур углубляться в вопросы организации компьютерных сетей, расскажем лишь о принципе, по которому назначаются ip-адреса. Это поможет читателю, который ранее не интересовался данной проблемой, быстрее сориентироваться в


R.3.7 Адреса

Из книги Справочное руководство по C++ автора Страустрап Бьярн

R.3.7 Адреса Любой объект - это некоторая область памяти, адрес - выражение, ссылающееся на объект или функцию. Очевидным примером адреса будет имя объекта. Существуют операции, порождающие адреса, например, если E выражение типа указатель, то *E - адресное выражение,


Определение клиента Web-сервиса XML

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

Определение клиента Web-сервиса XML Одной особенностью Web-сервисов XML, которая может сначала казаться непонятной, является то, что "потребителем" Web-сервисов XML являются не только Web-страницы. Консольные клиенты и клиенты Windows Forms тоже могут использовать Web-сервисы. В любом


8.6.2. Настройка клиента NFS

Из книги Linux-сервер своими руками автора Колисниченко Денис Николаевич

8.6.2. Настройка клиента NFS В предыдущем разделе было рассмотрено, как настроить сетевую файловую систему NFS. Теперь давайте рассмотрим как можно подмонтировать имеющуюся сетевую файловую систему к какому-либо клиенту. Напоминаю, что если на предполагаемом NFS-клиенте не


5.8 Адреса

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

5.8 Адреса В протоколе IP используются IP-адреса, которые идентифицируют хосты и маршрутизаторы для пересылки на них информации. Каждому хосту нужно присвоить уникальный IP-адрес, который и будет использоваться в реальном взаимодействии. Имена хостов транслируются в


22.5 Специальные адреса

Из книги Сетевые средства Linux автора Смит Родерик В.

22.5 Специальные адреса Существует несколько форматов специальных адресов


22.5.1 Неспецифицированные адреса

Из книги HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов. автора Дронов Владимир

22.5.1 Неспецифицированные адреса Адреса со всеми нулями0:0:0:0:0:0:0:0означают "неспецифицированные адреса" (unspecified address). Они иногда используются как адрес источника во время инициализации, когда система еще не знает собственного


22.5.3 Адреса версии 4

Из книги HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов автора Дронов Владимир

22.5.3 Адреса версии 4 В смешанном окружении адресов версий 4 и 6 IP-адреса систем версии 4, которые не поддерживают версию 6, отображаются в адреса версии 6 следующим образом:0:0:0:0:0:FFFF:a.b.c.dгде a.b.c.d — исходный


Определение сервера CUPS на стороне клиента

Из книги Разработка приложений в среде Linux. Второе издание автора Джонсон Майкл К.

Определение сервера CUPS на стороне клиента Для добавления принтеров к системе CUPS используется утилита lpadmin, вызываемая из командной строки или доступная посредством специального графического интерфейса. Кроме того, эта задача может решаться с помощью Web-броузера; для


Адреса

Из книги Интернет – легко и просто! автора Александров Егор

Адреса Часто на Web-страницах указывают контактные данные их создателей (почтовые и электронные адреса, телефоны, факсы и пр.). Для этого HTML предусматривает особый тег <ADDRESS>. Он ведет себя так же, как тег абзаца <P>, но его содержимое выводится курсивом:<ADDRESS>Я — адрес


Адреса

Из книги Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/FireBird/Yaffil автора Ковязин Алексей Николаевич

Адреса Часто на Web-страницах указывают контактные данные их создателей (почтовые и электронные адреса, телефоны, факсы и пр.). Для этого HTML предусматривает особый тег <ADDRESS>. Он ведет себя так же, как тег абзаца <P>, но его содержимое выводится курсивом:<ADDRESS>Я — адрес


17.1.4. Адреса

Из книги UNIX: разработка сетевых приложений автора Стивенс Уильям Ричард

17.1.4. Адреса Поскольку каждый протокол поддерживает собственное определение сетевого адреса, интерфейс сокетов должен абстрагировать адреса. В качестве базовой формы адреса используется структура struct sockaddr; его содержимое устанавливается по-разному для каждого


Адреса URL

Из книги автора

Адреса URL Чтобы гиперссылки могли связать в единую сеть все веб-документы планеты, у каждой страницы в Интернете должен быть свой уникальный адрес. Этот адрес называют URL (Uniform Resource Locator – универсальный указатель ресурса).В URL входят имя домена, названия файла и каталога,


IР-адреса

Из книги автора

IР-адреса Вообще, доменные адреса предназначены исключительно для пользователей. Компьютеру же гораздо удобнее работать с цифровыми именами, называемыми IP-адресами. IP-адрес – это тот же адрес домена, но написанный на понятном компьютеру языке. Он состоит из 32-разрядного


Определение версии клиента

Из книги автора

Определение версии клиента Некоторые клиентские библиотеки и драйверы могут иметь необходимость определять версию клиентской библиотеки Interbase. Для этого введены три новые функции


20.2. Широковещательные адреса

Из книги автора

20.2. Широковещательные адреса Если мы обозначим адрес IPv4 в виде {subnetid, hostid}, где subnetid означает биты, относящиеся к маске сети (или префиксу CIDR), a hostid — все остальные биты, мы получим два типа широковещательных адресов. Поле, целиком состоящее из единичных битов, обозначим