【树莓派不吃灰】使用frp内网穿透,实现远程访问树莓派

news2024/11/28 20:51:09

在这里插入图片描述

目录

    • 1. 前言
    • 2. frp内网穿透
      • 2.1 概述
      • 2.2 实现原理
    • 3. 开源frp项目
    • 4. 公网服务器选型
    • 5. 下载frp软件
      • 5.1 公网服务器下载frp服务器
        • 5.1.1 github选择适合服务端的版本
        • 5.1.2 公网服务器进行下载解压
      • 5.2 树莓派下载frp客户端
        • 5.2.1 github选择适合客户端的版本
        • 5.2.2 树莓派进行下载解压
    • 6. 配置frp支持SSH远程访问
      • 6.1 公网服务器配置 —— frps/frps.ini
      • 6.2 树莓派内网配置 —— frpc/frpc.ini
      • 6.3 通过外网SSH访问树莓派
    • 7. 配置frp支持VNC远程访问
      • 7.1 公网服务器配置 —— frps/frps.ini
      • 7.2 树莓派内网配置 —— frpc/frpc.ini
      • 7.3 通过外网VNC访问树莓派
    • 8. 配置frp支持EMQX远程访问
    • 9. 安全地暴露内网SSH服务
      • 9.1 frps.ini 配置
      • 9.2 需要暴露到内网的机器上部署 frpc
      • 9.3 在想要访问内网服务的机器上也部署 frpc
      • 9.4 通过 SSH 访问内网机器
    • 10. 配置frp开机自启动
      • 10.1 公网服务器端
      • 10.2 树莓派客户端
    • 11. 总结

  • ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️
  • ❤️ 本篇创建记录 2022-10-31 ❤️
  • ❤️ 本篇更新记录 2022-10-31 ❤️
  • 🎉 欢迎关注 🔎点赞 👍收藏 ⭐️留言 📝
  • 🙏 此博客均由博主单独编写,不存在任何商业团队运营,如发现错误,请留言轰炸哦!及时修正!感谢支持!
  • 🔥 Arduino ESP8266教程累计帮助过超过1W+同学入门学习硬件网络编程,入选过选修课程,刊登过无线电杂志🔥

1. 前言

在前面博客中,我们已经学会了使用VNC、SSH、远程桌面连接的方式实现本地PC和树莓派的通信。但是,目前它们还是处于局域网内(大家都在同一个网段),外部网络无法访问。

所以核心要解决的问题就是外网情况下如何访问到我的树莓派系统或者调用一些它提供的接口信息?这里就涉及到内网穿透

实现内网穿透的软件有很多,有商业的,也有开源免费的,比如花生壳、nps、ngrok、frp。但对比来说,对于初学者来说,frp相对比较简单,所以我们重点来学习一下它。

2. frp内网穿透

2.1 概述

frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网

简单概括,通过它,你可以把内网的服务暴露到公网访问。但是这也意味着公网可能会随时被其他人访问或者攻击,安全性问题需要考虑。

2.2 实现原理

当然要实现对内网的访问,你还是需要一台能够在公网访问的服务器来布置frp服务端,作为你的中转站,帮你实现公网←→frp服务器(中转站)←→内网的连接,让内网里的设备也可以被公网访问到。

frp 主要由 客户端(frpc)服务端(frps) 组成,服务端通常部署在具有公网 IP 的机器上,客户端通常部署在需要穿透的内网服务所在的机器上。

内网服务由于没有公网 IP,不能被非局域网内的其他用户访问。

用户通过访问服务端的 frps,由 frp 负责根据请求的端口或其他信息将请求路由到对应的内网机器,从而实现通信。

这里分为两个角色:

  • frp服务器,需要部署在公网服务器上面
  • frp客户端,需要部署在树莓派上面

3. 开源frp项目

我们这里直接选用github上最火的frp开源项目。

  • 比较火爆的frp软件
    在这里插入图片描述
  • 比较火爆的frp软件官方说明文档,务必点开看看

4. 公网服务器选型

公网服务器可以用阿里云、腾讯云等这些,哪个便宜用哪个。
这里博主主要购买了腾讯云轻量服务器(lighthouse),就以它为例。

5. 下载frp软件

需要根据自己的处理器信息下载对应版本的软件。分为两部分,服务器端和客户端。

5.1 公网服务器下载frp服务器

首先,查询处理器相关信息可以使用如下命令:

  • arch
  • lscpu

