一种读取机顶盒MAC地址的方法与流程

文档序号:14058703阅读:1735来源:国知局
一种读取机顶盒MAC地址的方法与流程

本发明涉及数字电视技术领域,更具体的说,是涉及一种读取机顶盒MAC地址的方法。



背景技术:

随着数字电视技术的深入发展,一种利用宽带网、互联网、多媒体和通讯等多种技术于一体,向家庭用户提供包括数字电视在内的多种交互式服务的双向互动型数字机顶盒被广泛的应用。如何准确、快速地读取机顶盒MAC地址就成为一个本领域的重要问题。一方面,MAC地址能唯一标识一台双向机顶盒,广电运营商通过MAC地址对网内数以几万计的机顶盒进行统一管理,因此,如何保证读取的MAC地址的准确性变得尤为重要。另一方面,机顶盒生产厂商需要将机顶盒的MAC地址打印条码标签贴到机顶盒和包装盒上,因此,如何保证快速的读取MAC地址,从而提高生产效率、降低生产成本也显得尤为重要。

目前,读取机顶盒MAC地址的技术主要分为两种:通过串口或U盘读取MAC地址。其中,通过串口读取MAC地址是通过机顶盒串口与上位机连接,机顶盒中软件将MAC地址输出到串口,上位机软件获取到MAC地址后,写入到文件中,需要机顶盒增加串口输出MAC地址功能,上位机增加串口获取MAC地址并保存的功能,以便后续使用;通过U盘读取MAC地址是将U盘插入机顶盒USB接口,机顶盒中软件通过USB接口将MAC地址输出到U盘的文件中,需要机顶盒配备有USB接口功能。

上述两种读取机顶盒MAC地址的方法,第一种不仅需要发布上位机,而且机顶盒和上位机上均需要额外增加功能;第二种U盘读取的方法虽然简便,但是此方法要求较高,一方面机顶盒必须要支持USB功能,这样很大程度上限制了此方法的使用范围,因为并非所有双向机顶盒都具备USB接口;另一方面生产过程中必须要保证U盘读写的稳定性,否则会导致数据丢失或者异常影响生产效率和质量。因此,提供一种能够保证读取MAC地址准确、快捷及方便的方法,是本领域技术人员亟待解决的问题。



技术实现要素:

有鉴于此,本发明提供了一种读取机顶盒MAC地址的方法,以克服现有技术中由于需要对机顶盒做特殊的功能和设备功能的增加而无法保证读取机顶盒MAC地址准确性,从而在生产过程中的生产效率低和成本高的问题。

为实现上述目的,本发明提供如下技术方案:

一种读取机顶盒MAC地址的方法,包括:

接收机顶盒开机初始化后发起的网络请求所对应的数据包;

对所述数据包过滤并解析数据包头部信息获取MAC地址。

其中,所述接收机顶盒开机初始化后发起的网络请求所对应的数据包,还包括:

所述机顶盒采用网线通过网口与上位机相连。

其中,所述机顶盒采用网线通过网口与上位机相连的连接方式为:直连方式或通过中间设备HUB方式或通过路由器方式。

其中,所述直连方式根据所述机顶盒的网卡适应性选择连接线的方式,所述连接线的方式为:交叉线或直连线。

其中,所述接收机顶盒开机初始化后发起的网络请求所对应的数据包具体包括:

获取网络设备列表,提示用户选择需要过滤数据的网卡适配器并等待用户选择;

当接收到用户信息后,打开用户选定的网络设备并释放所述网络设备列表;

在winpcap工作模式下,根据设置的定时器,每隔一定时间获取一次数据包;

将获取到的所述数据包发送给所述上位机。

其中,还包括:

将获取到的所述MAC地址存入文件供后续打印输出,并提示用户读取MAC地址成功。

其中,所述网络请求包括PPPOE请求或DHCP请求。

其中,所述PPPOE请求或DHCP请求为携带所述机顶盒MAC地址的数据包。

