智能手机网络行为监控的方法和系统
技术领域
本发明涉及智能手机操作系统安全领域,特别涉及一种智能手机网络行为监控的方法和系统。
背景技术
目前,智能手机越来越普及,用户使用智能手机安装各种软件,通过网络进行各种应用变得越来越普遍。在这种情况下,一些应用程序的更新软件和服务器同步等功能,在用户不知情的情况下消耗用户上网流量。由于当前手机计费模式,使用按流量计费,因此用于可能在不知情的情况下消耗大量流量,造成财产损失。而一些恶意代码也乘虚而入,通过网络上传用户手机上的隐私信息,或者下载各种恶意代码等,危害用户智能手机系统安全,给用户带来极大困扰。
为了帮助用户解决查看网络流量的烦恼,目前市场出现了很多监控智能手机网络行为的产品。但这些产品往往只能监控整个智能手机系统的上传及下载流量。用户无法通过这些信息获知究竟是哪些软件产生的流量,从而无法做出采取对应的措施。而一些恶意代码发生网络行为,由于用户无法知情,也无法在第一时间采取相应的阻断措施,从而造成个人信息泄露、财产损失等问题。
发明内容
针对以上不足,本发明要解决的技术问题是提供一种智能手机网络行为监控的方法和系统,本方法和系统能够统计智能手机系统中各个进程的网络流量等情况,帮助用户监控各种程序的网络行为。
为了解决上述技术问题,本发明提供一种智能手机网络行为监控的方法,包括:
获取智能手机系统中各个进程的相关信息,并获取智能手机系统中的每个网络数据包及其相关信息;
根据进程的相关信息和网络数据包的相关信息,建立网络数据包和进程的对应关系;
统计与每个进程对应的网络数据包。
所述的智能手机网络行为监控的方法中,各个进程的相关信息至少包括进程标识和进程名。
所述的智能手机网络行为监控的方法中,网络数据包的相关信息包括网络数据包的源地址、目的地址、源端口、目的端口、协议类型以及网络数据包的内容。
所述的智能手机网络行为监控的方法中,网络数据包的相关信息还包括网络数据包的大小。
所述的智能手机网络行为监控的方法中,根据进程的相关信息和网络数据包的相关信息,建立网络数据包和进程的对应关系包括:
通过获取的每个网络数据包的相关信息定位每个网络数据包所属的网络连接;
根据定位到的网络连接的信息,获得网络连接的连接标识号;
查询每个进程的句柄记录中的网络连接标识号,如果与获得的网络连接的连接标识号相同,则确定该进程是与网络数据包所属的网络连接相关的进程,建立网络数据包和进程的对应关系。
所述的智能手机网络行为监控的方法中,通过获取的每个网络数据包的相关信息定位每个网络数据包所属的网络连接包括:读取 /proc/net/目录下不同类型的网络协议的连接信息;
通过比对不同类型的网络协议的连接信息与网络数据包中的相关信息,确定网络数据包所属的网络连接。
所述的智能手机网络行为监控的方法中,根据定位到的网络连接的信息,获得网络连接的连接标识号包括:根据定位到的网络连接的信息中的连接标识号字段,获得网络数据包所属网络连接的连接标识号。
所述的智能手机网络行为监控的方法中,查询每个进程的句柄记录中的网络连接标识号之前,还包括:通过/proc/进程标识/fd目录获取进程的句柄记录信息。
所述的智能手机网络行为监控的方法中,统计与每个进程对应的网络数据包包括:统计与每个进程对应的所有网络数据包的总大小和所有网络数据包的数量。
本发明还提供了一种智能手机网络行为监控的系统,包括:
信息获取模块,用于获取智能手机系统中各个进程的相关信息和智能手机系统中的每个网络数据包及其相关信息;
关联模块,用于根据信息获取模块获取的进程的相关信息和网络数据包的相关信息,建立网络数据包和进程的对应关系;
监控模块,用于统计与每个进程对应的网络数据包。
所述的智能手机网络行为监控的系统中,进程的相关信息包括进程标识和进程名。
所述的智能手机网络行为监控的系统中,网络数据包的相关信息包括网络数据包的源地址、目的地址、源端口、目的端口、协议类型以及网络数据包的内容。
所述的智能手机网络行为监控的系统中,网络数据包的相关信息还包括网络数据包的大小。
所述的智能手机网络行为监控的系统中,关联模块包括:
网络连接获取子模块,用于通过获取的每个网络数据包的相关信息定位每个网络数据包所属的网络连接;
连接标识获取子模块,用于根据网络获取子模块定位到的网络连接的信息,获得网络连接的连接标识号;
建立子模块,用于查询每个进程的句柄记录中的网络连接标识号,如果与连接标识获取子模块获得的网络连接的连接标识号相同,则确定该进程是与网络数据包所属的网络连接相关的进程,建立网络数据包和进程的对应关系。
所述的智能手机网络行为监控的系统中,网络连接获取子模块包括:读取子模块,用于读取 /proc/net/目录下不同类型的网络协议的连接信息;
对比子模块,用于对比不同类型的网络协议的连接信息与网络数据包中的相关信息,确定网络数据包所属的网络连接。
所述的智能手机网络行为监控的系统中,连接标识获取子模块具体用于根据定位到的网络连接的信息中的连接标识号字段,获得网络数据包所属网络连接的连接标识号。
所述的智能手机网络行为监控的系统中,关联模块还包括句柄记录信息获取子模块,用于建立子模块查询每个进程的句柄记录中的网络连接标识号之前,通过/proc/进程标识/fd目录获取进程的句柄记录信息。
所述的智能手机网络行为监控的系统中,监控模块具体用于统计与每个进程对应的所有网络数据包的总大小和所有网络数据包的数量。
本发明的有益效果是:
在面对最终用户的产品中使用本发明获取智能手机系统进程信息,获取网络数据包,并将其和进程关联,从而统计各个进程的网络行为,为用户判断浪费网络流量的软件和恶意代码提供便利,保障用户的利益,并提高用户智能手机系统的安全性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的一种智能手机网络行为监控的方法流程图;
图2为本发明的一种智能手机网络行为监控的系统示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明。
本发明提供一种智能手机网络行为监控的方法和系统,该方法和系统能够统计智能手机系统中各个进程的网络流量等情况,帮助用户监控各种程序的网络行为。
首先介绍本发明提供的智能手机网络行为监控的方法,具体实施步骤如图1所述,包括:
S101:获取智能手机系统中各个进程的相关信息,并获取智能手机系统中的每个网络数据包及其相关信息;
S102:根据进程的相关信息和网络数据包的相关信息,建立网络数据包和进程的对应关系;
S103:统计与每个进程对应的网络数据包。
所述的智能手机网络行为监控的方法中,各个进程的相关信息至少包括进程标识和进程名。
所述的智能手机网络行为监控的方法中,网络数据包的相关信息包括网络数据包的源地址、目的地址、源端口、目的端口、协议类型以及网络数据包的内容。
所述的智能手机网络行为监控的方法中,网络数据包的相关信息还包括网络数据包的大小。
所述的智能手机网络行为监控的方法中,根据进程的相关信息和网络数据包的相关信息,建立网络数据包和进程的对应关系包括:
通过获取的每个网络数据包的相关信息定位每个网络数据包所属的网络连接;
根据定位到的网络连接的信息,获得网络连接的连接标识号;
查询每个进程的句柄记录中的网络连接标识号,如果与获得的网络连接的连接标识号相同,则确定该进程是与网络数据包所属的网络连接相关的进程,建立网络数据包和进程的对应关系。
所述的智能手机网络行为监控的方法中,通过获取的每个网络数据包的相关信息定位每个网络数据包所属的网络连接包括:读取 /proc/net/目录下不同类型的网络协议的连接信息;
通过比对不同类型的网络协议的连接信息与网络数据包中的相关信息,确定网络数据包所属的网络连接。
所述的连接信息及数据包中的相关信息可以是对应的协议类型、源地址、目的地址、源端口及目标端口信息等。
所述的智能手机网络行为监控的方法中,根据定位到的网络连接的信息,获得网络连接的连接标识号包括:根据定位到的网络连接的信息中的连接标识号字段,获得网络数据包所属网络连接的连接标识号。
所述的智能手机网络行为监控的方法中,查询每个进程的句柄记录中的网络连接标识号之前,还包括:通过/proc/进程标识/fd目录获取进程的句柄记录信息。
句柄表中包含的不仅有网络连接句柄,还有其他文件句柄,在查询过程中会消去非网络连接句柄,仅在网络连接句柄信息中根据连接标识号进行匹配,从而找到数据包对应的进程。
所述的智能手机网络行为监控的方法中,统计与每个进程对应的网络数据包包括:统计与每个进程对应的所有网络数据包的总大小和所有网络数据包的数量。
通过统计每个进程对应的所有网络数据包总大小和数量,从而确定该进程的网络上传、下载流量等统计信息,实现了对网络行为的监控。
本发明还提供了一种智能手机网络行为监控的系统,如图2所示,这种系统包括:
信息获取模块201,用于获取智能手机系统中各个进程的相关信息和智能手机系统中的每个网络数据包及其相关信息;
关联模块202,用于根据信息获取模块201获取的进程的相关信息和网络数据包的相关信息,建立网络数据包和进程的对应关系;
监控模块203,用于统计与每个进程对应的网络数据包。
所述的智能手机网络行为监控的系统中,进程的相关信息包括进程标识和进程名。
所述的智能手机网络行为监控的系统中,网络数据包的相关信息包括网络数据包的源地址、目的地址、源端口、目的端口、协议类型以及网络数据包的内容。
所述的智能手机网络行为监控的系统中,网络数据包的相关信息还包括网络数据包的大小。
所述的智能手机网络行为监控的系统中,关联模块包括:
网络连接获取子模块2021,用于通过获取的每个网络数据包的相关信息定位每个网络数据包所属的网络连接;
连接标识获取子模块2022,用于根据网络获取子模块2021定位到的网络连接的信息,获得网络连接的连接标识号;
建立子模块2023,用于查询每个进程的句柄记录中的网络连接标识号,如果与连接标识获取子模块2022获得的网络连接的连接标识号相同,则确定该进程是与网络数据包所属的网络连接相关的进程,建立网络数据包和进程的对应关系。
所述的智能手机网络行为监控的系统中,网络连接获取子模块2021包括:
读取子模块,用于读取 /proc/net/目录下不同类型的网络协议的连接信息;
对比子模块,用于对比不同类型的网络协议的连接信息与网络数据包中的相关信息,确定网络数据包所属的网络连接。
所述的智能手机网络行为监控的系统中,连接标识获取子模块2022具体用于根据定位到的网络连接的信息中的连接标识号字段,获得网络数据包所属网络连接的连接标识号。
所述的智能手机网络行为监控的系统中,关联模块202还包括句柄记录信息获取子模块2024,用于建立子模块2023查询每个进程的句柄记录中的网络连接标识号之前,通过/proc/进程标识/fd目录获取进程的句柄记录信息。
所述的智能手机网络行为监控的系统中,监控模块203具体用于统计与每个进程对应的所有网络数据包的总大小和所有网络数据包的数量。
本发明提供了一种智能手机网络行为监控方法和系统,在面对最终用户的产品中使用本发明,获取智能手机系统进程信息,获取网络数据包,并将其和进程关联,从而统计各个进程的网络行为,为用户判断浪费网络流量的软件和恶意代码提供便利,保障用户的利益,并提高用户智能手机系统的安全性。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。