一种实现网卡功能的方法和装置
技术领域
本申请涉及计算机领域,尤其涉及一种实现网卡功能的方法和装置。
背景技术
网卡是工作在链路层的网络组件,是局域网中连接计算机和传输介质的接口,不仅能实现与局域网传输介质之间的物理连接和电信匹配,还涉及帧的发送与接收、帧的封装与拆封、介质访问控制、数据的编码与解码以及数据缓存等功能。
系统用户是将用户定义到某一系统的所有信息组成的记录并提供安全凭证,主要包括用户名和用户登录所需的密码,以及用户使用以便用户和计算机能够登录到网络并访问域资源的权利和权限。
目前对于同一计算机在不同系统用户下所使用相同的网卡,它的网卡功能是一致的,也就是说如果在其中一个系统用户下设置了一张网卡的功能,那么切换到其他系统用户所使用该张网卡的功能是相同的,这种网卡的实现不能满足对于不同系统用户需要不同网卡功能的需求。
发明内容
有鉴于此,本申请提供一种实现网卡功能的方法装置,以解决现有技术对于不同系统用户无法实现不同网卡功能的问题。
具体地,本申请是通过如下技术方案实现的:
本发明提供一种实现网卡功能的方法,所述方法包括:
设置网卡配置信息的数据库,所述网卡配置信息包括:网卡对应系统用户的网卡功能;
接收用户输入的切换操作,所述切换操作包括:系统用户切换操作和/或网卡切换操作;
从所述数据库中获取所述切换操作对应的的网卡配置信息;
根据所述网卡配置信息实现对应的网卡功能。
可选的,所述设置网卡配置信息的数据库,包括:
获取网卡信息和系统用户信息,所述网卡信息包括:网卡名,所述系统用户信息包括:系统用户名;
根据所述网卡信息和所述系统用户信息设置网卡配置信息;
将所述网卡配置信息保存到所述数据库。
可选的,所述获取网卡信息和系统用户信息,包括:
通过I/O请求包从网络驱动获取所述网卡信息;以及,
通过API函数NetUserEnum获取所述系统用户信息。
可选的,所述根据所述网卡信息和所述系统用户信息设置网卡配置信息,包括:
通过修改全局变量struct_ADAPT设置所述网卡配置信息。
可选的,所述根据所述网卡配置信息实现对应的网卡功能,包括:
通过读取所述全局变量struct_ADAPT中的参数信息设置对应的网卡功能。
本发明还提供一种实现网卡功能的装置,所述装置包括:
数据库设置单元,用于设置网卡配置信息的数据库,所述网卡配置信息包括:网卡对应系统用户的网卡功能;
切换操作接收单元,用于接收用户输入的切换操作,所述切换操作包括:系统用户切换操作和/或网卡切换操作;
网卡配置信息获取单元,用于从所述数据库中获取所述切换操作对应的的网卡配置信息;
网卡功能实现单元,用于根据所述网卡配置信息实现对应的网卡功能。
可选的,所述数据库设置单元,包括:
信息获取子单元,用于获取网卡信息和系统用户信息,所述网卡信息包括:网卡名,所述系统用户信息包括:系统用户名;
配置信息设置子单元,用于根据所述信息获取单元获取的网卡信息和所述系统用户信息设置网卡配置信息;
保存子单元,用于将所述配置信息设置子单元设置的配置信息保存到数据库。
可选的,所述信息获取子单元,包括:
网卡信息获取子单元,用于通过I/O请求包从网络驱动获取所述网卡信息;以及,
用户信息获取子单元,用于通过API函数NetUserEnum获取所述系统用户信息。
可选的,所述配置信息设置子单元,包括:
配置信息设置子单元,用于通过修改struct_ADAPT全局变量设置所述网卡配置信息。
可选的,所述网卡功能实现单元,包括:
网卡功能实现子单元,用于通过读取所述全局变量struct_ADAPT中的参数信息设置对应的网卡功能。
本发明实施例,设置网卡配置信息的数据库,接收用户输入的切换操作,从数据库中获取切换操作对应的的网卡配置信息,根据网卡配置信息实现对应的网卡功能,由于数据库中配置了不同的网卡对应不同的系统用户实现不同的网卡功能,使得网卡可以根据系统用户的不同实现不同的网卡功能,满足了系统用户对网卡的不同功能,丰富了网卡的使用场景。
附图说明
图1是本申请一示例性实施例示出的一种实现网卡功能方法的流程图;
图2是本申请另一示例性实施例示出的一种实现网卡功能方法的流程图;
图3是本申请一示例性实施例示出的实现网卡功能装置所在终端设备的一种硬件结构图;
图4是本申请一示例性实施例示出的实现网卡功能装置的结构图;
图5是本申请另一示例性实施例示出的一种实现网卡功能装置的结构图;
图6是本申请另一示例性实施例示出的一种实现网卡功能装置的结构图;
图7是本申请另一示例性实施例示出的一种实现网卡功能装置的结构图;
图8是本申请另一示例性实施例示出的一种实现网卡功能装置的结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
如图1所示为本申请一示例性实施例示出的一种实现网卡功能方法的流程图,所述方法包括以下步骤:
步骤S101,设置网卡配置信息的数据库,所述网卡配置信息包括:网卡对应系统用户的网卡功能。
在本发明实施例中,终端中设置有一网卡配置信息的数据库,其中保存有终端上的所有网卡分别对应所有系统用户的网卡功能,如:终端上包括系统用户“张三”、“李四”,包括网卡“网卡A”、“网卡B”,每张网卡的网卡功能均为“放行”、“阻断”,则网卡配置信息可以设置为“网卡A-张三-放行”、“网卡A-张三-阻断”、“网卡A-李四-放行”、“网卡A-李四-阻断”、“网卡B-张三-放行”、“网卡B-张三-阻断”、“网卡B-李四-放行”以及“网卡B-李四-阻断”。
如图2所示为本申请另一示例性实施例示出的一种实现网卡功能方法的流程图,所述设置网卡配置信息的数据库,包括:
步骤S201,获取网卡信息和系统用户信息,所述网卡信息包括:网卡名,所述系统用户信息包括:系统用户名。
在本发明实施例中,终端首先需要获取在终端上的所有网卡的网卡名以及终端上所有系统用户的系统用户名,其获取方法具体为:
通过I/O请求包从网络驱动获取所述网卡信息;以及,
通过API函数NetUserEnum获取所述系统用户信息。
在本发明实施例中,网卡的网卡信息通常保存在网络驱动中,因此终端通过I/O请求包(I/O Request Packet,简称:IRP)与网络驱动进行交互,进而获取网卡的网卡信息;终端获取系统用户信息,则需要通过系统自带的应用程序编程接口(ApplicationProgramming Interface简称:API)函数从操作系统中获取系统用户信息。
步骤S202,根据所述网卡信息和所述系统用户信息设置网卡配置信息。
在本发明实施例中,网卡通常包含以下网卡功能:放行、阻断、单IP、NAT穿越、ARP防护或反代理等,设置网卡配置信息即是:网卡对不同的系统用户设置不同的网卡功能。设置网卡配置信息根据实际应用的不同而不同,本申请不做限定。
所述根据所述网卡信息和所述系统用户信息设置网卡配置信息,包括:
通过修改struct_ADAPT全局变量设置所述网卡配置信息。
在本发明实施例中,网卡的相关信息通常保存在数据结构为struct_ADAPT的全局变量中,网卡配置信息同样也保存在该struct_ADAPT中,通过对struct_ADAPT进行修改,在struct_ADAPT中增加自定义的参数,既可以设置网卡的网卡配置信息。
可选的,网卡的网卡功能可配置成如下的参数:
数值 |
1 |
2 |
3 |
4 |
5 |
…… |
n |
功能 |
放行 |
阻断 |
单ip |
nat穿越 |
反代理 |
|
Arp防护 |
其中,参数1代表“放行”,参数2代表“阻断”,参数3代表“单IP”、参数4代表“nat穿越”、参数5代表“反代理”、……、参数n代表“Arp防护”,将上述参数“1、2、3、……、n”添加到struct_ADAPT中,即可完成设置网卡配置信息。
步骤S203,将所述网卡配置信息保存到所述数据库。
在本发明实施例中,将所有的网卡配置信息保存到终端的数据库中,即完成数据库的设置过程。
需要指出的是,切换网卡操作由终端的网络驱动实现,终端设置完成的数据库可以通过I/O请求包发送到网络驱动。
步骤S102,接收用户输入的切换操作,所述切换操作包括:系统用户切换操作和/或网卡切换操作。
在本发明实施例中,用户输入的切换操作通常有多种情况,包括但不限于:系统用户切换操作、网卡切换操作等,对于系统用户切换操作,举例如下:终端中包含三个系统用户,用户名分别为“张三”、“李四”、“王五”,正在使用的系统用户是“张三”,此时将系统用户由“张三”切换为“李四”,即为系统用户切换操作;对于网卡切换操作,举例如下:终端中包含三种网卡,分别为“网卡A”、“网卡B”、“网卡C”,正在使用的网卡是“网卡A”,此时将使用网卡由“网卡A”切换为“网卡B”,即为网卡切换操作;对于系统用户切换操作和网卡切换操作,举例如下:终端中包含三个系统用户和三个网卡,系统用户的用户名分别为“张三”、“李四”、“王五”,网卡分别为“网卡A”、“网卡B”、“网卡C”,正在使用的系统用户是“张三”,使用的网卡是“李四”,此时将系统用户由“张三”切换为“李四”,并将网卡由“网卡A”切换为“网卡B”,即为系统用户切换操作和网卡切换操作。
步骤S103,从所述数据库中获取所述切换操作对应的的网卡配置信息。
在本发明实施例中,根据获取的切换操作的内容对上述数据库进行检索,通过检索即可获得对应的网卡配置信息。
步骤S104,根据所述网卡配置信息实现对应的网卡功能。
在本发明实施例中,终端获取了对应的网卡配置信息,即可根据网卡配置信息实现对应的网卡功能。具体的,终端读取全局变量struct_ADAPT,获取struct_ADAPT中的参数,根据其中的参数实现不同的网卡功能。
本发明实施例,设置网卡配置信息的数据库,接收用户输入的切换操作,从数据库中获取切换操作对应的的网卡配置信息,根据网卡配置信息实现对应的网卡功能,由于数据库中配置了不同的网卡对应不同的系统用户实现不同的网卡功能,使得网卡可以根据系统用户的不同实现不同的网卡功能,满足了系统用户对网卡的不同功能,丰富了网卡的使用场景。
与前述实现网卡功能方法的实施例相对应,本申请还提供了一种实现网卡功能装置的实施例。
本申请实现网卡功能装置的实施例可以应用在终端设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在终端设备上的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本申请实现网卡功能装置所在终端设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的终端设备通常根据该终端设备的实际功能,还可以包括其他硬件,对此不再赘述。
请参考图4,为本申请一示例性实施例示出的实现网卡功能装置的结构图,为了便于说明,仅示出与本发明实施例相关的部分,包括:
数据库设置单元401,用于设置网卡配置信息的数据库,所述网卡配置信息包括:网卡对应系统用户的网卡功能。
在本发明实施例中,终端中设置有一网卡配置信息的数据库,其中保存有终端上的所有网卡分别对应所有系统用户的网卡功能,如:终端上包括系统用户“张三”、“李四”,包括网卡“网卡A”、“网卡B”,每张网卡的网卡功能均为“放行”、“阻断”,则网卡配置信息可以设置为“网卡A-张三-放行”、“网卡A-张三-阻断”、“网卡A-李四-放行”、“网卡A-李四-阻断”、“网卡B-张三-放行”、“网卡B-张三-阻断”、“网卡B-李四-放行”以及“网卡B-李四-阻断”,该设置数据库由数据库设置单元401完成。
如图5所示为本申请另一示例性实施例示出的一种实现网卡功能装置的结构图,所述数据库设置单元401,包括:
信息获取子单元4011,用于获取网卡信息和系统用户信息,所述网卡信息包括:网卡名,所述系统用户信息包括:系统用户名。
在本发明实施例中,信息获取子单元4011获取在终端上的所有网卡的网卡名以及终端上所有系统用户的系统用户名。
如图6所示为本申请另一示例性实施例示出的一种实现网卡功能装置的结构图,其中,所述信息获取子单元4011,包括:
网卡信息获取子单元40111,用于通过I/O请求包从网络驱动获取所述网卡信息;以及,
用户信息获取子单元40112,用于通过API函数NetUserEnum获取所述系统用户信息。
在本发明实施例中,网卡的网卡信息通常保存在网络驱动中,因此网卡信息获取子单元40111可以通过I/O请求包(I/O Request Packet,简称:IRP)与网络驱动进行交互,进而获取网卡的网卡信息;用户信息获取子单元40112获取系统用户信息,则需要通过系统自带的应用程序编程接口(Application Programming Interface简称:API)函数从操作系统中获取系统用户信息。
配置信息设置子单元4012,用于根据所述信息获取单元4011获取的网卡信息和所述系统用户信息设置网卡配置信息。
在本发明实施例中,网卡通常包含以下网卡功能:放行、阻断、单IP、NAT穿越、ARP防护或反代理等,设置网卡配置信息即是:网卡对不同的系统用户设置不同的网卡功能。设置网卡配置信息根据实际应用的不同而不同,本申请不做限定。
如图7所示为本申请另一示例性实施例示出的一种实现网卡功能装置的结构图,其中,配置信息设置子单元4012,包括:
配置信息设置子单元40121,用于通过修改struct_ADAPT全局变量设置所述网卡配置信息。
在本发明实施例中,网卡的相关信息通常保存在数据结构为struct_ADAPT的全局变量中,网卡配置信息同样也保存在该struct_ADAPT中,配置信息设置子单元40121通过对struct_ADAPT进行修改,在struct_ADAPT中增加自定义的参数,既可以设置网卡的网卡配置信息。
可选的,网卡的网卡功能可配置成如下的参数:
数值 |
1 |
2 |
3 |
4 |
5 |
…… |
n |
功能 |
放行 |
阻断 |
单ip |
nat穿越 |
反代理 |
|
Arp防护 |
其中,参数1代表“放行”,参数2代表“阻断”,参数3代表“单IP”、参数4代表“nat穿越”、参数5代表“反代理”、……、参数n代表“Arp防护”,将上述参数“1、2、3、……、n”添加到struct_ADAPT中,即可完成设置网卡配置信息。
保存子单元4013,用于将所述配置信息设置子单元4012设置的配置信息保存到数据库。
在本发明实施例中,将所有的网卡配置信息保存到终端的数据库中,即完成数据库的设置过程。
需要指出的是,切换网卡操作由终端的网络驱动实现,终端设置完成的数据库可以通过I/O请求包发送到网络驱动。
切换操作接收单元402,用于接收用户输入的切换操作,所述切换操作包括:系统用户切换操作和/或网卡切换操作。
在本发明实施例中,用户输入的切换操作通常有多种情况,包括但不限于:系统用户切换操作、网卡切换操作等,对于系统用户切换操作,举例如下:终端中包含三个系统用户,用户名分别为“张三”、“李四”、“王五”,正在使用的系统用户是“张三”,此时将系统用户由“张三”切换为“李四”,即为系统用户切换操作;对于网卡切换操作,举例如下:终端中包含三种网卡,分别为“网卡A”、“网卡B”、“网卡C”,正在使用的网卡是“网卡A”,此时将使用网卡由“网卡A”切换为“网卡B”,即为网卡切换操作;对于系统用户切换操作和网卡切换操作,举例如下:终端中包含三个系统用户和三个网卡,系统用户的用户名分别为“张三”、“李四”、“王五”,网卡分别为“网卡A”、“网卡B”、“网卡C”,正在使用的系统用户是“张三”,使用的网卡是“李四”,此时将系统用户由“张三”切换为“李四”,并将网卡由“网卡A”切换为“网卡B”,即为系统用户切换操作和网卡切换操作。
网卡配置信息获取单元403,用于从所述数据库中获取所述切换操作对应的的网卡配置信息。
在本发明实施例中,根据获取的切换操作的内容对上述数据库进行检索,通过检索即可获得对应的网卡配置信息。
网卡功能实现单元404,用于根据所述网卡配置信息实现对应的网卡功能。
在本发明实施例中,终端获取了对应的网卡配置信息,即可根据网卡配置信息实现对应的网卡功能。
如图8所示为本申请另一示例性实施例示出的一种实现网卡功能装置的结构图,所述网卡功能实现单元404,包括:
网卡功能实现子单元4041,用于通过读取所述全局变量struct_ADAPT中的参数信息设置对应的网卡功能。
在本发明实施例中,终端读取全局变量struct_ADAPT,获取struct_ADAPT中的参数,根据其中的参数实现不同的网卡功能。
本发明实施例,设置网卡配置信息的数据库,接收用户输入的切换操作,从数据库中获取切换操作对应的的网卡配置信息,根据网卡配置信息实现对应的网卡功能,由于数据库中配置了不同的网卡对应不同的系统用户实现不同的网卡功能,使得网卡可以根据系统用户的不同实现不同的网卡功能,满足了系统用户对网卡的不同功能,丰富了网卡的使用场景。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。