导航:首页 > 配服务器 > 怎么通过代理服务器拿包

怎么通过代理服务器拿包

发布时间:2023-03-05 12:15:27

⑴ 如何使用HTTP代理

第一步、选择好提取数量,以及协议,和格式,点击生成api链接,就可以获取到链接了。

⑵ Android如何利用VpnService来抓包

通过这张图可以看出在未使用VpnService的情况下,App会走系统网络来进行各种网络通信。而在使用VpnService的情况下,IP层网络通信传输的包将经由本地的虚拟通道交由VpnService来处理,这样一来我们便可以捕获这些数据从而达到抓包的目的。

至今还没有完全理解这个API的意义。按照google的文档来说就是:

看起来像是添加一个虚拟IP地址的意思,然而按照教程中的描述则为:

参数变成了子网掩码,但是按照实际的使用来看更偏向于第一种。

添加路由来过滤发送特定IP地址的流量,如果不进行任何过滤则需要设置为0.0.0.0/0或::/0

添加DNS服务器的地址,如果不添加的话将使用手机默认的DNS服务器。

添加白名单,白名单中的app的流量将不会经过vpn虚拟通道而直接走系统网络。

设置是否为阻塞模式,默认为非阻塞。个人感觉很重要的API,github上的很多项目没有设置为阻塞导致具体实现的时候用的都是线程轮询的方式,这一样一来大大提升了系统的开销。设置为阻塞模式后将大大减少进程上下文的切换。

设置虚拟通道的最大传输字节数,需要根据具体情况具体分析。在抓包的场景下最好尽可能得设置大一些。

简单来说是否允许一些app在使用一些非主流的方式访问网络的情况下不走虚拟通道。个人觉得最好允许。

VpnService启动后创建Builder进行各种初始化,结束后调用establish()获得本地虚拟通道的文件描述符(mFD)。通过输入流读取需要发送IP数据包后解析包的解析(网上有各种第三方的库可供选择)。首先判断是版本是IPV4还是IPV6,之后根据不同的版本来判断使用的是什么协议。
实际抓包的时候可以看到很多协议种类,当然主要的还是UDP与TCP。

可以创建一个稀疏数组,key为源端口,value为Datagram通道,通过Datagram通道向外发送UDP数据,从而减少系统开销。最终通过Datagram通道拿到UDP响应数据后写入mFD的输出流。

TCP的情况比较麻烦,涉及到三次握手以及四次分手,在github上看到个人感觉比较好的做法是,本地建立一个代理服务器来模拟这个过程。这个还需要深入研究。

套接字在发送之前一定要调用protect来防止循环链接,否则发出去的包又回回到mFD的输入流造成死循环。

另外mFD如果不关闭的话是没办法停止VpnService的。

阅读全文

与怎么通过代理服务器拿包相关的资料

热点内容
dwphp代码提示 浏览:583
c语言编译器都要手动配置吗 浏览:666
wifi密码有二级加密如何破 浏览:807
单片机c语言时间 浏览:620
冰箱压缩机敲击声 浏览:814
苹果账户更新app被禁用怎么办 浏览:967
转转app怎么解除永久封杀 浏览:826
国家反诈app怎么注册不了 浏览:346
32岁女程序员迷茫 浏览:49
红米无法访问data文件夹 浏览:687
国家反诈中心app为什么审核不过去 浏览:873
linuxwindows启动盘 浏览:815
百度贴吧app怎么看访客 浏览:440
javaio文件复制 浏览:409
app上海总部在什么楼里 浏览:373
格式化硬盘dos命令 浏览:496
红茶可以缓解压力 浏览:1001
腾讯云怎么弄七十多一年云服务器 浏览:723
java按钮设置图片 浏览:871
php数字分页代码 浏览:793