python - 在Python中获取传入UDP数据包的TTL

标签 python sockets udp ip ttl

我正在使用 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/

相关文章:

python - 使用完整的 PyTorch 变压器模块

python - 如何在子图中绘制多个 Seaborn 联合图

c - TCP 客户端/服务器 : when stop read socket

c++ - 使用 C++ Socket 仅接收必要的数据

udp - Winsock 错误 10054 (WSAECONNRESET) "normal"与 UDP 到/来自本地主机吗?

tcp - Wireshark/Tshark pcap 重组代码

python - 在 Linux 上的 python 中检测连接到 Raspberry Pi 的无线设备

python - 如何让 pygtk 条目只接受 float ?

java - 发送文件时在同一个套接字连接上发送消息

java - UDP 收到数据包但打印出有趣的结果