python实现多播数据的发送和接收

在项目中,YS私有协议用到多播技术,在验证其安全特性时用到python去发送多播包,在此做个记录。

多播服务器用于向多播组发送多播数据包,其实现代码如下:

#coding:utf-8,
import socket 
import time

ANY = 0.0.0.0
SENDERPORT=1501 
MCAST_ADDR = 224.168.2.9
MCAST_PORT = 1600

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP) 
sock.bind((ANY,SENDERPORT)) #绑定发送端口到SENDERPORT,即此例的发送端口为1501
sock.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_TTL, 255) #设置使用多播发送
while 1: 
    time.sleep(10)
    sock.sendto(Hello World, (MCAST_ADDR,MCAST_PORT) ); #将hello world发送到多播地址的指定端口,属于这个多播组的成员都可以收到这个信息

通过wireshark捕抓到的数据包如下:

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。