经由上述的技术方案可知,与现有技术相比,本发明公开了一种读取机顶盒MAC地址的方法,通过网口读取机顶盒MAC地址,机顶盒用网线通过网口与上位机PC机相连,使用宽带接入方式ADSL的机顶盒在开机初始化网络设备后会发起PPPOE请求或使用DHCP方式的机顶盒在开机初始化网络设备后会发起DHCP请求,不管是PPPOE请求还是DHCP请求,机顶盒发送的都是携带自身MAC地址的数据包,上位机PC中软件采用winpcap方式过滤数据包并解析数据包头部信息获取机顶盒的MAC地址,然后将MAC地址存入文件供后续打印输出,因为机顶盒发送的是携带自身MAC地址的数据包,这样就保证了读取的MAC地址的准确性和正确性,另外,本方案还可以用作检测机顶盒网络接口是否通畅,为工厂生产减少了一道工序,提高了生产效率,缩短了生产周期,降低了生产成本。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例公开的一种读取机顶盒MAC地址的方法的流程图;

图2为本发明实施例公开的另一种读取机顶盒MAC地址的方法的流程图;

图3为本发明实施例公开的上位机与机顶盒的连接方式的示意图;

图4为本发明实施例公开的另一种读取机顶盒MAC地址的方法的流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明通过网口读取MAC地址,机顶盒用网线通过网口与上位机PC机相连,使用宽带接入方式ADSL的机顶盒在开机初始化网络设备后会发起PPPOE请求,使用DHCP方式的机顶盒在开机初始化网络设备后会发起DHCP请求,不管是PPPOE请求还是DHCP请求机顶盒发送的都是携带自身MAC地址的数据包,上位机PC中软件采用winpcap(windows packet capture windows操作系统下的免费的、公开的用于直接访问网络系统的开源库)方式过滤数据包并解析数据包头部信息获取机顶盒的MAC地址,然后将MAC地址存入文件供后续打印输出。

请参阅附图1,为本发明公开的一种读取机顶盒MAC地址的方法的流程图;本发明公开的一种读取机顶盒MAC地址的方法,具体为:

步骤101:接收机顶盒开机初始化后发起的网络请求所对应的数据包;

机顶盒的工作流程:机顶盒开机初始化网络设备,并发起网络请求,所述网络请求根据用户所用的机顶盒接入方式而发起对应的网络请求,包括:PPPOE请求或DHCP请求,使用宽带接入方式ADSL的机顶盒在开机初始化网络设备后会发起PPPOE请求,使用DHCP方式的机顶盒在开机初始化网络设备后会发起DHCP请求,不管是PPPOE请求还是DHCP请求机顶盒发送的都是携带自身MAC地址的数据包。

步骤102:对所述数据包过滤并解析数据包头部信息获取MAC地址。

上位机PC软件的工作流程:获取网络设备列表,提示用户选择需要过滤数据的网卡适配器并等待用户选择;当用户选定后,打开用户选定的饿网络设备并释放获取的设备列表;配置winpcap工作模式:包括设置winpcap网络过滤功能为非阻塞式,编译过滤规则,设置过滤规则;设置定时器,每隔一定时间获取一次数据包,一般设定时间为1s;获取数据包后解析数据包的头部信息即可得到发出该数据包配备的MAC地址,即机顶盒的MAC地址。

本方案中的过滤规则为:广播包中的PPPOE和DHCP请求数据包,即″ether broadcast and(ether[12:2]& 0xFFFF==0x8863 or dst port 67)″,其中″ether broadcast″表示广播包,″ether[12:2]&0xFFFF==0x8863″表示数据包头的ether[12]-ether[13]为0x8863,即协议类型为PPPOE Discovery,″dst port 67″表示目标端口号为67,即DHCP请求数据包。