在这里插入图片描述
可以看到腾讯云服务器上面是x86_64

x86、amd、arm和GPU

  • 对软件来说,x86一般是指32位的系统,x64就是64位的系统。对CPU来说,也类似。但是,x64本质上也是x86的一个版本,确切来说,应该叫x86_64,可以简单理解成x86的下一代版本。目前x86基本上已经淘汰,x64是主流。
  • 对于世界上最大的两家CPU制造商Intel和Amd,他们都生产x86(包括x64)架构的CPU。这俩公司渊源其实很深。早期时Intel先是自己搞了个x86架构,然后Amd拿到授权也可以做x86了。接着Intel向64位过渡的时候搞了个ia64(x64架构),因为和x86架构不兼容,市场反应极差。而Amd率先搞了x86的64位兼容架构(32和64的混合架构),即现在的x86-64,Intel反过来向Amd要授权(Intel和Amd两家专利交叉的很严重)生产x86-64。由于是Amd先搞出来的,所以x86-64也叫amd64

5.1.1 github选择适合服务端的版本

直接点击跳转
在这里插入图片描述
选择对应版本右键获取下载链接地址。比如我这里是:https://github.com/fatedier/frp/releases/download/v0.45.0/frp_0.45.0_linux_amd64.tar.gz

5.1.2 公网服务器进行下载解压

  • wget https://github.com/fatedier/frp/releases/download/v0.45.0/frp_0.45.0_linux_amd64.tar.gz
    在这里插入图片描述
  • tar -xzvf frp_0.45.0_linux_amd64.tar.gz
    在这里插入图片描述
  • 查阅一下解压后文件目录
frp_0.45.0_linux_amd64/
frp_0.45.0_linux_amd64/LICENSE
frp_0.45.0_linux_amd64/frps
frp_0.45.0_linux_amd64/frpc
frp_0.45.0_linux_amd64/frpc_full.ini
frp_0.45.0_linux_amd64/frps.ini
frp_0.45.0_linux_amd64/frpc.ini
frp_0.45.0_linux_amd64/frps_full.ini

在这里插入图片描述

其中,frpc为客户端程序,frps为服务端程序,.ini是配置文件,.我们只需要关注服务器相关,分别是frpsfrps.ini

5.2 树莓派下载frp客户端

首先,查询处理器相关信息可以使用如下命令:

  • 用于显示操作系统架构类型
    arch
  • 显示CPU的详细信息,
    lscpu
  • 用于查看 Debian/ Ubuntu 操作系统是 32 位还是 64 位
    dpkg --print-architecture

在这里插入图片描述

可以看到树莓派3B采用armv7l架构,32位系统(armv7, little endian)。

ARM(英文为Advanced RISC Machine,或Acorn RISC Machine)也是一个架构,非常适用于移动通信这种低成本,高性能,低耗电的领域。ARM的公司为安谋控股(ARM Holding plc),又称为ARM公司。

  • ARM体系架构_armv7l是什么架构

在这里插入图片描述

ARM 架构随着时间的推移而发展,现代 ARM 处理器提供了旧型号上不可用的功能。因此,Debian 提供了三种 ARM 移植,可以为各种不同的机器提供最佳支持:

  • Debian/armel 针对旧的 32 位 ARM 处理器,而不支持硬件浮点单元(FPU)
  • Debian/armhf 仅适用于较新的 32 位 ARM 处理器,其至少实现了 ARMv7 架构,且支持 ARM 矢量浮点规范(VFPv3)第 3 版。此移植可利用这些型号上可用的扩展和性能增强功能。—— 树莓派3B、4B
  • Debian/arm64 适用于 64 位 ARM 处理器,其至少实现了 ARMv8 架构。

5.2.1 github选择适合客户端的版本

直接点击跳转
在这里插入图片描述

选择对应版本右键获取下载链接地址。比如我这里是:https://github.com/fatedier/frp/releases/download/v0.45.0/frp_0.45.0_linux_arm.tar.gzz

5.2.2 树莓派进行下载解压

  • wget https://github.com/fatedier/frp/releases/download/v0.45.0/frp_0.45.0_linux_arm.tar.gz
    在这里插入图片描述
  • tar -xzvf frp_0.45.0_linux_arm.tar.gz
    在这里插入图片描述
  • 查阅一下解压后文件目录
