我是 C/C++ 网络编程的新手,我正在研究原始套接字来编写简单的 ping 或 traceroute 应用程序,因为它们是在常见的网络编程书籍中编写的。
诸如 traceroute 之类的程序会操纵 TTL 之类的数据包标头,以便它们可以检索路由器 IP 地址。
我知道路由器旨在通过以简单的方式找到最近的路由器来找到最佳路线。
我想知道是否有可能找到一种方法来操作数据包标头,使数据包强制路由器选择特定路由而不是默认路由,我的意思是像 traceroute 那样操作数据包并创建到目的地的手动路由。
第一步,有可能吗?如果没有,并且有任何类似的方法可以实现这一目标,那是什么?