通过IPTV播放应用在电视、电脑或者手机观看家中的IPTV电视直播,可以摆脱IPTV机顶盒的限制,方便在家中多台电视或者手机电脑上观看IPTV电视直播。运营商IPTV的电视直播信号稳定、高清,和互联网的电视直播源相比有着明显的优势。这种方法其中一个关键点是需要知道家中IPTV的电视直播源地址。前段写过两篇文章,介绍如何自己动手抓取家中IPTV直播源地址,用软件应用观看IPTV电视直播不求人。 自己动手抓取家中IPTV直播源地址,软件看运营商IPTV直播不求人 再谈自己动手抓取家中IPTV直播源地址,软件随意观看IPTV电视直播 前文中方法使用了带网管支持网络端口镜像的交换机,或者有支持多网卡桥接的电脑。目的都是用来镜像连接IPTV机顶盒的网络端口 ,再通过Wireshark软件抓取的IPTV电视直播频道的直播源地址。可能不少朋友家中没有网管交换机或者多网卡的电脑。今天介绍一种远程抓取的方法,只是电脑能连接到路由器就可以。当然,也需要满足两个前提条件,一是IPTV机顶盒是可以连接到路由器网口使用,目前很多路由都支持IPTV的设置。OpenWrt或者华硕路由器也可以参考我的相关文章设置。另一个是路由上要有tcpdump应用。OpenWrt的路由器可以通过下面命令很方便地安装。 opkg updateopkg install tcpdump 下面的示例使用OpenWrt路由,用lan3口连接IPTV机顶盒。在电脑上启动Wireshark应用,捕获设备选择SSH remote capture。 Wireshark中使用SSH remote capture 在弹出的话框中,设置Remote SSH server address为路由器的地址,Remote SSH server port输入SSH端口号,比如22。在Authentication中输入正确的用户名密码,在Capture中选择正确的抓取网络接口,比如lan3。capture command选择tcpdump。 SSH remote capture 确认后点开始按钮开始捕获,进入Wireshark应用的主界面。下图抓取时IPTV正在播放央视CCTV-1频道。根据之前文章的介绍,我们就可以知道CCTV-1的组播地址为rtp://239.3.1.129:8008。 Wireshark捕获应用 因为IPTV机顶盒在开机过程会获取电视频道列表信息,可以用Wireshark捕获一下IPTV机顶盒开机的过程来获取整个频道列表信息,从IPT机顶盒加电到正常进入电视直播画面,一般是CCTV-1。根据之前文章的介绍,可以通过查找一些关键字找到频道列表信息的位置,比如下图中查找igmp. 因为在频道地址是往往使用igmp组播地址。 查找关键字igmp 在找到的位置选择追踪http stream,可以更清楚的查看返回的结果。可以看到频道列表信息是返回在一个JSON字符串中。 HTTP Stream追踪 把整个JSON字符串拷贝出来,找一个json格式化工具。可以更好地查看结果。比如在下面的JSON查看工具中,可方便看出各个频道的地址信息,比如下图的CCTV-17,直播源地址为rtp://239.3.1.151:8144。这里把地址中的igmp换成了rtp,因为IPTV播放软件一般使用rtp。 JSON查看地工具 整个列表整理下来,就是一个完整的家中IPTV直播源列表了。怎么样,自己抓取还方便吗? |
|