Remkomplekty.ru

IT Новости из мира ПК
1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Php mac адрес

Определение mac-адреса

Здравствуйте, спасибо что заинтересовались темой) В общем, у меня установлен локальный apache с прикрученым php, к нему имеют возможность подключиться пользователи посредством созданной на этом компьютере точки доступа. Вопрос: как определить Mac-адрес подключенного устройства, с целью исключения его повторного подключения?

Добавлено через 2 часа 38 минут
Определил IP адрес подключенного клиента.

Теперь вопрос, как определить его mac? Есть идеи? o_O

Добавлено через 34 минуты
Определил, работает вроде. Держите, может кому пригодится )

Определение MAC адреса
Можно ли какнить на PHP определить MAC адрес с которого идет обращение к сайту?

Привести строку MAC-адреса к другому формату
Здравствуйте Подскажите пожалуйста есть строка вида: 00:18:e7:be:87:72 нужно превратить её в.

Определение IP адреса или система голосований
Уважаемый All подскажите как сделать так, чтобы пользователь мог проголосовать на сайте только 1.

Определение MAC адреса
Добрый день, долго лазил по интернету и по форуму, что-то не получилось найти нужной темы, если.

Serega@93-93, да? Интересно как же вы с помощью php который выполняеться на стороне сервера сможете узнать номер сетевого оборудования клиента?? Почитайте как работают веб-серверы. С помощью php точно не как.

Добавлено через 4 минуты
Вы сможете разве что получить свой mac адрес

Решение

Добавлю.
никакими средствами (ни PHP, ни С, ни даже Ассемблера) узнать MAC-адрес сетевого интерфейса пользователя (посетителя хоcта), находящегося где-то за пределами вашей локальной сети — НЕВОЗМОЖНО!
PHP-код работает на веб-сервере.
Поэтому, MAC-адрес, определяемый на PHP, будет адресом сетевого интерфейса на сервере.

Это имеет смысл только для узла «администратора» сети

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Определение mac адреса
Имеется маршрутизатор — имеет свой мак адрес. Усложно назовем его mac1. Имеется комп — у него mac2.

Определение mac-адреса (ARP)
Необходимо написать программку (без использования каких-либо спец. библиотек), определяющую.

Определение mac-адреса сетевой карты
Приветствую. Ребят, дайте пожалуйста действующий способ определения mac-адреса сетевой карты на.

Определение MAC адреса удаленного компьютера
Помогите пожалуйста определить MAC адрес удаленного компьютера, учитывая, что IP этого компьютера я.

Как я могу получить адрес MAC и IP подключенного клиента в PHP?

Мне нужно знать MAC и IP адреса клиентов connect, как я могу сделать это в PHP?

12 Ответов

Сервер IP

Вы можете получить адрес сервера IP от $_SERVER[‘SERVER_ADDR’] .

Адрес сервера MAC

Для адреса MAC можно проанализировать выходные данные netstat -ie в Linux или ipconfig /all в Windows.

Адрес клиента IP

Вы можете получить клиент IP от $_SERVER[‘REMOTE_ADDR’]

Адрес клиента MAC

Адрес client MAC будет доступен только в одном особом случае: если клиент находится в том же сегменте ethernet, что и сервер.

Таким образом, если вы создаете какую-то систему на основе LAN, а ваши клиенты находятся в том же сегменте ethernet, то вы можете получить адрес MAC, проанализировав выходные данные arp -n (linux) или arp -a (windows).

Edit: вы спрашиваете в комментариях, как получить вывод внешней команды — один из способов заключается в использовании обратных клавиш, например

Но что, если клиент не находится на LAN?

Ну, вам не повезло, если вы не можете заставить клиента добровольно предоставить эту информацию и передать ее другими способами.

Адрес MAC клиента (в смысле компьютера, который выдал запрос HTTP) перезаписывается каждым маршрутизатором между клиентом и сервером.

Клиент IP удобно предоставляется скрипту в $_SERVER[‘REMOTE_ADDR’] . В некоторых сценариях, особенно если ваш веб-сервер находится за прокси-сервером (т. е. кэширующим прокси) $_SERVER[‘REMOTE ADDR’] вернет IP прокси-сервера , и там будет дополнительное значение, часто $_SERVER[‘HTTP_X_FORWARDED_FOR’] , которое содержит IP исходного клиента запроса.

Иногда, особенно когда вы имеете дело с анонимизирующим прокси-сервером, который вы не контролируете, прокси-сервер не возвращает реальный адрес IP, и все, на что вы можете надеяться, — это адрес IP прокси-сервера.

Я не думаю, что вы можете получить адрес MAC в PHP, но вы можете получить IP из переменной $_SERVER[‘REMOTE_ADDR’] .

