ツイストのUDPマルチキャストのセキュリティに関して2つの質問があります。
class UDPProtocol(twisted.internet.protocol.DatagramProtocol):
def startProtocol(self):
self.transport.joinGroup('224.0.0.1')
def datagramReceived(self, data, (host, port)):
if host == '192.126.1.65':
print "UDPWebscriptProtocol: received %r from %s:%d" % (data, host, port)
そして、これは私が聞く方法です:
reactor.listenMulticast(10222, UDPProtocol(), listenMultiple = True, interface = '224.0.0.1')
listenMulticastのインターフェースの仕様に注意してください。
- listenMulticastでインターフェースを指定することと、プロトコルでグループに参加することの違いは何ですか?
- プロトコルでは、ホストインターフェイスに正しいIP(この場合はrfc 1918アドレスを持つプライベートインターフェイス)があるかどうかを確認します。誰かがこのIPを偽装して、私のグループにブロードキャストすることはできますか?または、IPをスプーフィングすることのみが可能であり、インターフェースは可能ではありませんか?
一般的に、このコードはどの程度安全ですか?