CN109005227A - 一种手机网络包与手机应用的对应方法及装置 - Google Patents
一种手机网络包与手机应用的对应方法及装置 Download PDFInfo
- Publication number
- CN109005227A CN109005227A CN201810850293.0A CN201810850293A CN109005227A CN 109005227 A CN109005227 A CN 109005227A CN 201810850293 A CN201810850293 A CN 201810850293A CN 109005227 A CN109005227 A CN 109005227A
- Authority
- CN
- China
- Prior art keywords
- mobile phone
- network
- network packet
- phone application
- underlay approach
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种手机网络包与手机应用的对应方法,方法包括:获取手机应用访问网络所调用的底层方法,其中,底层方法为手机应用访问网络所调用的方法;将线程标记代码与底层方法封装在一起;调用底层方法以访问网络,同时,利用线程标记代码对调用底层方法的进程进行标注;获取所有底层方法被调用过程中产生的与每一个进程标识信息对应的网络包;在进程目录文件系统中,根据每一个进程标识信息,获取与进程标识信息对应的手机应用名称;根据进程标识信息将网络包与手机应用名称匹配。本发明公开了一种手机网络包与手机应用的对应装置。应用本发明实施例,可以实现手机网络包与手机应用名称的对应。
Description
技术领域
本发明涉及一种手机网络包的处理方法及装置,更具体涉及一种手机网络包与手机应用的对应方法及装置。
背景技术
随着网络技术的发展,手机上安装的手机应用也越来越多,对手机应用进行检测是亟待解决的技术问题。
目前,通常采用网络抓包的方式检测手机应用的网络通讯,这种抓包方式可以抓到手机系统中产生的收发IP(Internet Protocol,网络协议)网络包,包括源地址、目的地址、源端口、目的端口、数据正文,但是分不出是哪个手机应用和进程产生的网络包,不利于网络行为与进程的匹配分析。
因此,现有技术存在,无法进行网络包与手机应用的匹配。
发明内容
本发明所要解决的技术问题在于提供了一种手机网络包与手机应用的对应方法及装置,以实现进行网络包与手机应用的匹配的目的。
本发明是通过以下技术方案解决上述技术问题的:
本发明实施例提供了一种手机网络包与手机应用的对应方法,所述方法包括:
获取手机应用访问网络所调用的底层方法,其中,所述底层方法为手机应用访问网络所调用的方法;
将线程标记代码与所述底层方法封装在一起;
调用所述底层方法以访问网络,同时,利用所述线程标记代码对调用所述底层方法的产生的网络包进行标注;
获取所有所述底层方法被调用过程中产生的与每一个进程标识信息对应的网络包,其中,所述网络包包括:源地址、目的地址、源端口、目的端口以及正文中的至少一种;
在进程目录文件系统中,根据每一个进程标识信息,获取与所述进程标识信息对应的手机应用名称;
根据所述进程标识信息将所述网络包与所述手机应用名称匹配。
可选的,所述底层方法为,手机应用访问网络使用的网络访问方式所共有的底层方法,其中,所述网络访问方式为,待进行进程标识信息与手机应用名称匹配的网络访问方式。
可选的,所述底层方法包括:Sendto方法以及recvform方法。
可选的,所述网络访问方式,包括:基于TCP协议的网络访问方式以及基于UDP协议的网络访问方式。
本发明实施例还提供了一种手机网络包与手机应用的对应装置,所述装置包括:
第一获取模块,用于获取手机应用访问网络所调用的底层方法,其中,所述底层方法为手机应用访问网络所调用的方法;
封装模块,用于将线程标记代码与所述底层方法封装在一起;
调用模块,用于调用所述底层方法以访问网络,同时,利用所述线程标记代码对调用所述底层方法的产生的网络包进行标注;
第二获取模块,用于获取所有所述底层方法被调用过程中产生的与每一个进程标识信息对应的网络包,其中,所述网络包包括:源地址、目的地址、源端口、目的端口以及正文中的至少一种;
第三获取模块,用于在进程目录文件系统中,根据每一个进程标识信息,获取与所述进程标识信息对应的手机应用名称;
匹配模块,用于根据所述进程标识信息将所述网络包与所述手机应用名称匹配。
可选的,所述底层方法为,手机应用访问网络使用的网络访问方式所共有的底层方法,其中,所述网络访问方式为,待进行进程标识信息与手机应用名称匹配的网络访问方式。
可选的,所述底层方法包括:Sendto方法以及recvform方法。
可选的,所述网络访问方式,包括:基于TCP协议的网络访问方式以及基于UDP协议的网络访问方式。
本发明相比现有技术具有以下优点:
应用本发明实施例,将将线程标记代码与底层方法封装在一起,在调用底层方法以访问网络,利用所述线程标记代码对调用所述底层方法的产生的网络包进行标注;当进行网络包抓取时,可以将根据网络包中的线程标记得到对应的手机应用的标识信息,然后在进程目录文件系统中获取与该标识信息对应的手机应用的名称,进而可以将手机应用的名称与网络包进行对应。
附图说明
图1为本发明实施例提供的一种手机网络包与手机应用的对应方法的流程示意图;
图2为本发明实施例提供的一种手机网络包与手机应用的对应装置的结构示意图。
具体实施方式
下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
本发明实施例提供了一种手机网络包与手机应用的对应方法及装置,下面首先就本发明实施例提供的一种手机网络包与手机应用的对应方法进行介绍。
图1为本发明实施例提供的一种手机网络包与手机应用的对应方法的流程示意图;如图1所示,所述方法包括:
S101:获取手机应用访问网络所调用的底层方法,其中,所述底层方法为手机应用访问网络所调用的方法;
具体的,所述底层方法为,手机应用访问网络使用的网络访问方式所共有的底层方法,其中,所述网络访问方式为,待进行进程标识信息与手机应用名称匹配的网络访问方式。在实际应用中,网络访问方式,包括:基于TCP(Transmission Control Protocol,传输控制协议)协议的网络访问方式以及基于UDP(User Datagram Protoco,用户数据报协议)协议的网络访问方式,且所述底层方法包括:Sendto(网络包发送)方法以及recvform(网络包接收)方法。
在实际应用中,Android(安卓)系统中一个手机应用可以通过java提供的API(Application Programming Interface,应用程序编程接口)或者native(原生)方式访问网络。如果仅采用拦截Java API方式,会漏掉利用native(原生)方式的网络访问。经分析,java中通过API访问网络是通过native(原生)方式调用底层socket(套接字)函数中的Sendto(网络包发送)方法以及recvform(网络包接收)方法。另外,在native(原生)方式中,不管是TCP(传输控制协议)还是UDP(用户数据报协议)方式的收发数据,都是调用socket(套接字)函数中的sendto(网络包发送)或者recvfrom(网络包接收)方法。而且,在C语言层,send、recv(发送、接收)方法最终也是调用sendto、recvfrom(发送、接收)方法。因此,可以选择修改底层的connect(连接)函数、sendto(网络包发送)函数、write(写入)函数,实现对sendto(网络包发送)、recvfrom(网络包接收)方法进行监控的目的。
S102:将线程标记代码与所述底层方法封装在一起。
具体的,可以通过如下方式将线程标记代码与底层方法封装在一起:
在实际应用中,在bionic/libc目录中目录中,并没有找到connect/sendto/write这几个函数的C文件实现,因此,这几个方法是用汇编语言实现。要想在这几个方法中实现拦截功能,必须将汇编实现方式改为C源文件实现方式,实现方式如下,
1)、找到sendto.S文件,在android系统中该文件的路径为:
bionic/libc/arch-arm/syscalls/。
2)、将sendto.S改为__sendto.S并在汇编代码中将sendto改为__sendto。
3)、在bionic/libc/arch-arm/目录中修改syscalls.mk文件中的sento.S为__sendto.S。
4)、在bionic/libc/include/sys/socket.h中修改关键字__socketcall为前缀的sendto函数声明,将__socketcall改为extern关键字。
5)、在bionic/libc/unistd中新建sendto.c文件,并在文件中增加读取源IP、目的IP、源端口、目的端口、数据正文,以及汇编中实现__sendto方法,实现代码如下所示:
extern ssize_t__sendto(int,const void*,size_t,int,conststructsockaddr*,socklen_t);
6)、按照上述方式修改receifrom.S为__receivefrom.S,并生成新的receivefrom.c;
7)、然后将按照上述方式修改后的线程标记代码进行编译,然后将编译后的代码与sendto、recvfrom(发送、接收)方法链接在一起,实现封装。
S103:调用所述底层方法以访问网络,同时,利用所述线程标记代码对调用所述底层方法的产生的网络包进行标注。
当手机应用访问网络时,会调用sendto(网络包发送)方法或者recvfrom(网络包接收)方法中的至少一个进行网络访问,在调用sendto(网络包发送)和或recvfrom(网络包接收)方法时会触发线程标记代码,进而对通过上述方式进行网络访问产生的网络包进行线程标记。
在实际应用中,可以使用进程标识符、或者线程标识符进行线程标记。可以理解的是,同一个进程中如果包含了多个线程,在进行线程标记代码的封装时,可以将该进程对应的多个线程的线程标记代码都进行封装。
S104:获取所有所述底层方法被调用过程中产生的与每一个进程标识信息对应的网络包,其中,所述网络包包括:源地址、目的地址、源端口、目的端口以及正文中的至少一种;
在实际应用中,进程标识信息可以为进程识别号或者进程标识符。
利用网络抓包算法抓取手机应用访问网络所产生的网络包。
例如,使用进程标记A对网络包-1进行标记;或者使用线程标识符a标记网络包-2、线程标识符b标记网络包-3。线程标识符a对应的线程以及线程标识符b对应的线程均为进程标记A对应的进程中所包含的线程。
S105:在进程目录文件系统中,根据每一个进程标识信息,获取与所述进程标识信息对应的手机应用名称。
在系统的进程目录文件系统中查找出与S104步骤中的进程标记A对应的进程,然后获取与该进程标记A对应的手机应用名称。
S106:根据所述进程标识信息将所述网络包与所述手机应用名称匹配。
根据进程标记A与手机应用名称的对应关系,进程标记A与网络包-1的对应关系将手机应用名称与网络包-1匹配。
在实际应用中,如果适用线程标识符对网络报进行标注时,根据线程标识符a与进程A的对应关系、线程标识符b与进程A对应关系,获取进程的名称,然后再将该进程名称与网络包-2和网络包-3匹配。
应用本发明图1所示实施例,将将线程标记代码与底层方法封装在一起,在调用底层方法以访问网络,利用所述线程标记代码对调用所述底层方法的产生的网络包进行标注;当进行网络包抓取时,可以将根据网络包中的线程标记得到对应的手机应用的标识信息,然后在进程目录文件系统中获取与该标识信息对应的手机应用的名称,进而可以将手机应用的名称与网络包进行对应。
与本发明图1所示实施例相对应,本发明实施例还提供了一种手机网络包与手机应用的对应装置。
图2为本发明实施例提供的一种手机网络包与手机应用的对应装置的结构示意图,如图2所示,所述装置包括:
第一获取模块201,用于获取手机应用访问网络所调用的底层方法,其中,所述底层方法为手机应用访问网络所调用的方法;
封装模块202,用于将线程标记代码与所述底层方法封装在一起;
调用模块203,用于调用所述底层方法以访问网络,同时,利用所述线程标记代码对调用所述底层方法的产生的网络包进行标注;
第二获取模块204,用于获取所有所述底层方法被调用过程中产生的与每一个进程标识信息对应的网络包,其中,所述网络包包括:源地址、目的地址、源端口、目的端口以及正文中的至少一种;
第三获取模块205,用于在进程目录文件系统中,根据每一个进程标识信息,获取与所述进程标识信息对应的手机应用名称;
匹配模块206,用于根据所述进程标识信息将所述网络包与所述手机应用名称匹配。
应用本发明图2所示实施例,将将线程标记代码与底层方法封装在一起,在调用底层方法以访问网络,利用所述线程标记代码对调用所述底层方法的产生的网络包进行标注;当进行网络包抓取时,可以将根据网络包中的线程标记得到对应的手机应用的标识信息,然后在进程目录文件系统中获取与该标识信息对应的手机应用的名称,进而可以将手机应用的名称与网络包进行对应。
在本发明实施例的一种具体实施方式中,所述底层方法为,手机应用访问网络使用的网络访问方式所共有的底层方法,其中,所述网络访问方式为,待进行进程标识信息与手机应用名称匹配的网络访问方式。
在本发明实施例的一种具体实施方式中,所述底层方法包括:Sendto(网络包发送)方法以及recvform(网络包接收)方法。
在本发明实施例的一种具体实施方式中,所述网络访问方式,包括:基于TCP(传输控制协议)协议的网络访问方式以及基于UDP(用户数据报协议)协议的网络访问方式。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种手机网络包与手机应用的对应方法,其特征在于,所述方法包括:
获取手机应用访问网络所调用的底层方法,其中,所述底层方法为手机应用访问网络所调用的方法;
将线程标记代码与所述底层方法封装在一起;
调用所述底层方法以访问网络,同时,利用所述线程标记代码对调用所述底层方法的产生的网络包进行标注;
获取所有所述底层方法被调用过程中产生的与每一个进程标识信息对应的网络包,其中,所述网络包包括:源地址、目的地址、源端口、目的端口以及正文中的至少一种;
在进程目录文件系统中,根据每一个进程标识信息,获取与所述进程标识信息对应的手机应用名称;
根据所述进程标识信息将所述网络包与所述手机应用名称匹配。
2.根据权利要求1所述的一种手机网络包与手机应用的对应方法,其特征在于,所述底层方法为,手机应用访问网络使用的网络访问方式所共有的底层方法,其中,所述网络访问方式为,待进行进程标识信息与手机应用名称匹配的网络访问方式。
3.根据权利要求2所述的一种手机网络包与手机应用的对应方法,其特征在于,所述底层方法包括:Sendto方法以及recvform方法中的至少一种。
4.根据权利要求2所述的一种手机网络包与手机应用的对应方法,其特征在于,所述网络访问方式,包括:基于TCP协议的网络访问方式以及基于UDP协议的网络访问方式。
5.一种手机网络包与手机应用的对应装置,其特征在于,所述装置包括:
第一获取模块,用于获取手机应用访问网络所调用的底层方法,其中,所述底层方法为手机应用访问网络所调用的方法;
封装模块,用于将线程标记代码与所述底层方法封装在一起;
调用模块,用于调用所述底层方法以访问网络,同时,利用所述线程标记代码对调用所述底层方法的产生的网络包进行标注;
第二获取模块,用于获取所有所述底层方法被调用过程中产生的与每一个进程标识信息对应的网络包,其中,所述网络包包括:源地址、目的地址、源端口、目的端口以及正文中的至少一种;
第三获取模块,用于在进程目录文件系统中,根据每一个进程标识信息,获取与所述进程标识信息对应的手机应用名称;
匹配模块,用于根据所述进程标识信息将所述网络包与所述手机应用名称匹配。
6.根据权利要求5所述的一种手机网络包与手机应用的对应装置,其特征在于,所述底层方法为,手机应用访问网络使用的网络访问方式所共有的底层方法,其中,所述网络访问方式为,待进行进程标识信息与手机应用名称匹配的网络访问方式。
7.根据权利要求6所述的一种手机网络包与手机应用的对应装置,其特征在于,所述底层方法包括:Sendto方法以及recvform方法。
8.根据权利要求6所述的一种手机网络包与手机应用的对应装置,其特征在于,所述网络访问方式,包括:基于TCP协议的网络访问方式以及基于UDP协议的网络访问方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810850293.0A CN109005227A (zh) | 2018-07-28 | 2018-07-28 | 一种手机网络包与手机应用的对应方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810850293.0A CN109005227A (zh) | 2018-07-28 | 2018-07-28 | 一种手机网络包与手机应用的对应方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109005227A true CN109005227A (zh) | 2018-12-14 |
Family
ID=64596319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810850293.0A Pending CN109005227A (zh) | 2018-07-28 | 2018-07-28 | 一种手机网络包与手机应用的对应方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109005227A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101702121A (zh) * | 2009-10-29 | 2010-05-05 | 珠海金山软件股份有限公司 | Windows系统中程序网络流速控制装置 |
CN105765924A (zh) * | 2013-09-11 | 2016-07-13 | 飞比特网络股份有限公司 | 应用状态变化通知程序以及其方法 |
WO2016186975A1 (en) * | 2015-05-15 | 2016-11-24 | Virsec Systems, Inc. | Detection of sql injection attacks |
CN106330584A (zh) * | 2015-06-19 | 2017-01-11 | 中国移动通信集团广东有限公司 | 一种业务流的识别方法及识别装置 |
CN106921637A (zh) * | 2015-12-28 | 2017-07-04 | 华为技术有限公司 | 网络流量中的应用信息的识别方法和装置 |
-
2018
- 2018-07-28 CN CN201810850293.0A patent/CN109005227A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101702121A (zh) * | 2009-10-29 | 2010-05-05 | 珠海金山软件股份有限公司 | Windows系统中程序网络流速控制装置 |
CN105765924A (zh) * | 2013-09-11 | 2016-07-13 | 飞比特网络股份有限公司 | 应用状态变化通知程序以及其方法 |
WO2016186975A1 (en) * | 2015-05-15 | 2016-11-24 | Virsec Systems, Inc. | Detection of sql injection attacks |
CN106330584A (zh) * | 2015-06-19 | 2017-01-11 | 中国移动通信集团广东有限公司 | 一种业务流的识别方法及识别装置 |
CN106921637A (zh) * | 2015-12-28 | 2017-07-04 | 华为技术有限公司 | 网络流量中的应用信息的识别方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104951375B (zh) | 基于函数拦截技术的手机app性能数据采集方法 | |
CN104219316B (zh) | 一种分布式系统中的调用请求处理方法及装置 | |
Knabe | Language support for mobile agents | |
CN104408366B (zh) | 基于插装技术的安卓应用程序权限使用行为跟踪方法 | |
Sadjadi et al. | TRAP/J: Transparent generation of adaptable Java programs | |
CN110187912B (zh) | 一种节点选择方法和装置 | |
CN104412565B (zh) | 用于涉及承载无关协议的套接字管理的方法 | |
Ghezzi et al. | Programming language support to context-aware adaptation: a case-study with Erlang | |
CN106970820A (zh) | 代码存储方法及代码存储装置 | |
CN108959864A (zh) | 功能调用鉴权、调用功能的方法和装置及权限信息建立方法 | |
CN114244560B (zh) | 流量处理方法及装置,电子设备,存储介质 | |
CN111930382B (zh) | 应用页面的接入方法、装置及设备 | |
CN106326099B (zh) | 一种用于程序跟踪的方法、装置及电子设备 | |
CN104636122B (zh) | 一种能力组件的共享方法和设备 | |
US7039691B1 (en) | Java virtual machine configurable to perform as a web server | |
CN109088844A (zh) | 信息拦截方法、终端、服务器及系统 | |
CN109086147A (zh) | 应用程序的服务接口调用方法、装置及存储介质 | |
Sadjadi et al. | Architecture and operation of an adaptable communication substrate | |
Rivera et al. | Ros-fm: Fast monitoring for the robotic operating system (ros) | |
Muldoon et al. | Agent migration and communication in WSNs | |
CN109005227A (zh) | 一种手机网络包与手机应用的对应方法及装置 | |
CN110022332B (zh) | 一种超文本传输安全协议代理方法、装置、设备及介质 | |
CN105656727A (zh) | 一种在移动终端上实现应用测试的方法和装置 | |
CN113641518A (zh) | 服务调用方法、装置及存储介质 | |
US20180218165A1 (en) | Method for Locking Sensitive Data in the Cloud Based on Refactoring Technology |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181214 |
|
RJ01 | Rejection of invention patent application after publication |