上述实施例公开了一种读取机顶盒MAC地址的方法,通过网口读取机顶盒MAC地址,机顶盒用网线通过网口与上位机PC机相连,使用宽带接入方式ADSL的机顶盒在开机初始化网络设备后会发起PPPOE请求或使用DHCP方式的机顶盒在开机初始化网络设备后会发起DHCP请求,不管是PPPOE请求还是DHCP请求,机顶盒发送的都是携带自身MAC地址的数据包,上位机PC中软件采用winpcap方式过滤数据包并解析数据包头部信息获取机顶盒的MAC地址,然后将MAC地址存入文件供后续打印输出,因为机顶盒发送的是携带自身MAC地址的数据包,这样就保证了读取的MAC地址的准确性和正确性。

请参阅附图2,为本发明公开的另一种读取机顶盒MAC地址的方法的流程图;本发明还公开了另一种读取机顶盒MAC地址的方法,具体为:

步骤201:所述机顶盒采用网线通过网口与上位机相连;

所述机顶盒与上位机PC的连接方式为:

机顶盒与上位机PC直连方式,其中直连方式中包括:交叉线和/直连线连接方式,机顶盒与上位机PC直连时,上位机软件捕获到的数据包都是来自机顶盒,这就保证了解析到的MAC地址的准确性。若机顶盒网卡为非自适应,机顶盒与上位机的连接线只能用交叉线。若机顶盒网卡为自适应,机顶盒与上位机的连接线用交叉或者直连线均可,见附图3。

机顶盒通过中间设备HUB或者路由器方式与上位机PC相连。

机顶盒通过HUB或路由器与上位机PC相连时,上位机软件接收到的数据包有来自机顶盒的,也有来自其他网络设备的。其他网络设备发出的数据包多为ARP包,为DHCP和PPPOE数据包的可能性较小,所以上位机软件通过设置过滤条件,只过滤DHCP和PPPOE请求数据包就能正确获取到机顶盒的MAC地址,见附图3。

为了安全起见,一般生产线上主要采用机顶盒与上位机PC直连的连接方式,上位机PC中的软件也只过滤DHCP和PPPOE请求数据包。

步骤202:接收机顶盒开机初始化后发起的网络请求所对应的数据包;

机顶盒的工作流程:机顶盒开机初始化网络设备,并发起网络请求,所述网络请求根据用户所用的机顶盒接入方式而发起对应的网络请求,包括:PPPOE请求或DHCP请求,使用宽带接入方式ADSL的机顶盒在开机初始化网络设备后会发起PPPOE请求,使用DHCP方式的机顶盒在开机初始化网络设备后会发起DHCP请求,不管是PPPOE请求还是DHCP请求机顶盒发送的都是携带自身MAC地址的数据包。

步骤203:对所述数据包过滤并解析数据包头部信息获取MAC地址。

上位机PC软件的工作流程:获取网络设备列表,提示用户选择需要过滤数据的网卡适配器并等待用户选择;当用户选定后,打开用户选定的饿网络设备并释放获取的设备列表;配置winpcap工作模式:包括设置winpcap网络过滤功能为非阻塞式,编译过滤规则,设置过滤规则;设置定时器,每隔一定时间获取一次数据包,一般设定时间为1s;获取数据包后解析数据包的头部信息即可得到发出该数据包配备的MAC地址,即机顶盒的MAC地址。

本方案采用能访问网络底层的winpcap进行数据过滤,winpcap的结构和特点如下:

1、winpcap主要包括三个模块:内核级模块(Netgroup Packet Filter,NPF)和两个用户级模块(Packet.dll和Wpcap.dll),用户级模块以动态链接库的形式提供。内核模块是核心模块,它主要用于数据包的过滤,将其原样递交给应用层。Packet.dll是一个能用来直接访问NPF驱动程序的API。每个Windows版本都在内核与应用程序间提供不同的接口,Packet.dll用于处理这些差异,提供系统无关的API。它同NPF一样都是系统相关的。WPcap.dll是一个更高层的、系统无关的API,它是对Packet.dll更高层的封装。应用程序的开发都是基于WPcap.dll进行的。

2、winpcap可对双网卡进行操作,即当主机为双网卡时,winpcap可分别获得两张网卡各自的描述结构及地址,然后可以对它们分别进行操作。

