按上一讲制作神器的原理图接好我们的抓包神器,电脑的网卡获取ip的模式随便。IPTV盒子原来的认证原来是什么模式现在就还是什么模式。是 pppoe 认证的还是 pppoe,是 dhcp 的还是用 dhcp,不做任何改动。
最新研究的简单办法,如果不行再用后面的方法
a、使用抓包神器 D 头连接电脑网卡;
b、启动 wireshark,选择需要侦听的本地连接网卡,启动 iptv 盒子的电源。此时 wireshark 的数据区从空白开始变的有数据不停的冒出来。等到电视中进入了 iptv 的直播界面,通过遥控器进入 iptv 的设置,在网络设置里面查看当前 iptv 获取到的 ip,比如我的就是10.236.63.200 的 ip。关闭 iptv 盒子的电源。此时 wireshark 的数据区停止冒出新数据。
c、我们在 wireshark 的顶栏第一行,表达式过滤器栏中,输入 ip.dst eq 10.236.63.200 and http 回车。wireshark 就把所有目的 ip 是我的 iptv 盒子的 http 包都列出来。
如果你没有显示出来,那么可能你插的 C 头抓包,换另外一个头再重复上面的动作。一定要 dst 这一列能看到你的 iptv 盒子的 ip 才行
d、Crtl+F 调出搜索栏,在前面选择 分组字节流 窄(UTF-8/ASCII) 字符串,再到搜索框里面输入 jsSetConfig ,点查找
e、会自动定位到搜索到的这一栏,我们在这一行上面点右键,选择 追踪流->http 流,会弹出一个新的对话框
f、在新对话框里面的最下面搜索框里面填入 239. 查找,你就会看到系统定位到了 igmp://239.XXX.XXX.XXX:XXXX 的地址,这里我们就看到了列表地址了
g、关于频道列表中文名称的处理,如果是乱码。尝试在这个对话框下面把ASCII换成UTF-8,如果还是乱码,说明传输的是GBK编码,那就要用本站机油共享的关于 GBK 编码的汉字处理方法,主要是转存为 Hex 的即16进制的形式,然后用诸如 Eneditor 编辑器转为GBK的编码..
h、请使用 notepad++ 由正则匹配筛选,勾选匹配,得到m3u格式的地址列表。
查找内容那里为:
+?ChannelName=\"(.+?)\",ChannelURL=\".+?://(.+?)\".+?
替换为:
#EXTINF:-1, \1\nrtp://\2\n
保存为 m3u 格式,就可以在用 vlc 直接播放了。
这个地方有个坑,我的 notepad++ 复制上面的规则没法用,研究了半天发现是复制过去的\这个符号要删掉重新打,估计是复制过来,带了网页的格式。晕死了。
i、如果要在用友窝直播,这个格式是不行的。使用以下规则
查找内容那里为:
+?ChannelName=\"(.+?)\",ChannelURL=\".+?://(.+?)\".+?
替换为:
\1,rtp://\2\n
保存为UTF-8的txt文件,存到你的智能电视/安卓盒子的www.youwo.com文件里面,就可以正常观看了。
通常方法
1、启动 wireshark ,选择需要侦听的本地连接网卡,启动 iptv 盒子的电源。此时 wireshark 的数据区从空白开始变的有数据不停的冒出来。等到电视中进入了 iptv 的直播界面即可关闭 iptv 盒子的电源。此时 wireshark 的数据区停止冒出新数据。
我们在 wireshark 的顶栏第一行,表达式过滤器栏中,输入http回车。wireshark 就把所有的 http 包都列出来。
按Ctrl+F,搜索栏选择字符串,前面选择分组字节流。搜索框填写 loadbalanced=1,点查找
亮条会定位到搜索到的那一行
你可以看到有 2 列 ip,第一列源 IP,即发起网络请求的一方,第二列目的 IP,即请求发送到哪个服务器的 IP。
你仔细看,如果你是 pppoe 拨号的 IPTV 盒子,一般都会被系统分配一个 10 开头的内网 ip,
如果是 dhcp 的 iptv 盒子,一般都会被光猫分配一个 192 开头的内网ip。
我们记下这个 121 开头的服务器IP地址,后面有用。
这一条信息的意思就是 10 开头的 IPTV 盒子向 121 开头的服务器请求频道列表。121 开头的服务器收到请求后会返回一个 http 的数据包给 10 开头的 IPTV 盒子。这个包就是直播源地址数据。
这个包在哪儿呢?他在另外一个方向的包里面。好,因为我的电脑是单网卡,所以一次只能抓一个方向的包,现在我们换 D 头连接,抓接收方向的包。
2、换线,抓包神器D头连接电脑网卡
wireshark 关闭当前抓包,重新开始抓本地连接。数据区又变空白了。
启动 iptv 盒子的电源。此时 wireshark 的数据区从空白开始变的有数据不停的冒出来。等到电视中进入了 iptv 的直播界面即可关闭 iptv盒子的电源。此时 wireshark 的数据区停止冒出新数据。
我们在 wireshark 的顶栏第一行,表达式过滤器栏中,输入 http 回车。wireshark 就把所有的 http 包都列出来。
现在的源 ip 变成了远程服务器的IP,目的 ip 变成了 IPTV 盒子的 IP 了。
我们现在使用刚才记录的那个 121 服务器 IP,找到第一次在源IP栏目中出现这个IP的这一行,info 栏显示 http 200 OK ,意思是说我响应了你上面我们记录那个IP的时候那个 http 请求,返回了频道列表给你了。
我们在这一行上面右键,选追踪流,http 流,往下拖,很长,大概到中央位置。
如图显示频道列表的数据,右下角选 utf-8 ,汉字就不会乱码,不过貌似我的传输过来是GBK编码,wireshark 没法解码,所以中文频道还是乱码。
其中 ChannelURL="igmp://239.252.219.64:5140"
,就是直播源地址。
请使用 notepad++ 由正则匹配筛选,勾选匹配,得到地址列表。
查找内容那里为:
+?ChannelName=\"(.+?)\",ChannelURL=\".+?://(.+?)\".+?
替换为:
#EXTINF:-1, \1\nrtp://\2\n
这个地方有个坑,我的 notepad++ 复制上面的规则没法用,研究了半天发现是复制过去的 \ 这个符号要删掉重新打,估计是复制过来,带了网页的格式。晕死了。
3、人工完善组播源频道名字
最近看到本站机油共享了,关于 GBK 编码的汉字处理方法,主要是转存为 Hex 的即16进制的形式,然后用诸如 Eneditor 编辑器转为 GBK 的编码..
如果你搞不定,貌似只能人工一个台一个台的写名字了。
可以将这个列表保存好,拔掉抓包线,电脑直连光猫 IPTV 口,拨号或者 DHCP 后,用 vlc 打开这个列表,一个台一个台切换看着改
湖北荆州电信没成功啊
:exclaim: :smile: :smile: 感谢大神的分享
大大可以分享IP就好,人工一个台一个台的写名字这种粗活不应该是网友们一起来做的吗