首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在没有IP的同一子网上获取MAC地址

如何在没有IP的同一子网上获取MAC地址
EN

Network Engineering用户
提问于 2019-01-07 05:58:22
回答 1查看 677关注 0票数 0

目前我正在做一个研究项目,假设我们有两台计算机通过局域网电缆直接连接,没有任何交换机或路由器在同一子网中。两个节点目前都没有IP地址,我是否可以获取目标节点的MAC,反之亦然?我对这个问题进行了研究,但大多找到了与IP相关的解决方案。比如arping,getmac,nmap等等,但都是基于IP的。是否有任何代码使用网络套接字,如PF_PACKET套接字或其他东西,可以给出我们如何处理这个问题的想法。我发现了一些关于ARP的东西,但我想知道它不会是我们寻找的单击这里 https://www.lynxbee.com/understanding-arp-basics-and-sending-arp-request-and-receiving-arp-reply-using-c-code-in-linux/的解决方案。

我们的应用程序使用基于PF_PACKET的套接字从第二层MAC发送/接收帧.现在,我们可以从源NIC接口中提取MAC地址,但是对于目标MAC地址,我们需要一些没有IP层-3模块通信的方法。

环境: C语言,CentOS 7,内核v3.10。

提前谢谢你。

EN

回答 1

Network Engineering用户

发布于 2019-01-07 12:12:02

当您的目的地的MAC地址未知时,需要以某种方式发现它。ARP是用于IPv4的方法,但是您可以直接在以太网第2层上运行协议。

使用不与任何其他协议冲突的EtherType值--严重的应用程序应该在IEEE注册。然后,您可以广播或更好的多播一端,以使它知道的另一个节点(S)在同一网络。例如,您可以定期为服务器服务做广告,每个客户端都会监听一段时间来发现服务器(S)。或者,客户端可以对请求进行广泛/多播,以发现一个服务器,并且每个服务器都会应答。

在NE上编程这个协议是不相关的。你可以试试堆栈溢出

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

https://networkengineering.stackexchange.com/questions/55915

复制
相关文章

相似问题

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