Все, что вам нужно сделать, это поместить arp в другую группу.

С помощью команды:

И поскольку apache-это демон, работающий под управлением пользователя www-data, теперь он может выполнить эту команду.

Читать еще:  Мак адрес сетевой

Поэтому, если вы сейчас используете скрипт PHP, например:

вы получите вывод команды linux arp -an .

Для сервера windows я думаю, что вы можете использовать это:

Это класс PHP для манипуляции адресом MAC поверх операционных систем Unix, Linux и Mac OS X. в первую очередь он был написан, чтобы помочь со спуфингом для аудита беспроводной безопасности.

В windows, если пользователь использует ваш скрипт локально, это будет очень просто :

Вы можете получить MAC -адрес или физический адрес , используя этот код

Я использовал explode много раз, потому что shell_exec («ipconfig/all») возвращает полную детализацию всей сети. так что вам придется разделиться по одному. когда вы запустите этот код, то вы получите
ваш MAC-адрес 00-##-##-CV-12 //this является поддельным адресом только для показа.

Вы можете использовать следующее решение для решения вашей проблемы:

Это работает для меня на Windows, так как ipconfig /all — это системная команда Windows.

в разделе linux с помощью iptables вы можете записывать в файл каждый запрос к веб-серверу с mac-адресом и ip. из php поиск последнего элемента с ip-адресом и получить mac-адрес.

Как уже говорилось, помните, что mac-адрес находится от последнего маршрутизатора на trace.

Вы можете сделать это легко, используя openWRT. Если вы используете плененный портал, вы можете смешать php и openWRT и установить связь между IP и mac.

Вы можете написать простой код PHP с помощью:

Позже, используя openWRT вы можете перейти к /tmp/dhcp.leases , вы получите что-то с формой:

Там у вас есть mac, адрес IP и имя хоста.

Похожие вопросы:

Возможный Дубликат : Как я могу получить адрес MAC и IP подключенного клиента в PHP? Как я могу получить mac id машины, используя PHP? Я хочу найти IP и Mac ID для идентификации очень уникального.

Возможный Дубликат : Как я могу получить адрес MAC и IP подключенного клиента в PHP? Всем привет В моем веб-сайте клиент должен получить адрес IP, а также адрес MAC и имя компьютера посетителя. Для.

Я пишу веб-приложение с PHP и Javascript, которое использует храповик WebSockets для передачи данных между сервером и клиентами, но мне нужно получить адрес клиента IP. В Храповике WebSockets есть.

Цель состоит в том, чтобы собрать адрес MAC подключенного локального NIC, не Список всех местных NICs 🙂 С помощью socket и connect (to_a_website) , Я могу просто использовать getsockname() , чтобы.

я хочу сохранить информацию о посетителе на сайте, как ip и mac-адрес я получил ip-адрес клиента но как я могу получить адрес MCA клиента ?

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

Я хочу получить адрес клиента IP, который использует мой сайт. Я использую PHP $_SERVER superglobal: $_SERVER[‘REMOTE_ADDR’]; Но я вижу, что он не может дать правильный адрес IP, используя это. Я.

Как я могу получить адрес клиента IP, используя PHP? Я хочу вести учет пользователя, который вошел на мой сайт через свой адрес IP.

Если у меня есть супер простой резьбовой сервер TCP, как: USING: accessors io io.encodings.utf8 io.servers io.sockets kernel prettyprint threads ; : handle-client ( — ) remote-address . ; .

Как я могу получить IP и порт клиента с PHP? Я попробовал сценарий ниже, но он дает мне только адрес IP.

Как я могу получить MAC и IP-адрес подключенного клиента в PHP?

Мне нужно знать MAC и IP-адрес подключаемых клиентов, как я могу это сделать в PHP?

IP-адрес сервера

Вы можете получить IP-адрес сервера от $_SERVER[‘SERVER_ADDR’] .

MAC-адрес сервера

Для MAC-адреса вы можете анализировать вывод netstat -ie в Linux или ipconfig /all в Windows.

IP-адрес клиента

Вы можете получить IP-адрес клиента от $_SERVER[‘REMOTE_ADDR’]

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

MAC-адрес клиента не будет доступен вам, кроме одного особого обстоятельства: если клиент находится в том же сегменте Ethernet, что и сервер.

Итак, если вы строите какую-то систему на базе локальной сети, а ваши клиенты находятся в одном сегменте Ethernet, тогда вы можете получить MAC-адрес, проанализировав вывод arp -n (linux) или arp -a (windows).

Читать еще:  Что такое белый ip адрес

Редактировать : вы спрашиваете в комментариях, как получить выход внешней команды – одним из способов является использование обратных ссылок, например

Но что, если клиент не находится в локальной сети?

