首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何知道2 lan pc与我在php中的程序连接?

如何知道2 lan pc与我在php中的程序连接?
EN

Stack Overflow用户
提问于 2010-10-31 21:12:11
回答 3查看 162关注 0票数 1

我有4台通过局域网连接的电脑。我正在制作一个PHP程序,将区分每台电脑分别,我将保持每台电脑的记录。

但是,当我获得一个IP地址时,我得到的IP地址是相同的。我想我应该分别检索所有pcs的MAC地址,但我不知道如何获取MAC地址。

我使用的是Linux操作系统。

编程技巧将不胜感激。

EN

回答 3

Stack Overflow用户

发布于 2010-10-31 21:19:42

据我所知,您不能仅使用PHP来做到这一点。但是,如果您在服务器上具有exec()权限,则可以使用:

代码语言:javascript
运行
复制
arp -a ipaddress

其中,ipaddress是LAN上计算机的IP地址。您需要使用诸如regex之类的命令来将MAC地址与输出的其余部分分开。

票数 1
EN

Stack Overflow用户

发布于 2010-10-31 21:23:41

我不认为mac-adress包含在http-header中。所以可能很难通过php获得它。我觉得你最好还是试着解决这个ip问题。对不起,我不能再帮你了。

编辑:实际上...我四处寻找了一下,找到了一个可能的解决方案:

代码语言:javascript
运行
复制
$mac = `ping -c 1 $ip && arp -a | grep $ip`

不过,您可能必须对输出进行解析。我在eth0上得到: xxx.xxx.local (192.168.0.10) at d5:c2:c3:13:a2:b1 ether

执行arp -a 192.168.0.10时

编辑:就像状态下的帖子一样,你需要exec-权限。

编辑:对不起,我刚刚意识到为了让它工作,你需要ip地址...而你却没有。

票数 1
EN

Stack Overflow用户

发布于 2010-10-31 21:22:03

PEAR的Net_Ping是一个用于执行来自PHP的ping调用的精巧的包装类。您可以使用它检查远程服务器是否正确响应。该库可以从here下载。

代码语言:javascript
运行
复制
pear install Net_Ping-2.4.4




<?php

    require_once "Net/Ping.php";

    $ping = Net_Ping::factory();

    if(PEAR::isError($ping))
      echo $ping->getMessage();
    else
    {
      /* Number of packets to send */
      $ping->setArgs(array('count' => 4));
      $rawData = $ping->ping('google.com');
      print_r($rawData);
    }

?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4063222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档