URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 94855
[ Назад ]

Исходное сообщение
"веб сервер в локальной сети. определение ARP адреса"

Отправлено sasku , 22-Июл-13 12:48 
Прошу помощи:
надо поставить веб-сервер (все равно какой), чтобы он на основе ARP-адреса клиента переходил на нужную страницу
АРП-адресов много, часто будут меняться, их могу держать или в SQL или в текстовом файле - все равно где.

Как можно реализовать такое ?
Очень хотелось бы на nginx


Содержание

Сообщения в этом обсуждении
"веб сервер в локальной сети. определение ARP адреса"
Отправлено ALex_hha , 22-Июл-13 17:59 
> Прошу помощи:
> надо поставить веб-сервер (все равно какой), чтобы он на основе ARP-адреса клиента
> переходил на нужную страницу
> АРП-адресов много, часто будут меняться, их могу держать или в SQL или
> в текстовом файле - все равно где.
> Как можно реализовать такое ?
> Очень хотелось бы на nginx

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


"веб сервер в локальной сети. определение ARP адреса"
Отправлено McLeod095 , 22-Июл-13 18:40 
> Прошу помощи:
> надо поставить веб-сервер (все равно какой), чтобы он на основе ARP-адреса клиента
> переходил на нужную страницу
> АРП-адресов много, часто будут меняться, их могу держать или в SQL или
> в текстовом файле - все равно где.
> Как можно реализовать такое ?
> Очень хотелось бы на nginx

Да костыль!
Но я думаю наврядли найдете такой сервер, или писать самому.
но думаю вот такой index.php поможет (для апача)


<?php
    print "<html><body>";
    exec('arp -e -n | awk \'!/Address/{print $1";"$3}\'',$arps);
    foreach($arps as $a){
    list($ip,$arp)=split(";",$a);
    $ips[$ip]=$arp;
    }
    
    if($ips[$_SERVER['REMOTE_ADDR']] == "00:00:00:00:00:00"){
    header('Location: /00.php');
    }
    else{
    header('Location: /11.php');
    }
    print "</body></html>";
?>

думаю что принцип понятен, сорри за код, писал в попыхах.

"веб сервер в локальной сети. определение ARP адреса"
Отправлено михалыч , 22-Июл-13 20:38 
> думаю что принцип понятен, сорри за код, писал в попыхах.

Во фре чуток выхлоп arp другой, адаптированный вариант )
<?php
print "<html><body>";
exec ('arp -an  | sed \'s/(//;s/)//\' | awk \'{print $2";"$4}\'', $arps);
foreach ( $arps as $a ) {
    list ( $ip, $arp ) = split(";", $a);
    $ips[$ip] = $arp;
}
//print "For test: your ip- and mac- address " . $_SERVER['REMOTE_ADDR'] . " -- " . $ips[$_SERVER['REMOTE_ADDR']] . "\n";
if ( $ips[$_SERVER['REMOTE_ADDR']] == "00:00:00:00:00:00" ) { header('Location: /00.php'); }
else { header('Location: /11.php'); }
print "</body></html>";
?>


"веб сервер в локальной сети. определение ARP адреса"
Отправлено Pahanivo , 22-Июл-13 21:53 
интересно, а топегстартер вкурсе что arp меняется не сложнее айпи?

"веб сервер в локальной сети. определение ARP адреса"
Отправлено fantom , 23-Июл-13 10:38 
> интересно, а топегстартер вкурсе что arp меняется не сложнее айпи?

Интересно, а топикстартер в курсе, что arp - таки ПРОТОКОЛ и адреса НЕ ИМЕЕТ, а есть MAC адрес и IP адрес....