python - 如何在Python中通过NAT确定出站端口

标签 python sockets udp port nat

我正在研究一种通过 UDP 将数据从一个程序发送到已知 IP 和端口的另一个程序的方法。已知 IP 和端口上的程序从原始 IP 接收消息,但由于 NAT,端口被隐藏(类似于 30129)。已知 IP 和端口处的程序想要向查询程序发送确认和/或信息。它可以将其发送回原始IP和被遮盖的端口#。但是查询程序如何知道要监视哪个端 Eloquent 能重新连接呢?或者,有没有一种方法(这是Python)说“通过端口3200将其发送到端口7000上的已知IP(1.2.3.4)?这样已知的IP/端口可以响应端口30129,但它会得到重定向到 3200,查询程序知道要监视该地址。如果有任何帮助,我们将不胜感激。而且不,TCP 不是一个选项。

最佳答案

好吧,我想通了 - 诀窍是使用与您过去发送的相同的 sock 对象来接收。至少在最初的实验中,这似乎起到了作用。感谢您的帮助。

关于python - 如何在Python中通过NAT确定出站端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22487388/

相关文章:

python - 带有自定义按钮的 QStyledItemDelegate

python - 有没有比官方网站更好的 Twisted 的全面、广泛的文档?

python - Spark : Generate Map Word to List of Similar Words - Need Better Performance

java - 套接字超时和取消

用于工作站客户端的 c# 热图像服务器流

python - 未实现错误 : file structure not yet supported from pandas read_csv

python - 操作系统错误 : [WinError 10038] An operation was attempted on something that is not a socket

java - 编写 java.net.SocketImplFactory

c - UDP 客户端和服务器无法跨不同机器进行通信

c - : sending UDP packet using Sendto() got "message too long"如何解决