Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Python DGRAM套接字获取目标IP和端口_Python_Sockets_Networking - Fatal编程技术网

从Python DGRAM套接字获取目标IP和端口

从Python DGRAM套接字获取目标IP和端口,python,sockets,networking,Python,Sockets,Networking,我在Python中有以下UDP/DGRAMsocket: sock.bind((UDP_IP, UDP_PORT)) while True: data, addr = sock.recvfrom(1024) # buffer size is 1024 bytes print "received message:", data 此代码正在代理服务器中运行,因此目标IP和端口与套接字不匹配。我正在使用tproxy截取数据包 如何获取目标IP和端口,而不是源IP和端口?来自 : 返

我在
Python
中有以下
UDP
/
DGRAM
socket

sock.bind((UDP_IP, UDP_PORT))

while True:
    data, addr = sock.recvfrom(1024) # buffer size is 1024 bytes
    print "received message:", data
此代码正在代理服务器中运行,因此目标IP和端口与套接字不匹配。我正在使用
tproxy
截取数据包

如何获取目标IP和端口,而不是源IP和端口?

来自 :

返回套接字自己的地址。例如,这对于查找IPv4/v6套接字的端口号非常有用


所以你想打印出
sock.getsockname()

我想我已经回答了你的问题,但可能误解了你。您刚刚将套接字绑定到一个地址/端口,并且获得了另一端的地址(在
addr
中),因此您已经获得了这两条信息。它没有给我数据包的目标IP和端口。只有套接字正在侦听的内容,以及来自数据包的源IP和端口。此代码正在代理服务器中运行,因此目标IP和端口与套接字不匹配。我正在使用
tproxy
截取数据包。如果Python中存在
recv_msg()
,则需要使用
recv_msg()
来检索源地址。这个问题似乎已经在这里得到了回答:这给了套接字自己的地址,正如您所写的。不是数据包目的地IP和端口。您使用的术语目的地非常模糊,这取决于您谈论的是对话的哪一方。i、 e.发送数据包时的目的地是收到数据包时的源。我建议在再次讨论这个问题时要更加精确。。。