主机和服务器之间通信,怎么查询到对方MAC地址(不在同一局域网)

新手上路,请多包涵

新手求问!

我看资料,查询对方MAC地址会用到ARP协议,利用广播向局域网内的其他设备发报文进行询问?

但是很多时候,比如我们访问一个网站,和一个网站的服务器进行通信,不是在一个子网内,双方可能差得很远。

这时候ARP是怎么进行查询的? 即网络包的MAC头部信息里接收方的MAC地址要怎么获取呢?

刚刚学习关于网络的知识,这个问题查了很久,没找到统一的答案,浪费了很多时间,还是来这里问一下...

阅读 4.5k
3 个回答

据我所掌握的知识,你无法查询非一个子网中其它计算机的mac地址。
如果你查的资料中有其它不同答案,欢迎赐教

不在一个子网中通信就走三层协议了(因为需要用到路由,而路由工作在三层),而MAC工作在二层(只需要交换,不需要路由),你在三层是直接拿不到二层地址的

可能题主和我之前犯了同一个错误,就是把广域网(或者叫公网)的网络请求中的目标地址当成是真正的 MAC 地址了。

MAC 地址

这从 Microsoft Network Monitor 中抓取的请求信息来看,向目标站点的请求头中的 MAC 地址是存在的是吧?但实际上这是我的局域网内的网关的 MAC 地址,对广域网的请求只能从网关走,那么我的目标就只能是网关。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