【发布时间】:2018-09-22 08:52:37
【问题描述】:
我正在尝试从我的虚拟机将我在 python 中的套接字绑定到我的另一个虚拟机的地址,以便我可以嗅探两者交换的帧。这是我的代码
import socket
UDP_IP = "fe80:849b:21f4:624c:d70b"
UDP_PORT = 61627
sock = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR,1)
sock.bind((UDP_IP, UDP_PORT))
while True:
data, addr = sock.recvfrom(1024)
print(data)
当我尝试执行我的 python 时,我收到一条错误消息:
sock.bind((UDP_IP, UDP_PORT))
socket.error: [Error 22] Invalid argument
我做错了什么,提前谢谢!
【问题讨论】:
-
该 IPv6 地址无效。
-
为什么无效?
-
因为它没有强制作用域ID。