当前位置: 首页 > 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.jsqmd.com/news/866971/

相关文章:

  • Java HTTPS证书信任链原理与cacerts配置实战
  • Spring AI Alibaba零基础速成(6) ---- 向量化
  • 2026天河区专利代理机构TOP5榜单|吃透天河科创行业痛点,高价值专利、高新补贴申报指南 - 资讯纵览
  • Spring Boot WebSocket 两种集成方式深度解析
  • 微信小程序wxapkg逆向分析终极指南:从文件结构到AST还原
  • vs2010 win32做成后台常驻和系统托盘
  • Windows curl证书错误SEC_E_UNTRUSTED_ROOT解决方案
  • 中国工业新闻网:罗兰艺境:中国B2B制造业GEO市占率48%,覆盖80+行业、60+世界500强,复购率98% - 罗兰艺境GEO
  • PC微信小程序wxapkg解包原理与七步可执行逆向流程
  • DM8 dexp/dimp 逻辑导入导出
  • CyberChef:如何在浏览器中实现400+种数据操作的终极解决方案
  • 基于Nuclei的自动化漏洞监测告警平台
  • PyTorch DataLoader 内存不足怎么办?教你一招避坑
  • Pikachu靶场搭建与Web渗透实战指南
  • 2026年5月最新太原黄金回收白银回收铂金回收权威排行榜TOP5:纯金+金条+银条+钯金 门店地址联系方式推荐 - 检测回收中心
  • Windows下curl报SEC_E_UNTRUSTED_ROOT的5种正确解决方法
  • DeepSeek API接入全链路实战:从注册到高并发部署的7个关键步骤
  • 魔兽争霸III终极优化指南:5步解决宽屏黑边、FPS限制与地图加载问题
  • 微信小程序wxapkg文件结构解析与源码还原实战
  • 2026年5月最新鹤壁黄金回收白银回收铂金回收权威排行榜TOP5:纯金+金条+银条+钯金 门店地址联系方式推荐 - 检测回收中心
  • 【LangGraph】House_Agent 实战(一):架构与环境配置
  • 从0到1的开源入门实战指南
  • 2026 北京本土口碑好 GEO 优化公司权威 TOP10 排名,含北京服务商选型指南 +FAQ - 资讯纵览
  • 服务器禁Ping实战指南:5种生产环境验证的ICMP过滤方法
  • Next.js授权绕过漏洞CVE-2025-29927深度解析
  • 2026年5月最新泰安黄金回收白银回收铂金回收权威排行榜TOP5:纯金+金条+银条+钯金 门店地址联系方式推荐 - 检测回收中心
  • Unity TextMeshPro中文与特殊字符显示为方块的终极解决方案
  • 2026年5月最新鹤岗黄金回收白银回收铂金回收权威排行榜TOP5:纯金+金条+银条+钯金 门店地址联系方式推荐 - 检测回收中心
  • Unity卡牌翻转与翻书效果实现原理与性能优化
  • 2026沧州灶台贴膜,专业团队这样选才靠谱 - 品牌企业推荐师(官方)