Ну, вам не повезло, если вы не можете заставить клиента добровольно передавать эту информацию и передавать с помощью других средств.

MAC-адрес клиента (в смысле компьютера, который выдал HTTP-запрос) перезаписывается каждым маршрутизатором между клиентом и сервером.

Клиентский IP-адрес удобно предоставляется скрипту в $_SERVER[‘REMOTE_ADDR’] . В некоторых сценариях, особенно если ваш веб-сервер находится за прокси-сервером (т. $_SERVER[‘HTTP_X_FORWARDED_FOR’] прокси), $_SERVER[‘REMOTE ADDR’] вернет IP-адрес прокси-сервера , и будет добавлено дополнительное значение, часто $_SERVER[‘HTTP_X_FORWARDED_FOR’] , который содержит IP исходного клиента запроса.

Иногда, особенно когда вы имеете дело с анонимным прокси, который вы не контролируете, прокси не вернет реальный IP-адрес, и все, на что вы можете надеяться, это IP-адрес прокси-сервера.

Я не думаю, что вы можете получить MAC-адрес в PHP, но вы можете получить IP из переменной $_SERVER[‘REMOTE_ADDR’] .

Все, что вам нужно сделать, – это включить arp в сложную группу.

И поскольку apache – демон, запущенный под пользовательскими www-данными, теперь он может выполнить эту команду.

Поэтому, если теперь вы используете PHP-скрипт, например:

вы получите результат команды linux arp -an .

Для сервера Windows я думаю, что вы можете использовать это:

В окнах, если пользователь использует ваш скрипт локально, это будет очень просто:

Это класс PHP для обработки MAC-адресов поверх операционных систем Unix, Linux и Mac OS X. в основном это было написано, чтобы помочь с подделкой для проверок беспроводной безопасности.

под linux с помощью iptables вы можете записывать в файл каждый запрос на веб-сервер с адресом mac и ip. от php искать последний элемент с IP-адресом и получить MAC-адрес.

Как указано, помните, что адрес mac находится от последнего маршрутизатора на трассе.

Вы можете сделать это легко, используя openWRT. Если вы используете портативный портал, вы можете смешивать php и openWRT и устанавливать связь между IP и маком.

Вы можете написать простой PHP-код, используя:

Позже, используя openWRT, вы можете перейти в /tmp/dhcp.leases , вы получите что-то с формой:

Там у вас есть mac, IP-адрес и имя хоста.

Это работает для меня в Windows, так как ipconfig /all – это системная команда Windows.

Как получить MAC и IP-адрес подключенного клиента в PHP?

Что такое MAC-адрес?
MAC — это сокращение от «Media Access Control», и это 48-битный физический адрес, связанный с каждым сетевым устройством. Он напечатан на сетевой карте (Network Interface Card) и уникален для любого сетевого устройства. MAC-адрес используется канальным уровнем для маршрутизации пакета данных от источника к месту назначения.

Что такое IP-адрес?
Адрес интернет-протокола (IP), также известный как логический адрес, предоставляется поставщиком интернет-услуг (ISP), который однозначно идентифицирует систему по сети. IP-адрес постоянно меняется время от времени.

Как получить IP-адрес подключенного клиента в PHP: $ _SERVER — это суперглобальная переменная PHP, которая содержит информацию о заголовке, пути и расположении скрипта. Суперглобальные переменные — это предопределенные переменные, которые всегда доступны. Эти суперглобальные элементы хранят информацию в форме ассоциативного массива, и здесь мы собираемся извлечь ключ ‘REMOTE_ADDR’ ассоциативного массива $ _SERVER, чтобы получить IP-адрес клиента. REMOTE_ADDR возвращает IP-адрес клиента

Пример 1: В этом примере показано, как получить IP-адрес клиента с помощью $ _SERVER [‘REMOTE_ADDR’].

// PHP-программа для получения IP-адреса клиента

$IP = $_SERVER [ ‘REMOTE_ADDR’ ];

// $ IP хранит IP-адрес клиента

echo «Client’s IP address is: $IP» ;

// Распечатать IP-адрес клиента
?>

Выход:

Примечание. Для онлайновой среды IDE может отображаться ошибка времени выполнения или не отображаются выходные данные, поскольку частные домены не разделяют свои IP-адреса. Для localhost, IP-адрес 127.0.0.1, который является адресом обратной связи, и поэтому IP-адрес клиента: :: 1.

Как получить MAC-адрес подключенного клиента в PHP: «exec ()» — это функция, которая используется для запуска внешней программы в PHP. Возвращает последнюю строку из результата команды. Чтобы получить MAC-адрес, передайте параметр ‘getmac’, который возвращает MAC-адрес клиента. ‘getmac’ — это команда CMD для получения MAC-адреса.