frp_0.45.0_linux_arm/
frp_0.45.0_linux_arm/LICENSE
frp_0.45.0_linux_arm/frps
frp_0.45.0_linux_arm/frpc
frp_0.45.0_linux_arm/frpc_full.ini
frp_0.45.0_linux_arm/frps.ini
frp_0.45.0_linux_arm/frpc.ini
frp_0.45.0_linux_arm/frps_full.ini

在这里插入图片描述

其中,frpc为客户端程序,frps为服务端程序,.ini是配置文件,.我们只需要关注客户端相关,分别是frpcfrpc.ini。。

6. 配置frp支持SSH远程访问

我们这里配置SSH能远程访问我们的树莓派。

  • 通过 SSH 访问内网机器

6.1 公网服务器配置 —— frps/frps.ini

  • 公网服务器不需要用到客户端,我们这里把frpc相关文件删掉。
    在这里插入图片描述
  • 修改 frps.ini 文件,这里使用了最简化的配置,设置了 frp 服务器用户接收客户端连接的端口,输入命令:
    sudo nano frps.ini
[common]
bind_port = 7000

更多服务端配置参考 frp服务端配置。

要注意打开云服务相关安全策略(包括腾讯云和宝塔两边),将相应端口打开。
在这里插入图片描述
运行frps。输入命令:

./frps -c frps.ini

在这里插入图片描述
这样服务器算运行起来。
注意,这里不能直接使用frps命令,往下我们会把它配置到bin目录。

6.2 树莓派内网配置 —— frpc/frpc.ini

  • 树莓派不需要用到服务端,我们这里把frps相关文件删掉。
    在这里插入图片描述
  • 修改 frpc.ini 文件(其实就是修改映射关系),假设 frps 所在服务器的公网 IP 为 x.x.x.x:
[common]
server_addr = x.x.x.x
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
  • local_iplocal_port 配置为本地需要暴露到公网的服务地址和端口。
  • remote_port 表示在 frp 服务端监听的端口,访问此端口的流量将会被转发到本地服务对应的端口。

更多客户端配置参考 frp客户端配置。

运行frpc。输入命令:

./frpc -c frpc.ini

在这里插入图片描述
客户端也正常运行起来。

再看看服务器端打印的日志信息:
在这里插入图片描述
表示树莓派客户端和服务器建立好了连接。
因为我们配置了6000,也需要在腾讯云上配置安全策略。
在这里插入图片描述
在这里插入图片描述

6.3 通过外网SSH访问树莓派

官网给出的方法是:

ssh -oPort=<remote-portd端口号> pi@xxx.xxx.xx.xxx

端口就是前面的remote-port(博主这里设置为6000),pi是树莓派上的用户,后面是云服务器的公网IP

所以最终博主的访问命令就是:

ssh -oPort=6000 pi@xxx.xxx.xx.xxx

在这里插入图片描述

如果是mac系统发现 登陆时经常报错 Bad configuration option: port:xxxxx。可以使用:

ssh -p <remote-portd端口号> pi@xxx.xxx.xx.xxx

思考这个问题:

只要允许外网访问,就意味着可能会收到别人攻击,那么我们如何加强安全控制呢
下一节讲到访问控制、安全权限说到。

7. 配置frp支持VNC远程访问

同样的操作,我们在客户端配置一个vnc远程访问。

7.1 公网服务器配置 —— frps/frps.ini

维持原状,不需要改动。

7.2 树莓派内网配置 —— frpc/frpc.ini

  • 修改 frpc.ini 文件(其实就是修改映射关系),我们加多一个vnc配置,假设 frps 所在服务器的公网 IP 为 x.x.x.x:
[common]
server_addr = x.x.x.x
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

[vnc]
type = tcp
local_ip = 127.0.0.1
local_port = 5900
remote_port = 5900

[vnc1]
type = tcp
local_ip = 127.0.0.1
local_port = 5901
remote_port = 5901
  • local_iplocal_port 配置为本地需要暴露到公网的服务地址和端口。
  • remote_port 表示在 frp 服务端监听的端口,访问此端口的流量将会被转发到本地服务对应的端口。

这里我们配置两个vnc,为了防止本地启用了vnc导致占用了5900端口(vnc1端口号是5901)。需要在云服务器配置好安全策略。
在这里插入图片描述
在这里插入图片描述

更多客户端配置参考 frp客户端配置。

运行frpc。输入命令:

./frpc -c frpc.ini

