socket.recvfrom()返回的结果

问题描述 投票:0回答:1

我在 python-3.5 中有这个简单的代码:

import socket
sock = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, socket.ntohs(3))
raw_data, addr = sock.recvfrom(65536)

recvfrom() 在 raw_data 变量中返回在套接字上接收到的数据,并在 addr 变量中返回一个元组。

这个返回的元组(addr)有5个元素,我找不到不同元素的含义。

addr[0] 包含接收 raw_data 的接口的名称。

addr[1] 包含收到的以太网类型。

addr[4]包含发送者的第2层地址(据我所知)。

元素addr[2]和addr[3]中包含的值是什么?

python sockets python-3.5 raw-sockets recvfrom
1个回答
0
投票

第三个与您看到的发件人地址有某种关系:

('eth0', 2048, 4, 1, b'RT\x00\x96\x9d\x16')
('eth0', 2054, 1, 1, b'\x00\x10t"\x82|')
('eth0', 2048, 0, 1, b'l;k`g0')
© www.soinside.com 2019 - 2024. All rights reserved.