Читать еще:  Где взять адрес сервера для vpn

Пример 2: Этот пример получает MAC-адрес с помощью функции exec ().

// PHP-код для получения MAC-адреса клиента

$MAC = exec ( ‘getmac’ );

// Сохраняем значение ‘getmac’ в $ MAC

$MAC = strtok ( $MAC , ‘ ‘ );

// Обновление значения $ MAC с помощью функции strtok,
// strtok используется для разделения строки на токены
// разделенный символ strtok определяется как пробел
// потому что getmac возвращает имя транспорта после
// MAC-адрес

echo «MAC address of client is: $MAC» ;

Выход:

Примечание. Этот код не будет работать в онлайн-среде IDE, поскольку getmac — это команда CMD. Попробуйте запустить его на локальном хосте.

Получаем MAC-адреса от Cisco с помощью SNMP (PHP)

Как-то мысль пришла в голову о том, что хорошо бы иметь свою систему мониторинга для Cisco, с помощью которой иметь однозначное понятие в каком кабинете подключен тот или иной компьютер к сети. Причем делать это автоматически и, желательно, с WEB-интерфейсом. Радует то, что на наше счастье существует такая вещь, как SNMP – Simple Network Management Protocol. Устройства Cisco его поддерживают весьма неплохо. Учитывая, что в примере мы будем собирать MAC-адреса, нам потребуется библиотека BRIDGE-MIB, которую (как и другие) можно скачать с http://www.cisco.com/public/sw-center/netmgmt/cmtk/mibs.shtml, указав конкретную модель своего устройства.

Что мы имеем? Коммутатор с L3 (Cisco Catalyst 3560G), получаем все MAC-адреса, которые записаны в коммутаторе:

show mac-address-table

Те, что с VLAN: All – это внутренние адреса портов. А вот Vlan: 1 – собственно осевшие МАКи. Обращаем внимание на тип: Dynamic и номер порта (Gi0/N). Это нам пригодится.

Далее, я завел виртуальную машину с Apache+PHP, в котором раскомментировал модуль snmp (для Apache2 устанавливается php5-extensions и выбирается модуль snmp).

Пишем скрипт на PHP.

Создаем вот такой скрипт:

Скрипт выборки MAC и портов

Немного поясню его:

Завуалировал я свой IP и имя community.

Функция snmpwalk принимает параметры IP адрес коммутатора, имя комьюнити (см. ниже), и путь OID. Этот путь со сложным сочетанием цифр и точек можно получать из документации к Cisco MIB-файлов, т.е. описание “ветвей дерева”, где можно читать тот или иной параметр.

По пути 1.3.6.1.2.1.17.1.1 у нас лежит массив mac-адресов, а по пути 1.3.6.1.2.1.17.1.2 – соответствующие имена портов.

Обрезаю все лишнее из вывода через substr (так как выводятся тестом Hex STRING: и INTEGER типы данных);

Вывожу попарно вот таком виде:

Вывод скрипта

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

Поэтому лучше сразу пометить все магистральные порты и их не выводить, либо выводить с пометкой.

Настраиваем SNMP Community.

Входим в Cisco устройство:

# conf t
(config)# snmp-server community foo RO

Вместо foo можно указать любое имя для комьюнити, а RO – это ReadOnly, так как с помощью SNMP можно не только читать параметры, но и записывать их. Но нам пока это не нужно.

Теперь то, как я вижу развитие этого проекта:

  1. С определенным интервалом (cron) опрашиваются все Cisco коммутаторы и информация заносится в базу данных.
  2. В базе хранится информация о магистральных портах, о том, какой порт в какой кабинет ведет (по патч-панели проследить, это Const), какой компьютер какой MAC имеет (опрос ARP);
  3. Веб-интерфейсом рисуется карта (план здания) по этажам и у каждого кабинета подписываются включенные компьютеры;
  4. Генерировать репорты в случае:
  • если MAC адрес обнаруживается на другом порту (не магистральном) – переноска на новое место;
  • если обнаруживается новый MAC – несанкционированное подключение;
  • если на одном порту появляется несколько MAC-ов – подключение разветвителя в виде свитча или хаба;

При желании эту тему можно развивать. Кто что думает, полезная вещь?

Друзья! Вступайте в нашу группу Вконтакте, чтобы не пропустить новые статьи! Хотите сказать спасибо? Ставьте Like, делайте репост! Это лучшая награда для меня от вас! Так я узнаю о том, что статьи подобного рода вам интересны и пишу чаще и с большим энтузиазмом!

Также, подписывайтесь на наш канал в YouTube! Видео выкладываются весьма регулярно и будет здорово увидеть что-то одним из первых!

Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector
×
×