【发布时间】:2019-04-08 06:25:29
【问题描述】:
出于各种原因,我正在尝试使用原始套接字构建原始 TCP 数据包并将其发送到远程主机(例如 google.com)。我正在尝试使用 pcap,因此原始套接字代码可以在某些时候移植到 Windows。
看起来很简单... 1. 以太网头 2.ip头 3.tcp头 4. 细分(可选)
2,3,4 很简单。 #1 是问题,因为我不知道 google.com 的目标 MAC 地址应该使用什么。据我所知,ARP 对告诉我 MAC 毫无用处,因为我必须连接到谷歌的路由器才能使其工作。障碍。
所以这让我问这个问题:
当发送到不在 LAN 中的主机时,我应该使用我路由器的 MAC 作为以太网标头中的目标 MAC 地址吗?当数据包被转发时,它命中的每个路由器是否都会撕掉那个以太网报头并用适当的源/目标 MAC 替换它,以便它到达 Google.com?这是唯一听起来合理的事情。
旁注,我认为这是这里的动机,但问题从未完全提出: how to determinate destination MAC address
【问题讨论】: