from twisted.internet import protocol
from twisted.internet import reactor


class MyProtocol(protocol.DatagramProtocol):

    def startProtocol(self):
        for interface_ip in ['192.168.2.2', '10.99.1.100']:
            self.transport.joinGroup('224.0.0.9', interface_ip)
if __name__ == '__main__':
    reactor.listenMulticast(1520, MyProtocol())
reactor.run()
Python twisted framework multicast bind on specific interface