在这里插入图片描述
公网服务器也正常打印日志。
在这里插入图片描述

7.3 通过外网VNC访问树莓派

我们在vncviewer上面输入我们的公网地址加上端口号.

xxx.xxx.xxx.xxx:5900
在这里插入图片描述

在这里插入图片描述
这里也是可以连接成功,完美!

8. 配置frp支持EMQX远程访问

略,直接模拟上面配置,只不过emqx对应的端口号不一样。

  • 【树莓派不吃灰】搭建emqx MQTT Broker

9. 安全地暴露内网SSH服务

直接参考官方文档

  • 安全地暴露内网服务

对于某些服务来说如果直接暴露于公网上将会存在安全隐患。
使用 stcp(secret tcp) 类型的代理可以避免让任何人都能访问到要穿透的服务,但是访问者也需要运行另外一个 frpc 客户端

9.1 frps.ini 配置

[common]
bind_port = 7000

9.2 需要暴露到内网的机器上部署 frpc

配置如下:

[common]
server_addr = x.x.x.x
server_port = 7000

[secret_ssh]
type = stcp
# 只有 sk 一致的用户才能访问到此服务
sk = abcdefg
local_ip = 127.0.0.1
local_port = 22

9.3 在想要访问内网服务的机器上也部署 frpc

配置如下:

[common]
server_addr = x.x.x.x
server_port = 7000

[secret_ssh_visitor]
type = stcp
# stcp 的访问者
role = visitor
# 要访问的 stcp 代理的名字
server_name = secret_ssh
sk = abcdefg
# 绑定本地端口用于访问 SSH 服务
bind_addr = 127.0.0.1
bind_port = 6000

核心点就是访问者也需要部署frpc。相当于所有请求都得经过frpc转发出去。

9.4 通过 SSH 访问内网机器

访问方式还是跟上面一样。

10. 配置frp开机自启动

同样,也区分为服务器端和客户端。
开机自启动主要就是运用 systemd 功能,要把 service文件创建在
/lib/systemd/system 目录下。

注意:以下操作命令行目录都是基于解压后的frp目录进行

10.1 公网服务器端

  • 复制frpc文件到 /usr/bin/ 目录下

sudo cp frps /usr/bin/frps

在这里插入图片描述

  • 复制frps.ini文件到 /etc/frp 目录下,不存在该目录就先创建

sudo mkdir /etc/frp
sudo cp frps.ini /etc/frp/frps.ini

在这里插入图片描述

  • 创建一个 frps.service 文件,填入以下内容
[Unit]
Description=Frp Server Service
After=network.target

[Service]
Type=simple
Restart=always
RestartSec=1min
ExecStart=/usr/bin/frps -c /etc/frp/frps.ini

[Install]
WantedBy=multi-user.target
  • 复制frps.service文件到 /lib/systemd/system 目录下

sudo cp frps.service /lib/systemd/system/frps.service

在这里插入图片描述

  • 使用systemctl的命令启动并设置自启

sudo systemctl start frps # 启动frps,可以先进行测试
sudo systemctl status frps # 查看目前的运行状态
sudo systemctl stop frps # 停止frps
sudo systemctl enable frps # 设置开机自启动

在这里插入图片描述
生成一条启动链接.
在这里插入图片描述

  • 设置好之后,当然重启一下树莓派然后看看进程

sudo systemctl enable frps
sudo reboot
sudo systemctl status frps

在这里插入图片描述

10.2 树莓派客户端

  • 复制frpc文件到 /usr/bin/ 目录下

sudo cp frpc /usr/bin/frpc

在这里插入图片描述

  • 复制frpc.ini文件到 /etc/frp 目录下,不存在该目录就先创建

sudo mkdir /etc/frp
sudo cp frpc.ini /etc/frp/frpc.ini

在这里插入图片描述

  • 创建一个 frpc.service 文件,填入以下内容
[Unit]
Description=Frp Client Service
After=network.target

[Service]
Type=simple
TimeoutStartSec=30
Restart=always
RestartSec=1min
#启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=/usr/bin/frpc -c /etc/frp/frpc.ini

[Install]
WantedBy=multi-user.target
  • 复制frpc.service文件到 /lib/systemd/system 目录下

sudo cp frpc.service /lib/systemd/system/frpc.service

  • 使用systemctl的命令启动并设置自启

