我想使用esp8266来查找哪些ip地址在同一个子网上注册,以及他们的家庭自动化项目的mac地址。 ping响应是否包含设备的MAC地址,还是有可能通过本地网络进行请求。ping响应是否包含MAC地址?
0
A
回答
0
Ping不显示MAC地址。它只是告诉你服务器是否在线。 您可以在Windows上使用“nbtstat -a ip”命令来执行此操作。
0
如果您尝试获取给定IP地址(第3层)的MAC地址(第2层),可以使用RARP。否则,如果您使用ping,则在第3层,您将无法访问ping响应的MAC地址。但是,您可以使用pcap来嗅探网络,使用apporpriate pcap过滤器读取ping回复,并从到达的以太网帧中获取MAC地址。您还可以使用数据包套接字来获取第2层帧。 pcap应该是有用的。
1
在* nix系统上,您可以运行arping <some-ip>
以获取同一网络上的机器的MAC地址(当然,只有那些可以获取数据包而无需通过网络路由的机器)。
正如rodolk建议的那样,您可以运行pcap
并查看以太网帧。以太网帧包含源MAC,目标MAC和以太网类型。 事情是这样的:
uint8_t ether_dhost[ETHER_ADDR_LEN]; /* destination MAC address */
uint8_t ether_shost[ETHER_ADDR_LEN]; /* source MAC address */
uint16_t ether_type; /* packet type ID */
你可以嗅探数据包,并解析的以太网头,或者你可以运行一个arping
,我认为这应该成为你的目的。
相关问题
- 1. Ping网络并获取mac地址
- 2. 网站地图网址是否应包含文件扩展名?
- 3. PHP的ping来获得IP地址的响应
- 4. 在Java中ping IP地址时的响应超时
- 5. 是否有私有MAC地址空间?
- 6. MAC地址是否会耗尽组合?
- 7. 检查网址是否包含单词
- 8. 如何检查网站地图是否包含一些网址
- 9. 验证电子邮件地址是否包含“@”和“。”。
- 10. 检查字符串是否包含电子邮件地址
- 11. 在Collection接口地址基数中是否包含All()和retainAll()?
- 12. WCF是否没有包含baseaddress的地址?
- 13. 是否有任何可用于Ping IP地址的PHP脚本
- 14. 包含/需要HTTP地址
- 15. Ping一个IP地址
- 16. SNMP ping支持IPv6地址
- 17. 根据MAC地址ping网络上的节点
- 18. IP数据包和MAC目标地址
- 19. json响应包含\ n \ r
- 20. 是否可以响应地包装表格行?
- 21. 批量ERRORLEVEL ping响应
- 22. AngularJS解析ping响应
- 23. 获取MAC地址
- 24. 查找MAC地址
- 25. BSSID与MAC地址?
- 26. 更改mac地址
- 27. 从Android应用获取设备的MAC地址和IP地址
- 28. 非2xx状态码响应是否应包含CORS特定标头
- 29. Securize一个web应用与MAC地址
- 30. 获取IP地址,而不是MAC地址
您想使用RARP消息。编辑:错误,只是一个ARP消息。 RARP是另一回合。 –
http://security.stackexchange.com/questions/64281/how-to-get-mac-address-via-ip 可能很方便,向下滚动到第二个答案。你将不得不使用地址解析协议或ARP。 – wbrugato
@ ThomasM.DuBuisson,RARP实际上会从另一个主机(如网关)返回您自己的IP地址。它实际上不是ARP的反向,而是ARP的反面。 –