CN108243192B - 应用访问网络的识别方法和系统 - Google Patents

应用访问网络的识别方法和系统 Download PDF

Info

Publication number
CN108243192B
CN108243192B CN201810026487.9A CN201810026487A CN108243192B CN 108243192 B CN108243192 B CN 108243192B CN 201810026487 A CN201810026487 A CN 201810026487A CN 108243192 B CN108243192 B CN 108243192B
Authority
CN
China
Prior art keywords
network
data packet
application
port
identifying
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810026487.9A
Other languages
English (en)
Other versions
CN108243192A (zh
Inventor
王建鸿
陈剑恒
周国盛
张颖
马幸晖
王家宾
杨富彪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianyi Digital Life Technology Co Ltd
Original Assignee
CENTURY DRAGON INFORMATION NETWORK CO LTD
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CENTURY DRAGON INFORMATION NETWORK CO LTD filed Critical CENTURY DRAGON INFORMATION NETWORK CO LTD
Priority to CN201810026487.9A priority Critical patent/CN108243192B/zh
Publication of CN108243192A publication Critical patent/CN108243192A/zh
Application granted granted Critical
Publication of CN108243192B publication Critical patent/CN108243192B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/30Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
    • H04L63/306Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information intercepting packet switched data communications, e.g. Web, Internet or IMS communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Technology Law (AREA)
  • Power Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种应用访问网络的识别方法和系统,在终端发起网络请求时,拦截网络请求的IP数据报文;对IP数据报文经过协议栈处理成IP数据包;发送IP数据包至指定的内部监听地址,并记录IP数据包发送至内部监听地址过程中建立连接的端口的第一映射关系;监听内部监听地址,根据防火墙安全会话转换协议解析IP数据包并获取IP数据包中记录的内部可编程临时端口;根据内部可编程临时端口、第一映射关系和操作系统中记录网络连接的系统文件识别出发起网络请求的标识应用身份。上述方法和系统根据内部可编程临时端口、第一映射关系和记录网络连接的系统文件识别出发起网络请求的应用程序对应的标识应用身份,识别出发起网络请求的应用程序。

Description

应用访问网络的识别方法和系统
技术领域
本发明涉及移动终端网络技术领域,特别是涉及一种应用访问网络的识别方法和系统。
背景技术
随着移动终端的普及以及移动网络的高速增长,移动终端的功能越来越多元化,对人们的日常生活产生着重要的影响。
在移动终端的网络数据处理过程中,为了满足用户针对于不同应用程序各自不同的网络服务需求,可以针对来源自特定应用程序的网络数据进行特定处理。因此,在进行特定处理之前,首先识别网络数据对应来源于的应用程序,然后再根据应用程序选择特定的处理方式。
目前在移动终端的系统中已经有相关的模块提供接口用于识别网络数据对应来源于的应用程序。但是这类型的模块和接口只出现在版本较新的系统中。而版本较旧的部分系统,由于缺乏识别网络数据对应来源于的应用程序功能,导致无法根据应用程序选择特定的处理方式。
发明内容
基于此,有必要针对部分系统缺乏识别网络数据对应来源于的应用程序功能的问题,提供一种应用访问网络的识别方法和系统。
一种应用访问网络的识别方法,包括如下步骤:
在终端发起网络请求时,拦截网络请求的IP数据报文;
对IP数据报文经过协议栈处理成IP数据包;
发送IP数据包至指定的内部监听地址,并记录IP数据包发送至内部监听地址过程中建立连接的端口的第一映射关系;
监听内部监听地址,根据防火墙安全会话转换协议解析IP数据包并获取IP数据包中记录的内部可编程临时端口;
根据内部可编程临时端口、第一映射关系和操作系统中记录网络连接的系统文件识别出发起网络请求的标识应用身份。
上述应用访问网络的识别方法通过拦截网络请求的IP数据报文和对IP数据报文经过协议栈处理成IP数据包,监听内部监听地址并接收IP数据包,解析IP数据包并获取内部可编程临时端口,根据内部可编程临时端口、第一映射关系和操作系统中记录网络连接的系统文件可以识别出发起网络请求的应用程序对应的标识应用身份,即识别出发起网络请求的应用程序。
在一个实施例中,根据内部可编程临时端口、第一映射关系和操作系统中记录网络连接的系统文件识别出发起网络请求的标识应用身份的步骤,包括以下步骤:
根据防火墙安全会话转换协议解析IP数据包并获取IP数据包中记录的中转地址;
在中转地址是UDP中转地址时,根据内部可编程临时端口、第一映射关系和操作系统中UDP协议网络连接的系统文件识别出发起网络请求的标识应用身份。
在一个实施例中,在根据防火墙安全会话转换协议解析IP数据包并获取IP数据包中记录的中转地址的步骤之后,还包括以下步骤:
在中转地址是TCP中转地址时,根据内部可编程临时端口、第一映射关系和操作系统中TCP协议网络连接的系统文件识别出发起网络请求的标识应用身份。
在一个实施例中,根据内部可编程临时端口、第一映射关系和操作系统中记录网络连接的系统文件识别出发起网络请求的标识应用身份的步骤,包括以下步骤:
根据内部可编程临时端口查找第一映射关系中对应的本机端口;
根据本机端口和操作系统中记录网络连接的系统文件识别发起网络请求的标识应用身份。
在一个实施例中,在根据内部可编程临时端口、第一映射关系和操作系统中记录网络连接的系统文件识别出发起网络请求的标识应用身份的步骤之后,还包括如下步骤:
根据标识应用身份和第二映射关系识别出发起网络请求的应用程序,其中,第二映射关系为操作系统中标识应用身份与应用程序的映射关系。
在一个实施例中,在根据标识应用身份和操作系统中标识应用身份与应用信息的第二映射关系识别出发起网络请求的应用信息程序的步骤之前,还包括以下步骤:
记录标识应用身份与应用程序的第二映射关系。
在一个实施例中,对IP数据报文经过协议栈处理成IP数据包的步骤,包括以下步骤:
对IP数据报文经过轻量级的用户态协议栈处理成IP数据包;
发送IP数据包至指定的内部监听地址的步骤,包括以下步骤:
通过socket连接将IP数据包发送至指定的内部监听地址。
一种应用访问网络的识别系统,包括:
IP数据报文拦截模块,用于在终端发起网络请求时,拦截网络请求的IP数据报文;
IP数据包生成模块,用于对IP数据报文经过协议栈处理成IP数据包;
IP数据包发送模块,用于发送IP数据包至指定的内部监听地址,并记录IP数据包发送至内部监听地址过程中建立连接的端口的第一映射关系;
内部可编程临时端口获取模块,用于监听内部监听地址,根据防火墙安全会话转换协议解析IP数据包并获取IP数据包中记录的内部可编程临时端口;
标识应用身份识别模块,用于根据内部可编程临时端口、第一映射关系和操作系统中记录网络连接的系统文件识别出发起网络请求的标识应用身份。
上述应用访问网络的识别系统,通过拦截网络请求的IP数据报文和对IP数据报文经过协议栈处理成IP数据包,监听内部监听地址并接收IP数据包,解析IP数据包并获取内部可编程临时端口,根据内部可编程临时端口、第一映射关系和操作系统中记录网络连接的系统文件可以识别出发起网络请求的应用程序对应的标识应用身份,即识别出发起网络请求的应用程序。
一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述应用访问网络的识别方法。
上述计算机设备,通过所述处理器上运行的计算机程序,实现了通过拦截网络请求的IP数据报文和对IP数据报文经过协议栈处理成IP数据包,监听内部监听地址并接收IP数据包,解析IP数据包并获取内部可编程临时端口,根据内部可编程临时端口、第一映射关系和操作系统中记录网络连接的系统文件可以识别出发起网络请求的应用程序对应的标识应用身份,即识别出发起网络请求的应用程序。
一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述应用访问网络的识别方法。
上述计算机存储介质,通过其存储的计算机程序,实现了通过拦截网络请求的IP数据报文和对IP数据报文经过协议栈处理成IP数据包,监听内部监听地址并接收IP数据包,解析IP数据包并获取内部可编程临时端口,根据内部可编程临时端口、第一映射关系和操作系统中记录网络连接的系统文件可以识别出发起网络请求的应用程序对应的标识应用身份,即识别出发起网络请求的应用程序。
附图说明
图1为一个实施例中应用访问网络的识别方法的应用环境图;
图2为一个实施例中应用访问网络的识别方法的流程图;
图3为一个实施例中识别UDP协议数据包的流程图;
图4为一个实施例中识别TCP协议数据包的流程图;
图5为一个实施例中识别标识应用身份的流程图;
图6为一个实施例中应用访问网络的识别系统的结构示意图;
图7为一个实施例中与终端相关的智能手机的部分结构的结构示意图;
图8为另一个实施例中应用访问网络的识别方法的流程图;
图9为一个实施例中实现VPN功能的流程图。
具体实施方式
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。
请参阅图1,图1为一个实施例中应用访问网络的识别方法的应用环境图,该应用访问网络的识别方法可应用于应用访问网络的识别的实现系统中,该系统包括终端10和服务器20,终端10通过网络与服务器20连接。终端10可以是但不限于各种能访问网络的个人计算机、笔记本电脑、个人数字助理、智能手机、平板电脑等。服务器20可以是实现单一功能的服务器,也可以是实现多种功能的服务器,具体可以是独立的物理服务器,也可以是物理服务器集群。终端10上可拦截网络请求的IP(Internet Protocol,网络之间互连的协议)数据报文,识别发起网络请求的标识应用身份,在识别发起网络请求的标识应用身份后,可以向服务器20发送网络请求的IP数据包,也可以终止向服务器20发送网络请求的IP数据包。服务器20则可以接收终端10发送的网络请求的IP数据包。
请参阅图2,图2为一个实施例中应用访问网络的识别方法的流程图,本实施例中应用访问网络的识别方法包括如下步骤:
步骤S110:在终端发起网络请求时,拦截网络请求的IP数据报文。
本步骤中,在终端发起网络请求时,将终端向外发送的网络请求的IP数据报文拦截。
步骤S120:对IP数据报文经过协议栈处理成IP数据包。
本步骤中,将拦截后获取的IP数据报文经过协议栈处理成IP数据包。通过协议栈处理成IP数据包,可以在可编程环境下对IP数据报文和IP数据包进行协议栈处理,即通过编程的处理方式对IP数据报文和IP数据包进行协议栈处理。
步骤S130:发送IP数据包至指定的内部监听地址,并记录IP数据包发送至内部监听地址过程中建立连接的端口的第一映射关系。
本步骤中,将处理后的IP数据包发送至指定的内部监听地址,IP数据包在发送至内部监听地址的传输过程中建立连接,记录分布在该连接两端的端口的第一映射关系。内部监听地址是一个可编程环境下的指定的地址,用于在可编程环境下监听和处理IP数据包。
步骤S140:监听内部监听地址,根据防火墙安全会话转换协议解析IP数据包并获取IP数据包中记录的内部可编程临时端口。
本步骤中,监听内部监听地址,获取IP数据包,根据防火墙安全会话转换协议对获取IP数据包进行解析,获取IP数据包中记录的内部可编程临时端口。其中,内部可编程临时端口是一个在可编程环境下按照一定逻辑生成的端口,用于绑定到IP数据包发送至内部监听地址传输过程中的连接。
步骤S150:根据内部可编程临时端口、第一映射关系和操作系统中记录网络连接的系统文件识别出发起网络请求的标识应用身份。
本步骤中,由于操作系统中记录网络连接的系统文件中会记录端口与发起网络请求的标识应用身份的映射关系,因此根据内部可编程临时端口、第一映射关系和操作系统中记录网络连接的系统文件,可以查找对应的标识应用身份,进而识别出发起网络请求的应用程序对应的标识应用身份。标识应用身份是应用程序在操作系统中标识号,每一个应用程序都会有唯一一个标识应用身份,应用程序在操作系统的存续期间中,标识应用身份保持不变。因此识别了发起网络请求的标识应用身份即识别了发起网络请求的应用程序。
上述应用访问网络的识别方法,通过拦截网络请求的IP数据报文和对IP数据报文经过协议栈处理成IP数据包,监听内部监听地址并接收IP数据包,解析IP数据包并获取内部可编程临时端口,根据内部可编程临时端口、第一映射关系和操作系统中记录网络连接的系统文件可以识别出发起网络请求的应用程序对应的标识应用身份,即识别出发起网络请求的应用程序。
在一个实施例中,请参阅图3,图3为一个实施例中识别UDP(User DatagramProtocol,用户数据报协议)协议数据包的流程图;步骤S150的根据内部可编程临时端口、第一映射关系和操作系统中记录网络连接的系统文件识别出发起网络请求的标识应用身份可以包括以下步骤:
步骤S151:根据防火墙安全会话转换协议解析IP数据包并获取IP数据包中记录的中转地址。
本步骤中,根据防火墙安全会话转换协议对IP数据包进行解析,获取IP数据包中记录的中转地址。中转地址是网络数据传输协议下进行数据中转时产生的地址。
步骤S152:在中转地址是UDP中转地址时,根据内部可编程临时端口、第一映射关系和操作系统中UDP协议网络连接的系统文件识别出发起网络请求的标识应用身份。
本步骤中,在中转地址是UDP中转地址时,IP数据包为UDP协议数据包,因此根据操作系统中UDP协议网络连接的系统文件,可以获得记录端口与发送网络请求的标识应用身份的映射关系,然后再根据内部可编程临时端口、第一映射关系和操作系统中UDP协议网络连接的系统文件识别出发起网络请求的标识应用身份。
上述应用访问网络的识别方法,解析IP数据包并获取UDP中转地址,根据内部可编程临时端口、第一映射关系和操作系统中UDP协议网络连接的系统文件识别出发起网络请求的标识应用身份,即识别出发起网络请求的应用程序。
在一个实施例中,请参阅图4,图4为一个实施例中识别TCP(TransmissionControl Protocol,传输控制协议)协议数据包的流程图;在步骤S151的根据防火墙安全会话转换协议解析IP数据包并获取IP数据包中记录的中转地址的步骤之后,还可以包括以下步骤:
S153:在中转地址是TCP中转地址时,根据内部可编程临时端口、第一映射关系和操作系统中TCP协议网络连接的系统文件识别出发起网络请求的标识应用身份。
在中转地址是TCP中转地址时,IP数据包为TCP协议数据包,因此根据操作系统中TCP协议网络连接的系统文件,可以获得记录端口与发送网络请求的标识应用身份的映射关系,然后再根据内部可编程临时端口、第一映射关系和操作系统中TCP协议网络连接的系统文件识别出发起网络请求的标识应用身份。
上述应用访问网络的识别方法,根据内部可编程临时端口、第一映射关系和操作系统中TCP协议网络连接的系统文件识别出发起网络请求的标识应用身份,即识别出发起网络请求的应用程序。
在一个实施例中,请参阅图5,图5为一个实施例中识别标识应用身份的流程图;步骤S150的根据内部可编程临时端口、第一映射关系和操作系统中记录网络连接的系统文件识别出发起网络请求的标识应用身份可以包括以下步骤:
步骤S1501:根据内部可编程临时端口查找第一映射关系中对应的本机端口。
本步骤中,第一映射关系为IP数据包发送至内部监听地址过程中建立连接的端口的映射关系,该连接的端口包括内部可编程临时端口和本机端口,本机端口是该连接在发送侧的端口,内部可编程临时端口是该连接在接收侧的端口,根据内部可编程临时端口可以查找第一映射关系中对应的本机端口。
步骤S1502:根据本机端口和操作系统中记录网络连接的系统文件识别发起网络请求的标识应用身份。
本步骤中,操作系统中记录网络连接的系统文件记录着本机端口和标识应用身份的映射关系,根据本机端口和记录网络连接的系统文件可以查找对应的标识应用身份,即识别发起网络请求的标识应用身份。
上述应用访问网络的识别方法,根据内部可编程临时端口和第一映射关系查找对应的本机端口,在根据本机端口和操作系统中记录网络连接的系统文件查找对应的标识应用身份,从而识别发起网络请求的标识应用身份。
在一个实施例中,在步骤S150的根据内部可编程临时端口、第一映射关系和操作系统中记录网络连接的系统文件识别出发起网络请求的标识应用身份的步骤之后,还可以包括如下步骤:
根据标识应用身份和第二映射关系识别出发起网络请求的应用程序,其中,第二映射关系为操作系统中标识应用身份与应用程序的映射关系。
第二映射关系为操作系统中标识应用身份与应用程序的映射关系,每一个应用程序都会有唯一一个标识应用身份,通过记录标识应用身份与应用程序的第二映射关系,可以根据标识应用身份和记录的第二映射关系识别发起网络请求的应用程序。
上述应用访问网络的识别方法,通过标识应用身份和应用程序的第二映射关系,可以直接快捷地根据标识应用身份和记录的第二映射关系识别发起网络请求的应用程序。
在一个实施例中,在根据标识应用身份和操作系统中标识应用身份与应用信息的第二映射关系识别出发起网络请求的应用信息程序的步骤之前,还可以包括以下步骤:
记录标识应用身份与应用程序的第二映射关系。
上述应用访问网络的识别方法,通过记录了标识应用身份和应用程序的第二映射关系,可以方便后续直接快捷地根据标识应用身份和记录的第二映射关系识别发起网络请求的应用程序。
在一个实施例中,步骤S120的对IP数据报文经过协议栈处理成IP数据包可以包括以下步骤:对IP数据报文经过轻量级的用户态协议栈处理成IP数据包。
步骤S130的发送IP数据包至指定的内部监听地址可以包括以下步骤:通过socket连接将IP数据包发送至指定的内部监听地址。
上述应用访问网络的识别方法,通过轻量级的用户态协议栈将IP数据报文处理成IP数据包,可以非常适合地完成协议适配的工作,通过socket连接可以完成IP数据包发送至指定的内部监听地址的工作。
请参阅图6,图6为一个实施例中应用访问网络的识别系统的结构示意图,本实施例中应用访问网络的识别系统包括以下模块:
IP数据报文拦截模块210,用于在终端发起网络请求时,拦截网络请求的IP数据报文;
IP数据包生成模块220,用于对IP数据报文经过协议栈处理成IP数据包;
IP数据包发送模块230,用于发送IP数据包至指定的内部监听地址,并记录IP数据包发送至内部监听地址过程中建立连接的端口的第一映射关系;
内部可编程临时端口获取模块240,用于监听内部监听地址,根据防火墙安全会话转换协议解析IP数据包并获取IP数据包中记录的内部可编程临时端口;
标识应用身份识别模块250,用于根据内部可编程临时端口、第一映射关系和操作系统中记录网络连接的系统文件识别出发起网络请求的标识应用身份。
IP数据报文拦截模块210在终端发起网络请求时,将终端向外发送的网络请求的IP数据报文拦截。
IP数据包生成模块220将拦截后获取的IP数据报文经过协议栈处理成IP数据包。通过协议栈处理成IP数据包可以在可编程环境下对IP数据报文和IP数据包进行协议栈处理,即通过编程的处理方式对IP数据报文和IP数据包进行协议栈处理。
IP数据包发送模块230将处理后的IP数据包发送至指定的内部监听地址,IP数据包在发送至内部监听地址的传输过程中建立连接,记录分布在该连接两端的端口的第一映射关系。内部监听地址是一个可编程环境下的指定的地址,用于在可编程环境下监听和处理IP数据包。
内部可编程临时端口240获取模块监听内部监听地址,获取IP数据包,根据防火墙安全会话转换协议对获取IP数据包进行解析,获取IP数据包中记录的内部可编程临时端口。其中,内部可编程临时端口是一个在可编程处理下按照一定逻辑生成的端口,用于绑定到IP数据包发送至内部监听地址传输过程中的连接。
由于操作系统中记录网络连接的系统文件中会记录端口与发起网络请求的标识应用身份的映射关系,因此,标识应用身份识别模块250根据内部可编程临时端口、第一映射关系和操作系统中记录网络连接的系统文件,可以查找对应的标识应用身份,进而识别出发起网络请求的应用程序对应的标识应用身份。标识应用身份是应用程序在操作系统中标识号,每一个应用程序都会有唯一一个标识应用身份,应用程序在操作系统的存续期间中,标识应用身份保持不变。因此识别了发起网络请求的标识应用身份即识别了发起网络请求的应用程序。
上述应用访问网络的识别系统,通过拦截网络请求的IP数据报文和对IP数据报文经过协议栈处理成IP数据包,监听内部监听地址并接收IP数据包,解析IP数据包并获取内部可编程临时端口,根据内部可编程临时端口、第一映射关系和操作系统中记录网络连接的系统文件可以识别出发起网络请求的应用程序对应的标识应用身份,即识别出发起网络请求的应用程序。
在一个实施例中,标识应用身份识别模块250还用于根据防火墙安全会话转换协议解析IP数据包并获取IP数据包中记录的中转地址,在中转地址是UDP中转地址时,根据内部可编程临时端口、第一映射关系和操作系统中UDP协议网络连接的系统文件识别出发起网络请求的标识应用身份。
上述应用访问网络的识别系统,解析IP数据包并获取UDP中转地址,根据内部可编程临时端口、第一映射关系和操作系统中UDP协议网络连接的系统文件识别出发起网络请求的标识应用身份,即识别出发起网络请求的应用程序。
在一个实施例中,标识应用身份识别模块250还用于在中转地址是TCP中转地址时,根据内部可编程临时端口、第一映射关系和操作系统中TCP协议网络连接的系统文件识别出发起网络请求的标识应用身份。
上述应用访问网络的识别系统,根据内部可编程临时端口、第一映射关系和操作系统中TCP协议网络连接的系统文件识别出发起网络请求的标识应用身份,即识别出发起网络请求的应用程序。
在一个实施例中,标识应用身份识别模块250还用于根据内部可编程临时端口查找第一映射关系中对应的本机端口,根据本机端口和操作系统中记录网络连接的系统文件识别发起网络请求的标识应用身份。
上述应用访问网络的识别系统,根据内部可编程临时端口和第一映射关系查找对应的本机端口,在根据本机端口和操作系统中记录网络连接的系统文件查找对应的标识应用身份,从而识别发起网络请求的标识应用身份。
在一个实施例中,标识应用身份识别模块250还用于根据标识应用身份和第二映射关系识别出发起网络请求的应用程序,其中,第二映射关系为操作系统中标识应用身份与应用程序的映射关系。
上述应用访问网络的识别系统,通过标识应用身份和应用程序的第二映射关系,可以直接快捷地根据标识应用身份和记录的第二映射关系识别发起网络请求的应用程序。
在一个实施例中,标识应用身份识别模块250还用于记录标识应用身份与应用程序的第二映射关系。
上述应用访问网络的识别系统,通过记录了标识应用身份和应用程序的第二映射关系,可以方便后续直接快捷地根据标识应用身份和记录的第二映射关系识别发起网络请求的应用程序。
在一个实施例中,IP数据包生成模块220用于对IP数据报文经过轻量级的用户态协议栈处理成IP数据包;IP数据包发送模块230用于通过socket连接将IP数据包发送至指定的内部监听地址。
上述应用访问网络的识别系统,通过轻量级的用户态协议栈将IP数据报文处理成IP数据包,可以非常适合地完成协议适配的工作,通过socket连接可以完成IP数据包发送至指定的内部监听地址的工作。
本发明的应用访问网络的识别系统与本发明的应用访问网络的识别方法一一对应,在上述应用访问网络的识别方法的实施例阐述的技术特征及其有益效果均适用于应用访问网络的识别系统的实施例中,特此声明。
请参阅图7,图7为一个实施例中与终端相关的智能手机的部分结构的结构示意图。本实施例中智能手机包括:RF(Radio Frequency,射频)电路710、存储器720、输入单元730、显示单元740、WiFi(wireless fidelity,无线保真)模块750、处理器760和电源770等部件。本领域技术人员可以理解,图7中示出的智能手机结构并不构成对智能手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图7对智能手机的各个构成部件进行具体的介绍:
RF电路710可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器760处理;另外,将设计上行的数据发送给基站。通常,RF电路710包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,RF电路710还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code DivisionMultiple Access,码分多址)、WCDMA(Wideband Code Division Multiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short MessagingService,短消息服务)等。
存储器720可用于存储软件程序以及模块,处理器760通过运行存储在存储器720的软件程序以及模块,从而执行智能手机的各种功能应用以及数据处理。存储器720可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统和实现应用访问网络的识别系统的计算机程序,该计算机程序被执行时,可使得处理器760执行一种应用访问网络的识别方法;存储数据区可存储根据智能手机的使用所创建的数据等。此外,存储器720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元730可用于接收输入的数字或字符信息,以及产生与智能手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元730可包括触控面板731以及其他输入设备732。
显示单元740可用于显示由用户输入的信息或提供给用户的信息以及智能手机的各种菜单。显示单元740可包括显示面板741。虽然在图7中,触控面板731与显示面板741是作为两个独立的部件来实现智能手机的输入和输入功能,但是在某些实施例中,可以将触控面板731与显示面板741集成而实现智能手机的输入和输出功能。
WiFi属于短距离无线传输技术,智能手机通过WiFi模块750可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图7示出了WiFi模块750,但是可以理解的是,其并不属于智能手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器760是智能手机的控制中心,利用各种接口和线路连接整个智能手机的各个部分,通过运行或执行存储在存储器720内的软件程序和/或模块,以及调用存储在存储器720内的数据,识别出发起网络请求的标识应用身份对应的应用程序。
智能手机还包括给各个部件供电的电源770(比如电池),优选的,电源可以通过电源管理系统与处理器760逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,智能手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本发明实施例中,该终端所包括的处理器760还具有以下功能:通过实现包括如上述各应用访问网络的识别方法的实施例的流程,从而可以通过拦截网络请求的IP数据报文和对IP数据报文经过协议栈处理成IP数据包,监听内部监听地址并接收IP数据包,解析IP数据包并获取内部可编程临时端口,根据内部可编程临时端口、第一映射关系和操作系统中记录网络连接的系统文件可以识别出发起网络请求的应用程序对应的标识应用身份,即识别出发起网络请求的应用程序。
在一个实施例中,还提供一种计算机设备,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现如上述各实施例中的任意一种应用访问网络的识别方法。
该计算机设备,其处理器执行程序时,通过实现如上述各实施例中的任意一种应用访问网络的识别方法,从而可以通过拦截网络请求的IP数据报文和对IP数据报文经过协议栈处理成IP数据包,监听内部监听地址并接收IP数据包,解析IP数据包并获取内部可编程临时端口,根据内部可编程临时端口、第一映射关系和操作系统中记录网络连接的系统文件可以识别出发起网络请求的应用程序对应的标识应用身份,即识别出发起网络请求的应用程序。
此外,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性的计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述各应用访问网络的识别方法的实施例的流程。
在一个实施例中,还提供一种存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如上述各实施例中的任意一种应用访问网络的识别方法。其中,所述的存储介质可为磁碟、光盘、ROM(Read-Only Memory,只读存储记忆体)或RAM(Random AccessMemory,随机存储记忆体)等。
该计算机存储介质,其存储的计算机程序,通过实现包括如上述各应用访问网络的识别方法的实施例的流程,从而可以通过拦截网络请求的IP数据报文和对IP数据报文经过协议栈处理成IP数据包,监听内部监听地址并接收IP数据包,解析IP数据包并获取内部可编程临时端口,根据内部可编程临时端口、第一映射关系和操作系统中记录网络连接的系统文件可以识别出发起网络请求的应用程序对应的标识应用身份,即识别出发起网络请求的应用程序。
请参阅图8,图8为另一个实施例中应用访问网络的识别方法的流程图,本实施例中用到了安卓系统的VpnService和BadVPN框架,通过对VpnService进行二次开发,和改造tun2socks工具库来识别网络数据对应来源于的应用程序,即识别发起网络请求的应用程序。应用访问网络的识别方法包括以下步骤:
建立一个自定义的继承了VpnService的对象。
配置tun2socks工具库。指定几个接口用于设置内部监听地址以及UDP中转地址,并且建立一个表用于记录操作系统中应用程序与对应的标识应用身份的第二映射关系。
在终端发起网络请求时,VpnService拦截网络请求对应的IP数据报文,将IP数据报文发送至tun2socks工具库。
将IP数据报文处理成IP数据包,并转发IP数据包至内部监听地址。tun2socks工具库利用一个轻量级的用户态协议栈将IP数据报文处理成IP数据包,并转发IP数据包至内部监听地址,同时在HashMap表中记录所述IP数据包发送至所述内部监听地址过程中建立连接的端口的第一映射关系。建立连接的端口包括内部可编程临时端口和tun端口。内部可编程临时端口为连接在内部监听地址一侧的端口,tun端口为连接在本机中tun2socks工具库一侧的端口,是tun2socks工具库的tun虚拟网卡的一个端口,tun端口属于本机端口。
监听内部监听地址。接收IP数据包并通过socks(Protocol for sessionstraversal across firewall securely,防火墙安全会话转换协议)协议解析出真实目标地址和内部可编程临时端口,并获取发送过程中的中转地址。
识别发起网络请求的应用程序。根据内部可编程临时端口和第一映射关系查找tun端口,根据操作系统中记录网络连接的系统文件和tun端口,识别发起网络请求的标识应用身份,再根据标识应用身份和第二映射关系,识别发起网络请求的应用程序。
识别TCP协议和UDP协议的IP数据包。在中转地址是已设置的UDP中转地址时,IP数据包为UDP协议的IP数据包,可以通过路径为/proc/net/tcp获取记录TCP网络连接的系统文件;在中转地址不是已设置的UDP中转地址时,IP数据包为TCP协议的IP数据包,可以通过路径为/proc/net/udp获取记录UDP网络连接的系统文件。
上述应用访问网络的识别方法通过拦截网络请求的IP数据报文和对IP数据报文经过协议栈处理成IP数据包,监听内部监听地址并接收IP数据包,解析IP数据包并获取内部可编程临时端口,根据内部可编程临时端口、第一映射关系和操作系统中记录网络连接的系统文件可以识别出发起网络请求的应用程序对应的标识应用身份,即识别出发起网络请求的应用程序。
例如,请参阅图9,图9为一个实施例中实现VPN功能的流程图;在实现VPN功能时,还可以在发起网络请求的应用程序为指定需要使用代理服务器处理网络请求的应用程序,以账号密码和携带应用程序信息的方式,建立socks5代理连接到代理服务器。在发起网络请求的应用程序不是指定需要使用代理服务器处理网络请求的应用程序,则直接与真实服务器连接。除此之外,在识别发起网络请求的应用程序后,还可以据此实现针对特定应用程序进行网络加速、流量统计、后台流量限制等功能。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种应用访问网络的识别方法,其特征在于,包括如下步骤:
在终端发起网络请求时,利用VpnService拦截所述网络请求的IP数据报文,将所述IP数据报文发送至tun2socks工具库;
通过所述tun2socks工具库对所述IP数据报文经过协议栈处理成IP数据包;
通过所述tun2socks工具库发送所述IP数据包至指定的内部监听地址,并记录所述IP数据包发送至所述内部监听地址过程中建立连接的端口的第一映射关系;所述第一映射关系中存储有内部可编程临时端口和tun端口的映射关系;
监听所述内部监听地址,根据防火墙安全会话转换协议解析所述IP数据包并获取所述IP数据包中记录的内部可编程临时端口;
根据所述内部可编程临时端口、所述第一映射关系和操作系统中记录网络连接的系统文件识别出发起所述网络请求的标识应用身份;具体包括:根据所述内部可编程临时端口和所述第一映射关系查找所述tun端口;根据所述tun端口和所述操作系统中记录网络连接的系统文件识别发起所述网络请求的标识应用身份;其中,所述操作系统中记录网络连接的系统文件中包含tun端口与发起所述网络请求的标识应用身份的映射关系。
2.根据权利要求1所述的应用访问网络的识别方法,其特征在于,所述根据所述内部可编程临时端口、所述第一映射关系和操作系统中记录网络连接的系统文件识别出发起所述网络请求的标识应用身份的步骤,包括以下步骤:
根据防火墙安全会话转换协议解析所述IP数据包并获取所述IP数据包中记录的中转地址;
在所述中转地址是UDP中转地址时,根据所述内部可编程临时端口、所述第一映射关系和操作系统中UDP协议网络连接的系统文件识别出发起所述网络请求的标识应用身份。
3.根据权利要求2所述的应用访问网络的识别方法,其特征在于,在所述根据防火墙安全会话转换协议解析所述IP数据包并获取所述IP数据包中记录的中转地址的步骤之后,还包括以下步骤:
在所述中转地址是TCP中转地址时,根据所述内部可编程临时端口、所述第一映射关系和操作系统中TCP协议网络连接的系统文件识别出发起所述网络请求的标识应用身份。
4.根据权利要求1所述的应用访问网络的识别方法,其特征在于,所述根据所述内部可编程临时端口、所述第一映射关系和操作系统中记录网络连接的系统文件识别出发起所述网络请求的标识应用身份的步骤,包括以下步骤:
根据所述内部可编程临时端口查找所述第一映射关系中对应的本机端口;
根据所述本机端口和所述操作系统中记录网络连接的系统文件识别发起所述网络请求的标识应用身份。
5.根据权利要求1所述的应用访问网络的识别方法,其特征在于,在所述根据所述内部可编程临时端口、所述第一映射关系和操作系统中记录网络连接的系统文件识别出发起所述网络请求的标识应用身份的步骤之后,还包括如下步骤:
根据所述标识应用身份和第二映射关系识别出发起所述网络请求的应用程序,其中,所述第二映射关系为操作系统中标识应用身份与应用程序的映射关系。
6.根据权利要求5所述的应用访问网络的识别方法,其特征在于,在所述根据所述标识应用身份和操作系统中标识应用身份与应用信息的第二映射关系识别出发起所述网络请求的应用信息程序的步骤之前,还包括以下步骤:
记录所述标识应用身份与所述应用程序的第二映射关系。
7.根据权利要求1所述的应用访问网络的识别方法,其特征在于,所述对所述IP数据报文经过协议栈处理成IP数据包的步骤,包括以下步骤:
对所述IP数据报文经过轻量级的用户态协议栈处理成IP数据包;
所述发送所述IP数据包至指定的内部监听地址的步骤,包括以下步骤:
通过socket连接将所述IP数据包发送至指定的内部监听地址。
8.一种应用访问网络的识别系统,其特征在于,包括:
IP数据报文拦截模块,用于在终端发起网络请求时,利用VpnService拦截所述网络请求的IP数据报文,将所述IP数据报文发送至tun2socks工具库;
IP数据包生成模块,用于通过所述tun2socks工具库对所述IP数据报文经过协议栈处理成IP数据包;
IP数据包发送模块,用于通过所述tun2socks工具库发送所述IP数据包至指定的内部监听地址,并记录所述IP数据包发送至所述内部监听地址过程中建立连接的端口的第一映射关系;所述第一映射关系中存储有内部可编程临时端口和tun端口的映射关系;
内部可编程临时端口获取模块,用于监听所述内部监听地址,根据防火墙安全会话转换协议解析所述IP数据包并获取所述IP数据包中记录的内部可编程临时端口;
标识应用身份识别模块,用于根据所述内部可编程临时端口、所述第一映射关系和操作系统中记录网络连接的系统文件识别出发起所述网络请求的标识应用身份;具体包括:根据所述内部可编程临时端口和所述第一映射关系查找所述tun端口;根据所述tun端口和所述操作系统中记录网络连接的系统文件识别发起所述网络请求的标识应用身份;其中,所述操作系统中记录网络连接的系统文件中包含tun端口与发起所述网络请求的标识应用身份的映射关系。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任意一项所述的应用访问网络的识别方法。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至7任意一项所述的应用访问网络的识别方法。
CN201810026487.9A 2018-01-11 2018-01-11 应用访问网络的识别方法和系统 Active CN108243192B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810026487.9A CN108243192B (zh) 2018-01-11 2018-01-11 应用访问网络的识别方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810026487.9A CN108243192B (zh) 2018-01-11 2018-01-11 应用访问网络的识别方法和系统

