当前位置: 首页 > news >正文

安卓基本代理检测

可以检测常见vpn,代理等

package com.example.myapplication; import android.content.Context; import android.net.ConnectivityManager; import android.net.ProxyInfo; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; import java.io.IOException; import java.net.NetworkInterface; import java.net.Proxy; import java.util.ArrayList; import java.util.Enumeration; import java.util.List; import okhttp3.Call; import okhttp3.Callback; import okhttp3.MediaType; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; public class MainActivity extends AppCompatActivity { private Button buttonSendRequest; private TextView textResponse; private OkHttpClient client; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); buttonSendRequest = findViewById(R.id.button_send_request); textResponse = findViewById(R.id.text_response); client = new OkHttpClient.Builder().proxy(Proxy.NO_PROXY).build(); buttonSendRequest.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { sendRequest(); } }); } /** * 综合检测,返回所有检测到的异常信息列表 */ private List<String> detectSecurityThreats() { List<String> threats = new ArrayList<>(); // 检测1:系统属性代理 String proxyHost = System.getProperty("http.proxyHost"); String proxyPort = System.getProperty("http.proxyPort"); if (proxyHost != null && !proxyHost.isEmpty()) { threats.add("[系统属性代理] " + proxyHost + ":" + proxyPort); Log.d("Security", "System property proxy: " + proxyHost + ":" + proxyPort); } // 检测2:ConnectivityManager代理 ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); if (cm != null) { ProxyInfo proxyInfo = cm.getDefaultProxy(); if (proxyInfo != null && proxyInfo.getHost() != null && !proxyInfo.getHost().isEmpty()) { threats.add("[WiFi代理] " + proxyInfo.getHost() + ":" + proxyInfo.getPort()); Log.d("Security", "ConnectivityManager proxy: " + proxyInfo.getHost() + ":" + proxyInfo.getPort()); } } // 检测3:VPN网络接口 try { Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces(); if (interfaces != null) { while (interfaces.hasMoreElements()) { NetworkInterface ni = interfaces.nextElement(); if (ni.isUp()) { String name = ni.getName(); if (name.contains("tun") || name.contains("ppp") || name.contains("pptp")) { threats.add("[VPN接口] " + name); Log.d("Security", "VPN interface detected: " + name); } } } } } catch (Exception e) { Log.e("Security", "Error checking VPN: " + e.getMessage()); } return threats; } private void sendRequest() { List<String> threats = detectSecurityThreats(); if (!threats.isEmpty()) { StringBuilder sb = new StringBuilder(); sb.append("检测到安全异常,请求已拦截!\n\n"); sb.append("共检测到 ").append(threats.size()).append(" 项异常:\n\n"); for (int i = 0; i < threats.size(); i++) { sb.append(i + 1).append(". ").append(threats.get(i)).append("\n"); } String message = sb.toString(); runOnUiThread(() -> textResponse.setText(message)); return; } String url = "http://192.168.50.234:5005/posts"; MediaType JSON = MediaType.get("application/json; charset=utf-8"); String json = "{\"title\":\"测试标题\",\"body\":\"测试内容\",\"userId\":1}"; RequestBody body = RequestBody.create(json, JSON); Request request = new Request.Builder() .url(url) .post(body) .build(); client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { runOnUiThread(() -> textResponse.setText("请求失败: " + e.getMessage())); } @Override public void onResponse(Call call, Response response) throws IOException { final String responseBody = response.body().string(); runOnUiThread(() -> { if (response.isSuccessful()) { textResponse.setText(responseBody); } else { textResponse.setText("请求失败,状态码: " + response.code()); } }); } }); } }
http://www.gsyq.cn/news/1350176.html

相关文章:

  • Windows curl证书错误SEC_E_UNTRUSTED_ROOT解决方案
  • 快速开发AI客服原型时如何利用Taotoken分钟级接入多模型
  • Tokenizer与Embedding
  • 书匠策AI:那个让你论文查重从“红色地狱“直接变“绿色天堂“的神器
  • 魔兽争霸III终极优化指南:5步解决宽屏黑边、FPS限制与地图加载问题
  • SR全光谱反射式膜厚仪
  • Unity+C#开发MMO服务端的务实架构与万人连接实战
  • 2026 北京本土口碑好 GEO 优化公司权威 TOP10 排名,含北京服务商选型指南 +FAQ - 资讯纵览
  • 2026年5月最新鹤岗黄金回收白银回收铂金回收权威排行榜TOP5:纯金+金条+银条+钯金 门店地址联系方式推荐 - 检测回收中心
  • 【Elasticsearch从入门到精通】第08篇:Elasticsearch集群扩展与运维——水平扩展与节点管理
  • 2026沧州灶台贴膜,专业团队这样选才靠谱 - 品牌企业推荐师(官方)
  • Windows热键冲突终极指南:如何用Hotkey Detective一键定位占用程序
  • Next.js App Router权限绕过漏洞CVE-2025-29927深度解析
  • doctype、charset、meta如何控制整个渲染流水线
  • 2026年5月最新玉林黄金回收白银回收铂金回收权威排行榜TOP5:纯金+金条+银条+钯金 门店地址联系方式推荐 - 检测回收中心
  • 微信小程序wxapkg文件结构解析与源码还原实战
  • 2026年5月最新大庆黄金回收白银回收铂金回收权威排行榜TOP5:纯金+金条+银条+钯金 门店地址联系方式推荐 - 检测回收中心
  • 2026年5月最新玉树黄金回收白银回收铂金回收权威排行榜TOP5:纯金+金条+银条+钯金 门店地址联系方式推荐 - 检测回收中心
  • UE5 BaseGame.ini深度解析:配置加载机制与渲染管线控制
  • Ollama 初探:为什么选择本地模型管理,以及如何快速部署
  • 2026年5月最新湘潭黄金回收白银回收铂金回收权威排行榜TOP5:纯金+金条+银条+钯金 门店地址联系方式推荐 - 检测回收中心
  • 2026年5月最新玉溪黄金回收白银回收铂金回收权威排行榜TOP5:纯金+金条+银条+钯金 门店地址联系方式推荐 - 检测回收中心
  • 2026年5月最新长治黄金回收白银回收铂金回收权威排行榜TOP5:纯金+金条+银条+钯金 门店地址联系方式推荐 - 检测回收中心
  • N_m3u8DL-CLI-SimpleG:终极M3U8视频下载解决方案完整指南
  • Linux中 inode 功能解析 (No space left on device)
  • Unity原生RPG开发框架:数据库驱动与可视化事件系统
  • XLua热更项目Lua性能分析实战:函数耗时、内存分配与协程调度深度定位
  • Unity热更项目Lua性能分析:Miku-LuaProfiler实战指南
  • 我使用unrealEngine5.7.4创建了使用第三人称模版创建了蓝图桌面工程命名MyGameFPS,创建基础关卡,然后再工具菜单Platforms->Cook Content ->Cook Con
  • 对比直接使用与通过Taotoken调用大模型API的账单清晰度体验