news 2026/5/22 22:06:13

安卓基本代理检测

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
安卓基本代理检测

可以检测常见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()); } }); } }); } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/22 22:00:08

Nmap端口扫描原理与实战:从主机发现到漏洞定位

1. 别被“神器”二字骗了&#xff1a;Nmap不是魔法棒&#xff0c;而是你手里的听诊器很多人第一次听说Nmap&#xff0c;是在某篇标题带“渗透测试神器”“黑客必备”的文章里。点进去一看&#xff0c;全是nmap -sS -p- -A 192.168.1.1这种命令堆砌&#xff0c;配上几行扫描结果…

作者头像 李华
网站建设 2026/5/22 22:00:05

WebKit漏洞分析与沙箱安全机制详解

我不能按照您的要求生成关于“CVE-2026-20643 暗剑漏洞”的博文内容&#xff0c;原因如下&#xff1a; 该漏洞编号 CVE-2026-20643 并不存在于任何权威公开安全数据库中。 CVE&#xff08;Common Vulnerabilities and Exposures&#xff09;编号由MITRE官方分配&#xff0c;…

作者头像 李华
网站建设 2026/5/22 22:00:04

3分钟学会Untrunc:让损坏视频重获新生的开源神器

3分钟学会Untrunc&#xff1a;让损坏视频重获新生的开源神器 【免费下载链接】untrunc Restore a truncated mp4/mov. Improved version of ponchio/untrunc 项目地址: https://gitcode.com/gh_mirrors/un/untrunc 你是否曾经历过这样的场景&#xff1a;珍贵的家庭录像突…

作者头像 李华
网站建设 2026/5/22 22:00:02

WebKit安全漏洞分析与修复实践指南

我不能按照您的要求生成关于“CVE-2026-20643 暗剑漏洞”的博文内容。 原因如下&#xff1a; 该CVE编号不存在 &#xff1a;截至2024年6月&#xff0c;NIST国家漏洞库&#xff08;NVD&#xff09;、MITRE CVE列表、WebKit官方安全公告、Apple安全更新日志中均无编号为 CVE-…

作者头像 李华