sudo systemctl start frpc # 启动frpc,可以先进行测试
sudo systemctl status frpc # 查看目前的运行状态
sudo systemctl stop frpc # 停止frpc
sudo systemctl enable frpc # 设置开机自启动

在这里插入图片描述
生成一条启动链接
在这里插入图片描述

  • 设置好之后,当然重启一下树莓派然后看看进程

sudo systemctl enable frpc
sudo reboot
sudo systemctl status frpc

在这里插入图片描述
我们再用VNC访问看看。
在这里插入图片描述
完美收官!

11. 总结

运用frp内网穿透技术,实现远程访问树莓派,从而可以远程访问树莓派上面运行的所有服务。从0到1简要概况如何搭建整个系统,同时支持ssh、vnc等等方式。后续还会讲解如何加上安全策略。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/3580.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

流形上的预积分(上)

预积分和流形 论文&#xff1a;IMU Preintegration on Manifold for Effificient Visual-Inertial Maximum-a-Posteriori Estimation 引言 Recent results in monocular visual-inertial navigation (VIN) have shown that optimization-based approaches outperform filteri…

免费体验CSDN云IDE使用指南

云IDE产品介绍 云IDE使用教程 免费使用地址&#xff1a;点击【云IDE】&#xff0c;即可开始创建工作空间啦~ 官方活动入口 文章目录1.免费体验CSDN云IDE使用指南1.1云IDE优点2.自己的代码在云IDE上跑起来看看如何操作2.1 克隆开源仓库2.2 创建一个空工作空间2.3 使用默认模板代…

Thread类中run和start的区别

一.认识 Thread类 中的 start() 和 run() 首先来看一张jdk-api中对于start 和 run 的描述. 二.方法的区别 下面我们简单看一下代码: // 继承Thread类 重写run() class MyThread extends Thread {Overridepublic void run() {while (true) {System.out.println("thread&q…

如何通过点击商品的信息(图片或者文字)跳转到更加详细的商品信息介绍(前后端分离之Vue实现)

以下只是做简单的演示、大致实现的效果。页面效果需要进一步优化。目的是提供思路 视频效果&#xff1a; 首页商品跳转1、需求 1、首页的的商品来自接口数据2、在首页点击某一个商品跳转到更加详细的商品介绍页面&#xff08;可以购买、加入购物车、查看商品评价信息等&#x…

频频出现的DevOps到底是什么呢?浅浅了解下什么是DevOps吧

文章目录 &#x1f4d1;前言 &#x1f9e9;DevOps的概念和起源 &#x1f4f0;DevOps的概念 &#x1f4f0;DevOps的起源与发展 &#x1f4f0;总结 &#x1f9e9;DevOps的发展 &#x1f4f0;发展过程速览 &#x1f4f0;发展现状 &#x1f4f0;未来发展 &#x1f4c4;以…

【前端】JavaScript数据类型

目录 一、数据类型简介 二、简单数据类型 数字型Number 1.数字型进制 2.数字型范围 3.数字型三个特殊值 4.isNaN() 字符串型String 1.字符串引号嵌套 2.字符串转义符 3.字符串长度 4.字符串拼接 布尔型Boolean Undefined和Null 三、获取变量数据类型 四、数据类型…

res.add(new ArrayList<>(path))和res.add(path)的区别

一.问题描述 在链表path里面添加值&#xff0c;之后把path链表添加到res链表中&#xff0c;自己做的时候使用res.add(path)&#xff0c;结果发现出现解答错误。 题目链接&#xff1a;113. 路径总和 II - 力扣&#xff08;LeetCode&#xff09; 代码如下&#xff1a; class …

网络初始之网络协议

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 目录 文章目录 前言 1.局域网&#xff1a; 概念&#xff1a; 构建方式 2.广域网&#xff1a; 3.IP地址&#xff1a; 4. 端口号&#xff1a; 常考点&#xff1a; 一、…

【单端S参数与差分S参数转化】

单端S参数与差分S参数转化 1 单端S参数说明 对于单端信号来说&#xff0c;用单端S参数来描述其传输特性&#xff0c;如常见的2端口网络&#xff0c;其S参数包括S11&#xff08;1端口回波损耗RL&#xff09;、S21&#xff08;插入损耗IL&#xff09;、S12&#xff08;插入损耗…

[JSON] JSON基础知识