Publications (2)

Publication Number Publication Date
CN108243192A CN108243192A (zh) 2018-07-03
CN108243192B true CN108243192B (zh) 2020-12-15

Family

ID=62699569

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810026487.9A Active CN108243192B (zh) 2018-01-11 2018-01-11 应用访问网络的识别方法和系统

Country Status (1)

Country Link
CN (1) CN108243192B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109698969A (zh) * 2018-12-20 2019-04-30 北京四达时代软件技术股份有限公司 电视的文本输入方法及装置
CN110808921B (zh) * 2019-11-05 2023-01-03 赵宇飞 应用识别方法、系统及网络设备
CN111294399B (zh) * 2020-02-04 2023-06-23 网宿科技股份有限公司 一种数据传输方法和装置
CN111800330B (zh) * 2020-06-30 2021-12-03 苏州瑞立思科技有限公司 基于无线接入点的外设网络流量的代理加速方法及系统
CN112398685B (zh) * 2020-11-04 2024-01-19 腾讯科技(深圳)有限公司 基于移动终端的主机设备加速方法、装置、设备及介质
CN112468455B (zh) * 2020-11-10 2023-04-07 山石网科通信技术股份有限公司 用户的识别方法及装置、系统
CN112637329B (zh) * 2020-12-21 2022-08-23 网络通信与安全紫金山实验室 一种多应用程序的标识方法、装置、设备及存储介质
CN115085953A (zh) * 2021-03-11 2022-09-20 腾讯科技(深圳)有限公司 一种内网访问方法、装置、设备及计算机可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7843912B2 (en) * 2006-08-03 2010-11-30 Citrix Systems, Inc. Systems and methods of fine grained interception of network communications on a virtual private network
WO2014101761A1 (en) * 2012-12-27 2014-07-03 Tencent Technology (Shenzhen) Company Limited Method for synchronizing application and background server
CN104468269A (zh) * 2014-12-01 2015-03-25 郭丹 一种基于Android终端设备的定向流量监管方法
CN104901897A (zh) * 2015-05-26 2015-09-09 杭州华三通信技术有限公司 一种应用类型的确定方法和装置
CN105764095A (zh) * 2016-02-22 2016-07-13 苏州蜗牛数字科技股份有限公司 基于虚拟专用网络的应用识别与控制系统及方法
CN107222369A (zh) * 2017-07-07 2017-09-29 北京小米移动软件有限公司 应用程序的识别方法、装置、交换装置和存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7843912B2 (en) * 2006-08-03 2010-11-30 Citrix Systems, Inc. Systems and methods of fine grained interception of network communications on a virtual private network
WO2014101761A1 (en) * 2012-12-27 2014-07-03 Tencent Technology (Shenzhen) Company Limited Method for synchronizing application and background server
CN104468269A (zh) * 2014-12-01 2015-03-25 郭丹 一种基于Android终端设备的定向流量监管方法
CN104901897A (zh) * 2015-05-26 2015-09-09 杭州华三通信技术有限公司 一种应用类型的确定方法和装置
CN105764095A (zh) * 2016-02-22 2016-07-13 苏州蜗牛数字科技股份有限公司 基于虚拟专用网络的应用识别与控制系统及方法
CN107222369A (zh) * 2017-07-07 2017-09-29 北京小米移动软件有限公司 应用程序的识别方法、装置、交换装置和存储介质

