Всем привет, давненько не виделись. Требуется получить мак адрес устройства который подключен локально, пробую со своего компа на винде. Перегуглил и поюзал много чего, не выходит вообще. Сейчас перебираю порты хотя бы для успешного подключения к устройству через Код (Text): <?php $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); $i = 0; while($i<9000){ $i++; if(@socket_connect($socket, '192.168.1.3', $i)){ file_put_contents($_SERVER['DOCUMENT_ROOT'].'/scan/'.$i.'.txt',$i); } else{ file_put_contents($_SERVER['DOCUMENT_ROOT'].'/scan/no.txt',$i); } } но всё тщетно. Есть кто подобным занимался или у кого есть идеи?
Для статистики использования устройства, устройство может быть на другом ip, потому по всем локальным ip пройтись надо.
Та пофиг на ip, просто каждый просканировать, 255 штук - не проблема. В общем поставил некую вещь, зовется nmap(http://nmap.org/), через консольку запускаем nmap -sP -n 192.168.1.3 и радуемся возвращенному маку Но в пхп через exec возвращается пустота, видимо из-за того, что требуется время на получение ответа от ip, то есть асинхронно. Теперь нужно смотреть поток ответа как через ping 127.0.0.1, только вот не знаю как Добавлено спустя 3 минуты 1 секунду: Хотя нет, бред, ответ на ping возвращается и только после окончания выполнения, а в nmap сразу возвращается и пустой
Понял, пхп не видит что данная команда доступна через exec после установки nmap Я когда-то подобным занимался, но вообще не помню ничего xD
Ура, блин. Гадство xD В общем нужно указать полный путь к софте потому что там трабла с путями, в облом разбираться и еще для вывода в пхп прописать в команде 2>&1 В итоге выглядит так Код (Text): $output = shell_exec('"c:\\program files (x86)\\Nmap\\nmap.exe" -sP -n 192.168.1.3 2>&1'); echo "<pre>$output</pre>"; Не разобрался почему кириллица выводится как говно, ничем не конвертируется и на распознается кодировка, но в данном случае она мне не нужна. Всем спасибо =)