3、winpcap可实现对底层包的截取过滤。

4、winpcap可开启指定网卡通过对过滤规则的设置,对特定协议的网络数据包进行过滤,比如:ARP,DHCP,PPPOE等。

5、winpcap提供了功能强大的API,易于用户开发。

上述实施例,公开了一种读取机顶盒MAC地址的方法,通过网口读取机顶盒MAC地址,机顶盒用网线通过网口与上位机PC机相连,使用宽带接入方式ADSL的机顶盒在开机初始化网络设备后会发起PPPOE请求或使用DHCP方式的机顶盒在开机初始化网络设备后会发起DHCP请求,不管是PPPOE请求还是DHCP请求,机顶盒发送的都是携带自身MAC地址的数据包,上位机PC中软件采用winpcap方式过滤数据包并解析数据包头部信息获取机顶盒的MAC地址,然后将MAC地址存入文件供后续打印输出,因为机顶盒发送的是携带自身MAC地址的数据包,这样就保证了读取的MAC地址的准确性和正确性,另外,本方案还可以用作检测机顶盒网络接口是否通畅,为工厂生产减少了一道工序,提高了生产效率,缩短了生产周期,降低了生产成本。

请参阅附图4,为本发明公开的另一种读取机顶盒MAC地址的方法的流程图;本发明公开的另一种读取机顶盒MAC地址的方法,具体为:

步骤401:所述机顶盒采用网线通过网口与上位机相连;

所述机顶盒与上位机PC的连接方式为:

机顶盒与上位机PC直连方式,其中直连方式中包括:交叉线和/直连线连接方式,机顶盒与上位机PC直连时,上位机软件捕获到的数据包都是来自机顶盒,这就保证了解析到的MAC地址的准确性。若机顶盒网卡为非自适应,机顶盒与上位机的连接线只能用交叉线。若机顶盒网卡为自适应,机顶盒与上位机的连接线用交叉或者直连线均可,见附图3。

机顶盒通过中间设备HUB或者路由器方式与上位机PC相连。

机顶盒通过HUB或路由器与上位机PC相连时,上位机软件接收到的数据包有来自机顶盒的,也有来自其他网络设备的。其他网络设备发出的数据包多为ARP包,为DHCP和PPPOE数据包的可能性较小,所以上位机软件通过设置过滤条件,只过滤DHCP和PPPOE请求数据包就能正确获取到机顶盒的MAC地址,见附图3。

为了安全起见,一般生产线上主要采用机顶盒与上位机PC直连的连接方式,上位机PC中的软件也只过滤DHCP和PPPOE请求数据包。

步骤402:获取网络设备列表,提示用户选择需要过滤数据的网卡适配器并等待用户选择;

步骤403:当接收到用户信息后,打开用户选定的网络设备并释放所述网络设备列表;

步骤404:在winpcap工作模式下,根据设置的定时器,每隔一定时间获取一次数据包;

步骤405:对所述数据包解析数据包头部信息获取MAC地址;

步骤406:将获取到的所述MAC地址存入文件供后续打印输出,并提示用户读取MAC地址成功。

综上所述:本发明公开了一种读取机顶盒MAC地址的方法,通过网口读取机顶盒MAC地址,机顶盒用网线通过网口与上位机PC机相连,使用宽带接入方式ADSL的机顶盒在开机初始化网络设备后会发起PPPOE请求或使用DHCP方式的机顶盒在开机初始化网络设备后会发起DHCP请求,不管是PPPOE请求还是DHCP请求,机顶盒发送的都是携带自身MAC地址的数据包,上位机PC中软件采用winpcap方式过滤数据包并解析数据包头部信息获取机顶盒的MAC地址,然后将MAC地址存入文件供后续打印输出,因为机顶盒发送的是携带自身MAC地址的数据包,这样就保证了读取的MAC地址的准确性和正确性,另外,本方案还可以用作检测机顶盒网络接口是否通畅,为工厂生产减少了一道工序,提高了生产效率,缩短了生产周期,降低了生产成本。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1