Also Published As

Publication number Publication date
CN108243192A (zh) 2018-07-03

Similar Documents

Publication Publication Date Title
CN108243192B (zh) 应用访问网络的识别方法和系统
US10827421B2 (en) Network slice selection method, user equipment, and network device
CN109314701B (zh) 使用可用网络连接的网络路径探测
EP3433978B1 (en) Standalone network probing using available network connections
US11323502B2 (en) Transport method selection for delivery of server notifications
US20180091581A1 (en) Method of switching download mode, control method thereof and control system thereof
WO2021134446A1 (zh) 一种信息处理方法和通信装置以及通信系统
US10149134B2 (en) Near field discovery method, user equipment, and storage medium
WO2020011026A1 (zh) 终端应用的控制方法、装置及系统
CN106455132B (zh) 多wifi模块控制方法、装置及终端设备
CN110535746B (zh) 虚拟专用网络vpn共享的方法、装置、电子设备及存储介质
CN113873684B (zh) 基于局域网的连接建立方法、装置、终端设备及存储介质
WO2024120285A1 (zh) 信息传输方法、装置、终端及网络侧设备
WO2024120286A1 (zh) 传输方法、装置、终端及网络侧设备
WO2024061091A1 (zh) 一种网络通信的方法、装置、网络侧设备、终端及介质
WO2024140570A1 (zh) 策略配置方法、装置、终端、网络侧设备及可读存储介质
CN112738829B (zh) 应答报文的处理方法及装置、存储介质及电子装置
CN114258011B (zh) 信息发送方法、信息接收方法、装置及终端
WO2024093919A1 (zh) 中继链路释放方法、装置及通信设备
US20240031335A1 (en) Information processing method and apparatus, and communication device
WO2024032499A1 (zh) Dns查询方法及通信设备
WO2023020465A1 (zh) 地址转换控制方法、装置、终端及网元
WO2024160155A1 (zh) 辅密钥更新方法、终端及网络侧设备
US20240163246A1 (en) DNS Query Method and Device
WO2023078268A1 (zh) Dns消息的发送方法、终端及网络侧设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220218

Address after: Room 1423, No. 1256 and 1258, Wanrong Road, Jing'an District, Shanghai 200040

Patentee after: Tianyi Digital Life Technology Co.,Ltd.

Address before: 1 / F and 2 / F, East Garden, Huatian International Plaza, 211 Longkou Middle Road, Tianhe District, Guangzhou, Guangdong 510630

Patentee before: Century Dragon Information Network Co.,Ltd.

TR01 Transfer of patent right