使用shell_exec调用system的arp命令失败

时间:2013-08-26 09:57:05

标签: php mac-address shell-exec

我在谷歌搜索了很长时间但没找到我要找的东西。我在办公室的不同大楼有一个本地Web应用程序。我的员工将使用无线设备和台式计算机在本地网络中使用此应用程序。 但我想通过有限的设备和机器让他们访问。

我可以通过将其IP地址传递给arp来获取已连接设备的MAC地址,例如:

arp -n 192.168.10.12

在终端。

但是当我在php脚本中运行相同的命令时,我无法获得任何输出

$output = shell_exec('arp -n 192.168.10.12'); echo "<pre>$output</pre>";

我在ls -l /var/www函数中尝试了shell_exec等命令,这些命令与命令行中的命令相同。所以我的问题是为什么我无法运行arp -n ipaddress命令以及如何运行它。

我无法通过路由器检查MAC地址,因为我的公司客户来办公室时喜欢使用我的网络。

提前致谢。

我关注this链接。

1 个答案:

答案 0 :(得分:1)

我很确定www-user不允许使用arp命令或引用完整路径。

使用完整路径,例如/usr/sbin/arp

无论是工作还是sais都没有许可。如果没有许可, 搜索sudo并让www-user访问arp

dan@big:/root$ /usr/sbin/arp
Address                  HWtype  HWaddress      Flags Mask            Iface
xxxx.xx.xx.xxxx  ether   00:00:XX:00:01:XX      C                     eth0

dan@big:/root$ arp
bash: arp: command not found