一种IOS上针对App的TCP/UDP流量引导的方法与流程

文档序号:12005651阅读:来源:国知局

技术特征:
1.一种IOS上针对App的TCP/UDP流量引导的方法,包括以下步骤:步骤1:建立本地代理服务;具体包括以下内容:获取各个Socket函数的地址,将该函数的地址替换为构造的代理函数中的函数地址;然后创建本地代理服务线程;步骤2:构造连接函数集,该连接函数集实现跟原生Socket的各个函数的相同的功能,该连接函数集至少包括:创建与指定目的地的连接的函数my_connect、用于向一个已经连接的Socket发送数据的函数my_send、用于接收一个已经连接的Socket发送过来的数据的函数my_receive、向一指定目的地发送数据的函数my_sendto、接收指定目的地发送过来的数据的函数my_receivefrom;步骤3:将产生网络访问的应用软件记为APP,查找APP在内存当中的镜像头部,找到创建与指定目的地的连接的函数,将该函数的地址替换步骤2中构造的连接函数集的地址,并保存旧地址ori_connect;步骤4:循环步骤3,依次替换连接函数集的所有函数的地址,并保存各旧地址;步骤5:检测APP的协议是TCP还是UDP,如果是TCP,则选择方案一或者方案二;如果是UDP,则选择方案二将流量引导到代理服务器:方案一:过程1:APP向服务器发送TCP连接请求,调用my_connect函数;过程2:my_connect函数通过其函数内设置的目的IP地址和端口,与本地代理服务建立通信连接;同时,本地代理服务与目的服务器建立通信连接;过程3:APP通过my_send函数发送TCP数据;my_send函数将TCP数据发送到本地代理服务的代理服务器;过程4:本地代理服务解析接收到的TCP数据,将TCP数据转发给APP实际要发送的目的服务器;目的服务器接收到TCP数据后进行处理,返回结果数据,并把结果数据发送至本地代理服务;过程5:本地代理服务接收目的服务器发送的结果数据,并将结果数据转发至APP;过程6:APP调用my_receive函数接收结果数据;my_receive函数接收本地代理服务发送过来的数据;方案二:过程1:APP向服务器发送UDP数据,调用my_sendto函数发送UDP数据;过程2:my_sendto函数通过其函数内设置的目的IP地址和端口,与本地代理服务建立通信连接,并将UDP数据发送至本地代理服务;过程3:同时,本地代理服务与目的服务器建立通信连接;本地代理服务将UDP数据转发至目的服务器;目的服务器接收到UDP数据后进行处理,返回结果数据,并把结果数据发送至本地代理服务;过程5:本地代理服务接收目的服务器发送的结果数据,并将结果数据转发至APP;过程6:APP调用my_receivefrom函数接收结果数据;my_receivefrom函数接收本地代理服务发送过来的数据。
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1