如何使用python从特定接口发送igmp连接?
我正在尝试用Python实现以下程序,以从特定接口发送连接请求(现在我的内核默认选择了一些东西) 我试图将如何使用python从特定接口发送igmp连接?,python,sockets,linux-kernel,multicast,igmp,Python,Sockets,Linux Kernel,Multicast,Igmp,我正在尝试用Python实现以下程序,以从特定接口发送连接请求(现在我的内核默认选择了一些东西) 我试图将socket.INADDR\u ANY更改为socket.inet\u aton('X.X.X.X') 当X.X.X.X是用字符串表示的我的接口ip地址时,我得到了一个错误 有什么办法可以让它工作吗 谢谢,塔洛找到了答案: 需要将“4sl”更改为“4s4s”,并将要发送igmp加入请求的接口表示为四字节字符串。我可以按如下方式编写代码: interface='168.152.63.15' m
socket.INADDR\u ANY
更改为socket.inet\u aton('X.X.X.X')
当X.X.X.X
是用字符串表示的我的接口ip地址时,我得到了一个错误
有什么办法可以让它工作吗
谢谢,塔洛找到了答案:
需要将“4sl”更改为“4s4s”,并将要发送igmp加入请求的接口表示为四字节字符串。我可以按如下方式编写代码:interface='168.152.63.15'
mreq=struct.pack(“4s4s”、socket.inet\u aton(MCAST\u GRP)、socket.inet\u aton(interface))
import socket
import struct
import time
MCAST_GRP = '239.0.1.1'
MCAST_PORT = 2000
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sock.bind((MCAST_GRP, MCAST_PORT))
mreq = struct.pack("4sl", socket.inet_aton(MCAST_GRP), socket.INADDR_ANY)
sock.setsockopt(socket.IPPROTO_IP, socket.IP_ADD_MEMBERSHIP, mreq)