前面讲到通过网络空间测绘工具fofa来查询暴露在网络中的组播IP,测试组播节目是否可用,并制作可以使用的组播节目列表:
那么我们完全可以通过写代码来实现以上步骤。
一、实施步骤
要实现以上目的,我们可以分为以下几步:
1、前提条件我们要找到需要获取的地区的组播地址列表,这个组播地址列表基本是固定不变的。如自家有开通iptv,可以通过抓包获取本地的组播地址列表,其他地区的可以通过搜索获取。将列表地址保存至rtp.txt,文件格式如下:
节目名称,rtp://mcast_addr:mport
2、设定要查询的省份,通过关键字在fofa上查询出组播的IP,结果存至变量result_urls

3、通过cv2测试组播IP是否可用:测试视频链接(组播result_urls+其中一个节目的组播地址urls_udp)分辨率是否大于0,大于0的组播IP结果保存至res.txt

4、制作节目列表,用http://{ip}/udp/替rtp中的rtp://,结果保存至我们需要的iptv.txt,

5、同时,我们可以将iptv.txt转成带台标和节目列表的iptv.m3u
二、测试代码
我们以获取广东电信为例:
1、我们将网上找到的广东电信组播地址保存至rtp.txt

2、修改代码参数,用记事本打开udp_iptv.py,
修改province_names 为需要查询的省份,广东

修改对应省份的组播地址urls_udp的值,我们需要修改为其中一个节目地址就可以,如我们填入广东电信广东卫视的地址239.77.1.19:5146

3、运行代码python3 udp_iptv.py

查看一下生成的结果:iptv.txt和iptv.m3u


测试一下m3u的台标和epg:

主要节目可以显示台标和EPG。
另外一个udp_iptv2.py可以不修改代码,提示输入省份和对应省份的一个组播节目地址mcast_addr:mport,以湖南电信为例:
首先复制湖南电信组播节目列表至rtp.txt,

然后运行udp_iptv2.py,依次按提示省份输入:湖南,提示组播地址(ip:import)输入湖南电信湖南卫视组播地址:239.76.253.101:9000,就可以运行至结束了

我们看看运行结果:

说明∶
1、我们第一步都是找到需要获取省份的组播地址列表复制到rtp.txt,然后修改udp_iptv.py的代码参数或者运行udp_iptv2.py按提示输入参数。
2、所需运行库:requests,bs4,cv2

安装运行库:pip install 所需库 -i 国内源或pip3 install 所需库 -i 国内源
pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simplepip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simplepip install Beautifulsoup4 -i https://pypi.tuna.tsinghua.edu.cn/simple
3、udp_iptv.py和udp_iptv2.py二选一即可。
4、扩展应用∶我们可以每天定期运行一次udp_iptv.py,播放器播放地址指向我们的iptv.txt或iptv.m3u,这样就可以不用等失效了手动运行更新了。
三、相关下载
1、文件内容:
运行所需文件:udp_iptv.py、udp_iptv2.py、rtp.txt
生成文件:iptv.txt、iptv.m3u,res.txt(可用组播IP)
附广东电信和湖南电信组播地址:广东电信.txt、湖南电信.txt

2、说明:组播节目如果连接数较多可能会卡顿。
3、测试文件下载地址:
关注本公众号,回复本文发布日期:【240424】即可获取下载链接。

欢迎关注本公众号,后台发消息给我,我会即时进行回复的哦。