|
Модераторы: ginnie, korob2001 |
|
Demeo |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 10.6.2016 Репутация: нет Всего: нет |
Доброго дня.
Есть кусок кода, который вытягивает мак-адрес из базы, и по нему грепает IP-адрес из таблицы ARP $sql="SELECT users.id,users.name,login.mac FROM users,login WHERE users.id = ".$Mid." AND login.mid = ".$Mid." AND login.act = 47$ $sth=&sql($dbh,$sql); while($p=$sth->fetchrow_hashref){ $mac = $p->{'mac'}; $cmd = q(awk '{print($1)}' | sed 's/(//' | sed 's/)//'); $ip_addr = `arp -n | grep $mac | $cmd`; $OUT.=" <tr> <td align=\"left\" width=\"200\"><b>".&Filtr_out($p->{'name'})."</b> (".&Filtr_out($p->{mac}).")</td> <td align=\"left\" width=\"200\"><b>".&Filtr_out($p->{'name'})."</b> (".$ip_addr.")</td> Если в строке строке $ip_addr = `arp -n | grep $mac | $cmd`; стоит $mac - то не работает Если вручную прописываю мак вместо переменной - работает |
|||
|
||||
igorold |
|
|||
Опытный Профиль Группа: Участник Сообщений: 557 Регистрация: 22.12.2005 Где: Россия->Урал-& gt;Миасс Репутация: нет Всего: 17 |
не пробовали записать в лог значение $mac ?
Какое значение принимает? А вы когда ручками подставляете значение, вы его кавычками обрамляете? Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
Demeo |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 10.6.2016 Репутация: нет Всего: нет |
Принимает значение вида 00:00:00:00:00:00
Если в строку <td align=\"left\" width=\"200\"><b>".&Filtr_out($p->{'name'})."</b> (".$ip_addr.")</td> вместо $ip_addr подставить $mac - то мак отображается корректно Нет, кавычками не обрамляю - $ip_addr = `arp -n | grep 11:11:11:11:11:11 | $cmd`; В этом случае все нормально определяется Это сообщение отредактировал(а) Demeo - 10.6.2016, 15:08 |
|||
|
||||
igorold |
|
|||
Опытный Профиль Группа: Участник Сообщений: 557 Регистрация: 22.12.2005 Где: Россия->Урал-& gt;Миасс Репутация: нет Всего: 17 |
Я у себя проверил:
работает ... -------------------- ... у семи нянек 14 сисек ... Putin here, Putin there, Putin almost everywhere! |
|||
|
||||
Demeo |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 10.6.2016 Репутация: нет Всего: нет |
так и у меня работает, вопрос почему из базы не берет?
|
|||
|
||||
ginnie |
|
||||
Эксперт Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 6 Всего: 49 |
Покажите ваш
-------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
||||
|
|||||
igorold |
|
|||
Опытный Профиль Группа: Участник Сообщений: 557 Регистрация: 22.12.2005 Где: Россия->Урал-& gt;Миасс Репутация: нет Всего: 17 |
Ну так покажите, что вы формируете из базы ... вас не учили пользоваться отладкой? -------------------- ... у семи нянек 14 сисек ... Putin here, Putin there, Putin almost everywhere! |
|||
|
||||
Demeo |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 10.6.2016 Репутация: нет Всего: нет |
Все работает. Как оказалось, в арп-таблице тупо не было этих маков
|
|||
|
||||
_zorn_ |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 21.8.2007 Репутация: нет Всего: 12 |
Вот только хотел посоветовать в консоле тоже самое набрать
|
|||
|
||||
saskuu |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 7.7.2016 Репутация: нет Всего: нет |
в свое время стояла аналогичная задача.
выяснил, что для более-менее сети (от 500 компов) искать по файлу /proc/net/arp в десятки! раз быстрее, чем пользоваться командой arp |
|||
|
||||
Правила форума "Perl: Системное программирование" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |