|
|
1
4
如果您在使用DHCP的本地网络上,则可以查看服务器数据库以获取具有该地址的最后一个用户的MAC。将来,您可以监视网络中的ARP请求,并将响应缓存在某种表中。您还可以考虑使用RMON或SNMP来尝试查询交换机和路由器上的地址表。 应该注意的是,要在路由器上使用WoL,你要么需要启用定向广播,要么需要在本地段中有一个中继服务器。 我已经有一段时间没有玩路由器和软件了,但这可能是使用SNMP查询内容的起点 http://www.cisco.com/en/US/tech/tk648/tk362/technologies_tech_note09186a00801c9199.shtml |
|
2
2
使用以下内容:
获取远程会话的Mac地址。 |
|
|
3
1
|
|
|
4
1
你已经说了我能想到的一切。.. 源MAC地址会随着数据包从一个设备跳到另一个设备而变化,因此除非客户端位于同一子网上,否则服务器将无法获取MAC地址。(你可以通过ARP来实现) 签名的java applet或activex控件将是最简单的解决方案。它将能够(几乎被动地)获取您需要的所有网络信息(IE甚至不会提示运行已签名的小程序) 如果您完全了解正在使用该服务的网络,那么您可能可以通过SNMP或CDP查询网关的客户端列表。您将能够将IP地址映射到MAC地址。..但这确实取决于供应商(但很常见),而且(imo)不会比拥有applet好多少。 |
|
|
5
1
目前,该应用程序正在使用Java 6 applet,它允许我从远程系统中提取主机名和MAC地址。我不喜欢这种对Java 6的依赖,但Snow Leopard和Windows都支持它,所以我可能可以接受它。 在相关方面,我们的网络人员向我寻求帮助,将一些现有代码转换为ASP。网。在谈话中,我问他们是否有实时MAC地址信息(因为他们会根据可疑的网络活动(病毒/蠕虫)关闭端口)。事实证明,他们确实如此,我们或许可以利用这个项目从网络数据库中获取信息。 |
|
|
6
0
我认为没有办法做到这一点。当IP数据包通过第一个路由器时,主机的MAC信息会丢失(如您所知,MAC仅用于以太网层)。如果离你电脑最近的路由器能够告诉你远程MAC代码,那么它只会看到你电脑和“另一端”之间的下一个路由器的MAC。 |
|
|
7
0
开始牺牲。 除非没有路由器,否则在网络方面没有通用的方法来实现这一点。使用路由器时,您将永远看不到发起系统的MAC地址。 这假设发起系统只有一个网络接口,因此只有一个MAC地址。 事实上,你甚至确定你的“魔法包”(不管是什么)会通过路由器到达你想要它到达的系统吗?这听起来像是路由器或其他网络基础设施应该执行的功能。 |
|
|
8
0
Mac地址仅在网段上使用,每次跳转时都会丢失。端到端只保留IP,即使如此,在Nated时,from IP地址也会被重写。我想我的答案是,除非所有东西都在同一网段上,或者你的路由器都设置了代理arp(这是不现实的),否则是不可能的。 |
|
|
9
0
您只能在同一网络上的机器的ARP表中获取MAC条目。如果您通过路由器连接到机器,则只能在ARP表中看到路由器的MAC地址。所以没有办法知道 外部主机MAC地址 除非它是同一网络上的主机(不涉及路由器)。 顺便说一句,有很多 similar question 已经在SO上了。 |
|
|
10
0
如果是windows系统,您可以使用NBTSTAT-a 这将返回netbios信息,IP就在那里 任何管理系统,如SMS或Altiris,都会有此信息 DHCP服务器是个好主意 查找IP,MAC就会在那里。 您可能需要编写一个小批量文件。 如果您有权访问PC,则可以使用WMI通过DHCP访问Nic的信息。 |
|
|
11
0
如上所述,如果主机位于同一子网中,我们可以从已知的IP地址中获取mac地址。首先ping这个ip;然后查看arp-a|grep并解析nix*上的字符串以获取mac地址。 我们可以从所有编程语言标准API发出系统命令,并可以解析输出以获得mac地址。Java api可以ping一个IP,但我不确定我们是否解析ping输出(一些库可以做到这一点)。 最好避免发出系统命令,并找到另一种解决方案,因为这不是真正独立于平台的方法。 |