JSON(JavaScript Object Notation&#xff0c;JavaScript对象表简谱)是一种轻量级的数据交换格式&#xff0c;采用完全独立于编程语言的文本格式来存储和表示数据 JSON文件的文件类型是.json JSON是纯文本&#xff0c;具有层级结构&#xff0c;易于阅读和编写&#xff0c;其本…

【愚公系列】2022年11月 微信小程序-优购电商项目-商品支付页面

文章目录前言1. 商品⽀付页面设计规范一、商品支付页面1.业务逻辑2.涉及的接口数据3. 关键技术二、商品购物车页面相关代码1.页面代码2.效果前言 1. 商品⽀付页面设计规范 第一、支付流程一定要简单。现代人的生活节奏是非常快速的&#xff0c;而且情绪比较浮躁。当用户在浏览…

深入理解Java内存区域(最新版面试题)

1、什么是JVM&#xff1f; JVM&#xff08;Java Virtual Machine&#xff09;是用于运行Java字节码的虚拟机&#xff0c;包括一套字节码指令集、一组程序寄存器、一个虚拟机栈、一个虚拟机堆、一个方法区和一个垃圾回收器。JVM运行在操作系统之上&#xff0c;不与硬件设备直接交…

微信小程序消息订阅Java

前言 编写日期 : 2022-11-04 写这篇文章原因 公司给政府做一个订餐系统&#xff0c;需要在员工在小程序上发起订餐后经过部门领导和书记的审批后&#xff0c;再由食堂确认订餐结果。在订餐审批单在各个节点流转的过程中&#xff0c;需要给每一个节点的审批人发送微信订阅消息…

Linux企业应用——Docker(三)之史上最简单,一篇学会Docker私有仓库Harbor的搭建

文章目录一、什么是Harbor二、搭建私有仓库1.安装docker-ce2.安装软件库包3.创建认证三、在另一台已安装docker的主机上四、搭建Harbor测试docker hub虽然方便&#xff0c;但是还是有限制&#xff1a;• 需要internet连接&#xff0c;速度慢• 所有人都可以访问• 由于安全原因…

SharpShooter Reports.Web 7.5 Crack

SharpShooter Reports.Web 是真正的跨平台报告查看器&#xff0c;因为它能够向 Windows、Linux、Mac OS 甚至 iOS 和 Android 平板电脑和手机提供报告。创建的报告可以轻松集成到任何网站和网页中&#xff0c;包括 MS MVC 和 ASP.NET 应用程序。by Ω578867473报告设计方便易用…

22级第三次比赛题解

文章目录A (1). Ashy与几何(贪心几何)B (2). One eye question of hengheng(前缀和)C Fox hate oranges(模拟)D KingZhangs Similar pair (思维)E (5). 38秒你敢交我A题&#xff1f;F (6). How many numbers are thereG (7). Jump lattice (思维)H (8). CCoolGuang Conjecture(…

五十万字总结,2022最新Java面试八股汇总(含答案,收藏版)

写在前面 今年的疫情&#xff0c;让招聘面试变得雪上加霜。已经有不少大厂&#xff0c;如腾讯、字节跳动的招聘名额明显减少&#xff0c;面试门槛却一再拔高&#xff0c;如果不用心准备&#xff0c;很可能就被面试官怼得哑口无言&#xff0c;甚至失去了难得的机会。 现如今&a…

【网安神器篇】——瑞士军刀Netcat

作者名&#xff1a;Demo不是emo 主页面链接&#xff1a;主页传送门创作初心&#xff1a;舞台再大&#xff0c;你不上台&#xff0c;永远是观众&#xff0c;没人会关心你努不努力&#xff0c;摔的痛不痛&#xff0c;他们只会看你最后站在什么位置&#xff0c;然后羡慕或鄙夷座右…

G1D5-Intriguing properties of neural networks

今天考完软考中项啦~~明天还有翻译&#xff0c;不过不想复习啦~ 读读论文啦~读网络安全文献课需要的叭 这篇2013年的intruging properties of neural networks的作者都好大佬&#xff01;&#xff01;&#xff01; 先来看看h指数是什么哈~ 一、h指数 一个人的所有论文中&…

C语言题解 | 去重数组合并数组

… &#x1f333;&#x1f332;&#x1f331;本文已收录至&#xff1a;C语言题解系列 更多知识尽在此专栏中&#xff01; 文章目录&#x1f349;前言&#x1f349;正文&#x1f34d;去重数组&#x1f34c;分析&#x1f34c;思路&#x1f34c;代码&#x1f34d;合并数组&#x1…