我正在使用 Python 中的套接字模块进行一些基本的 UDP 客户端-服务器通信。我需要做的非常简单:客户端向服务器发送一个数据包,服务器用客户端的公共(public) IP 地址、端口和代表 UDP 数据包到达服务器时的 TTL 的数字进行应答。这是我的主要问题:有什么方法可以使用recvfrom() 左右接收数据包,并读取它到达我的服务器时的 TTL 值吗?
非常感谢!
马泰奥·蒙蒂
最佳答案
我想你想setsockopt(IP_RECVTTL)然后使用recvmsg()。但Python的标准库中似乎没有recvmsg(参见http://bugs.python.org/issue6560)。因此,您可能需要编写一个小型 C 或 C++ 共享库,该库可由 Python 导入并执行您想要的操作。或者尝试使用我链接页面中的补丁。
关于python - 在Python中获取传入UDP数据包的TTL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9237006/