首页
关于
留言
归档
友人
壁纸
Search
1
windows10、win11组策略(gpedit.msc)打不开?
3,994 阅读
2
2021-11 UDP53 67 68 绕过校园网web认证
1,208 阅读
3
抖音圣诞树代码HTML
1,020 阅读
4
湖北联通光猫DT741-csf更改为桥接模式(G230U211R1.0.2)
890 阅读
5
Python+OpenCv的人脸口罩识别系统附模型训练
535 阅读
杂乱无章
心情随笔
主题插件
Typecho插件
Typecho主题
资源分享
Web源码
活动资源
源码分享
技术文档
Linux教程
Win11
AC无限控制器
DCN交换机
DCWS-6028
软件推荐
Windows
Android
专题
登录
Search
标签搜索
Linux
WEB
AC
DCWS-6028
AP
typecho
十五
累计撰写
35
篇文章
累计收到
88
条评论
首页
栏目
杂乱无章
心情随笔
主题插件
Typecho插件
Typecho主题
资源分享
Web源码
活动资源
源码分享
技术文档
Linux教程
Win11
AC无限控制器
DCN交换机
DCWS-6028
软件推荐
Windows
Android
专题
页面
关于
留言
归档
友人
壁纸
搜索到
18
篇与
的结果
2022-06-14
信息收集工具命令
批处理vbs批量输出当前目录下所有文件夹大小VBS脚本命名dim fso dim myFd dim path_fd dim myFdSize dim stm dim path_output Set fso = CreateObject("scripting.filesystemobject") path_fd=".\" path_output=".\文件大小.txt" Set stm = CreateObject("ADODB.Stream") stm.Type = 2 stm.Open stm.Charset = "UTF-8" stm.Position = stm.Size stm.WriteText "文件夹名称|文件夹大小" & chr(10) For Each myFd In Fso.getfolder(path_fd).SubFolders myFdSize=myFd.size stm.WriteText myFd.name & "|" & TSIZE(myFdSize) & chr(10) next stm.SaveToFile path_output, 2 stm.Close set stm = nothing msgbox "===输出已完成by十五===" msgbox "使用方法①将文件夹大小.txt内容复制到wps或者word表格中②数据工具栏选择分列功能选项③选择分隔符号④选择其他 输入“|”⑤下一步完成完成" function TSIZE(myFdSize) If myFdSize>=1024 And myFdSize<1024*1024 Then TSIZE = Round( myFdSize/1024, 3 ) & " K" ElseIf myFdSize>=1024*1024 And myFdSize<1024*1024*1024 Then TSIZE = Round( myFdSize/1024/1024, 3 ) & " M" ElseIf myFdSize>=1024*1024*1024 And myFdSize<1024*1024*1024*1024 Then TSIZE = Round( myFdSize/1024/1024/1024, 3 ) & " G" ElseIf myFdSize>=1024*1024*1024*1024 Then TSIZE = Round( myFdSize/1024/1024/1024/1024, 3 ) & " T" Else TSIZE = myFdSize & " B" End If end function说明TSIZE = Round( myFdSize/1024, 3 ) & " K" #为输出单位大小K;例当前输出为328K,更改myFdSize/1024/1024时为0.32M(K改为M)数据分列:①将文件夹大小.txt内容复制到wps或者word表格中②数据工具栏选择分列功能选项③选择分隔符号④选择其他 输入“|”⑤下一步完成完成
2022年06月14日
52 阅读
1 评论
1 点赞
2022-03-26
Python+OpenCv的人脸口罩识别系统附模型训练
基于Python+OpenCv的人脸口罩识别系统附模型训练以下编程在PyCharm平台上进行面对突如其来的新冠肺炎疫情,疫情防控事关每一个人,检查人员是否佩戴口罩一直是防控的重点,通常情况下,在商场等公共场所有自动测温装置,但是对是否佩戴口罩的检测还是依靠人力来实现,存在疏忽的漏洞,因此开发一款能自动识别人脸口罩佩戴的系统势在必行;目录[一、OpenCV下载安装][二、人脸口罩数据集下载处理][(一)人脸口罩数据集下载][(二)人脸口罩数据集的处理][三、训练人脸口罩数据集模型][四、进行人脸口罩检测]一、OPENCV下载安装参考网址:https://blog.csdn.net/cungudafa/article/details/84451066我们这里直接官网下载(opencv-3.4.16-vc14_vc15):https://opencv.org/releases/下载好之后直接安装即可(Windows)二、人脸口罩数据集下载处理(一)人脸口罩数据集下载下载人脸口罩数据集的目的是利用OpenCV进行模型训练,这里采用口罩数据集的正负比列为1:3,即500张戴口罩的人脸图片和1500张不戴口罩的人脸图片。链接:{cloud title="人脸识别口罩数据集" type="default" url="https://cloud.dushiwu.cn/other/Face_Mask_Dataset.zip" password=""/}解压之后,将压缩包中的mask文件自行选择文件夹放置,以便之后的操作。(二)人脸口罩数据集的处理1、将数据集重命名为连续序列因为数据集中的图片序列是不连续的,因此这里需要编程将数据集的正负样本重命名为连续序列,以便像素调整。重命名正样本序列Python代码:#对数据集重命名 #coding:utf-8 import os path = r"C:\Users\14033\Desktop\mask\have_mask" # 人脸口罩数据集正样本的路径 filelist = os.listdir(path) count = 1000 # 开始文件名1000.jpg for file in filelist: Olddir = os.path.join(path, file) if os.path.isdir(Olddir): continue filename = os.path.splitext(file)[0] filetype = os.path.splitext(file)[1] Newdir = os.path.join(path, str(count) + filetype) os.rename(Olddir, Newdir) count += 1 命名之后,正样本序列如下:重命名负样本序列Python代码:#对数据集重命名 #coding:utf-8 import os path = r"C:\Users\14033\Desktop\mask\no_mask" # 人脸口罩数据集的路径 filelist = os.listdir(path) count = 10000 # 开始文件名1000.jpg for file in filelist: Olddir = os.path.join(path, file) if os.path.isdir(Olddir): continue filename = os.path.splitext(file)[0] filetype = os.path.splitext(file)[1] Newdir = os.path.join(path, str(count) + filetype) os.rename(Olddir, Newdir) count += 1重命名之后,负样本序列如下:2、正负样本数据集像素处理正样本数据集的像素最佳设为20x20,这样的模型训练精度更高;负样本数据集像素不低于50x50,这样处理可以加快模型训练的速度。修改正样本数据集像素为20x20Python代码:# 修改正样本像素 import pandas as pd import cv2 for n in range(1000, 1606): # 代表正数据集中开始和结束照片的数字 path = 'C:\\Users\\14033\\Desktop\\mask\\have_mask\\' + str(n) + '.jpg' # 读取图片 img = cv2.imread(path) img = cv2.resize(img, (20, 20)) # 修改样本像素为20x20 cv2.imwrite('C:\\Users\\14033\\Desktop\\mask\\have_mask20\\' + str(n) + '.jpg', img) n += 1 修改像素之后,序列如下:修改负样本数据集像素为80x80Python代码:#修改负样本像素 import pandas as pd import cv2 for n in range(10000,11790):#代表负样本数据集中开始和结束照片的数字 path='C:\\Users\\14033\\Desktop\\mask\\no_mask\\'+str(n)+'.jpg' # 读取图片 img = cv2.imread(path) img=cv2.resize(img,(80,80)) #修改样本像素为60x60 cv2.imwrite('C:\\Users\\14033\\Desktop\\mask\\no_mask20\\' + str(n) + '.jpg', img) n += 1修改像素之后,序列如下:3、创建正负样本数据集路径的txt文件(1)创建正样本数据集txt文件win+R打开窗口输入cmd,进入命令提示符界面,进入have_mask文件夹输入命令创建路径文件dir /b/s/p/w *.jpg > have_mask.txthave_mask.txt文件位置在正样本数据集文件夹中(2)创建负样本数据集txt文件(方法同正样本数据集一样)然后将have_mask.txt和no_mask.txt文件放到mask目录下三、训练人脸口罩数据集模型1、创建xml文件夹存放训练好的模型2、将OpenCV安装路径 \opencv\build\x64\vc14\bin下的opencv_createsamples.exe可执行文件和opencv_traincascade.exe可执行文件及另外两个下图文件复制到数据集同级目录,如下所示:3、对正负样本txt文档进行预处理正负样本需要生成 .vec格式的文档进行模型训练,因此需要通过对txt文档进行预处理,向have_mask.txt文件中末尾加入 1 0 0 20 20。正样本处理Python代码:#正样本文件预处理 没行目录结尾加入 1 0 0 20 20 #coding:utf-8 import os #Houzui="_Apple" Houzui=r" 1 0 0 20 20" #后缀 filelist = open('C:\\Users\\14033\\Desktop\\mask\\have_mask.txt','r+',encoding = 'utf-8') line = filelist.readlines() for file in line: file=file.strip('\n')+Houzui+'\n' print(file) filelist.write(file)负样本处理Python代码:#正样本文件预处理 没行目录结尾加入 1 0 0 80 80 Houzui=r" 1 0 0 80 80" #后缀 filelist = open('C:\\Users\\14033\\Desktop\\mask\\no_mask.txt','r+',encoding = 'utf-8') line = filelist.readlines() for file in line: file=file.strip('\n')+Houzui+'\n' print(file) filelist.write(file)这个处理不会自动覆盖之前的文件内容,所以需要手动将之前的内容剪切出来 ,保存为have_mask1.txt文件,have_mask.txt文件中只保留末尾为1 0 0 20 20的内容,如下:同理,对no_mask.txt文件执行同样的操作手动将之前的内容剪切出来 ,保存为no_mask1.txt文件,no_mask.txt文件中只保留末尾为1 0 0 80 80的内容,如下:4、生成正样本havemask.vec文件和nomask.vec文件这里操作在cmd终端中进行,进入mask文件夹下,输入以下内容:生成正样本havemask.vec文件:opencv_createsamples.exe -vec havemask.vec -info have_mask.txt -num 606 -w 20 -h 20生成负样本nomask.vec文件:opencv_createsamples.exe -vec nomask.vec -info no_mask.txt -num 1790 -w 80 -h 80上述命令内容阐述:info:样本说明文件vec:样本描述文件名和路径num:样本个数,这里为606个样本w h:样本尺寸,这里为20x20生成文件如下:5、训练模型(1)在mask目录下创建txt文件,写入以下内容:opencv_traincascade.exe -data xml -vec havemask.vec -bg no_mask.txt -numPos 350 -numNeg 400 -numStages 20 -w 20 -h 20 -mode ALL pause(2)将创建的txt文件命名为traincascade.bat(3)删掉have_mask.txt和no_mask,txt,然后将have_mask1.txt和no_mask1.txt改为have_mask.txt和no_mask.txt(4)打开traincascade.bat,开始训练人脸口罩数据集模型在这里训练模型的时间会很长,耐心等待…训练结束:四、进行人脸口罩检测Python代码:import time import cv2 import cv2 as cv n = 0 have_mask = 0 no_mask = 0 # haarcascade_frontalface_alt2.xml 人脸识别文件在opencv库中 pyth37\Lib\site-packages\cv2\data\ # PyCharm 则在对于的虚拟环境中 如虚拟机环境目录\venv\Lib\site-packages\cv2\data\ face_cascade = cv.CascadeClassifier('C:/Users/14033/Desktop/mask/haarcascade/haarcascade_frontalface_alt2.xml') # 训练出来的口罩识别cascade.xml mask_detector = cv.CascadeClassifier("C:/Users/14033/Desktop/Face-Mask-Detection/haarcascades/cascade.xml") cameraCapture = cv2.VideoCapture(0, cv2.CAP_DSHOW) # cv.CAP_DSHOW while True: start = time.time() ret, frame = cameraCapture.read() gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY) faces = face_cascade.detectMultiScale(gray, 1.3, 10) # 1.02 masks = mask_detector.detectMultiScale(gray, 1.2, 5) # 1.01 for (x, y, w, h) in faces: cv.rectangle(frame, (x, y), (x + w, y + h), (0, 0, 255), 2) cv.putText(frame, "no_mask", (x, y - 10), cv.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255), 2) n = 1 have_mask = 1 print("无口罩") for (mx, my, mw, mh) in masks: cv.rectangle(frame, (mx, my), (mx + mw, my + mh), (0, 255, 0), 2) cv.putText(frame, "have_mask", (mx, my - 10), cv.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 1) n = 1 no_mask = 1 print("有口罩") c = cv.waitKey(10) if c == 27: cameraCapture.release() break # 计算帧率 end = time.time() # 结束时间 fps = 1 / (end - start) # 帧率 image = cv.putText(frame, "FPS:{:.1f}".format(fps), (10, 30), cv.FONT_HERSHEY_SIMPLEX, 0.8, (0, 255, 0), 2) # 绘制 cv.imshow('camera', frame) haarcascade_frontalface_default.xml是Python安装目录下的模型,自带人脸识别模型文件,在此之前需要安装opencv-python库。运行结果:
2022年03月26日
535 阅读
1 评论
2 点赞
2021-11-20
2021-11 UDP53 67 68 绕过校园网web认证
2021-11 在连接到某个需要 Web 认证的热点之前,我们已经获得了一个内网 IP,访问网站时网关会对这个 HTTP 响应报文劫持并篡改,302 重定向给我们一个 web 认证界面,所以网关都默认放行 DHCP 和 DNS 报文,也就是 UDP53 与 UDP 67。有些网关甚至不会报文进行检查,这也就意味着任何形式的数据包都可以顺畅通过。然后呗,在公网搞一台服务器,然后借此来“免费”..,为什么免费打引号大家应该都知道...。
2021年11月20日
1,208 阅读
25 评论
15 点赞
2021-11-13
DCN(DCRS6200)VRRP概念及基础配置
DCN(DCRS6200)VRRP基础概念及基础配置一、场景DCRS6200-A, DCRS6200-B 分别采用 VRRP 技术实现虚拟网关技术,其 中 VLAN10,30 的 Master 位于 DCRS6200-A,VLAN20,40 的 Master 位于 DCRS6200-B二、vrrp应用环境VRRP能够在不改变组网的情况下,将多台路由器或三层交换机虚拟成一个虚拟路由器或三层交换机,通过配置虚拟路由器交换机的IP地址为默认网关,实现网关的备份三、vrrp基本概念VRRP (Virtual Router Redundancy Protocol-虚拟路由冗余协议)是一种容错协议,运行于局域网的多台路由器上,它将这几台路由器组织成一台“虚拟”路由器,或称为一个备份组( Standby Group)。在VRRP备份组内,总有一台路由器或以太网交换机是活动路由器Master完成“虚拟”路由器的工作;该备份组中其它的路由器或以太网交换机作为备份路由器( Backup,可以不只一台),随时监控 Master的活动。当原有的 Master出现故障时,各 Backup将自动选举出一个新的 Master来接替其工作,继续为网段内各主机提供路由服务。VRRP术语:1、Virtual Router(虚拟路由器)一个抽象对象,基于子网接口,包括一个虚拟路由器标识符(VRID)和一个或多个IP地址,这个(些)IP地址又称为虚拟IP地址,虚拟IP地址作为主机的默认网关。2、VRRP Router(VRRP路由器)即运行VRRP协议的路由器,一个VRRP路由器可以加入到一个或多个虚拟路由器中。3、IP Address Owner(IP地址拥有者)虚拟路由器的虚拟IP地址与接口的真实IP地址相同的VRRP路由器。4、Virtual Router Master(虚拟主路由器)负责转发通过虚拟路由器的三层数据包,对虚拟路由器的IP地址的ARP请求进行回应。如果某个VRRP路由器是IP地址拥有者,则它总是虚拟主路由器。5、Virtual Router Backup(虚拟备份路由器)6、虚拟MAC地址:由虚拟设备生成的虚拟MAC地址,每一个虚拟设备都会自动生成一个虚拟MAC地址,这个MAC地址是用于虚拟设备处理ARP报文的。不转发三层数据包,不应答虚拟IP地址的ARP请求,当虚拟主路由器出现故障时接替虚拟主路由器的工作。7、Priority(VRRP优先级)缺省情况: backup路由器(或三层以太网交换机)在所有备份组内的优先级均为100;master路由器(或三层以太网交换机)在所有备份组内的优先级均为255(优先级越高就越有可能成为 Master)8、preempt(抢占模式)如果需要高优先级的路由器(或三层以太网交换机)能主动抢占成为活动路由器(或三层以太网交换机),则要设置抢占模式。VRRP三种状态:(1)INITIALIZE:初始状态(2)MASTER:活动状态,路由器会发送VRRP通告,发送免费ARP报文(3)BACKUP:备份状态,接受VRRP通告VRRP选举机制:1.IP地址拥有者:虚拟路由器(或三层交换机)和VRRP路由器(或三层交换机)虚拟路由器的lP地址可以和VRRP备份组内的某个路由器的接口地址相同;IP地址拥有者将成为主路由器,并且拥有最高优先级255。2.比较优先级:如果没有IP地址拥有者,则比较路由器的优先级,可配置优先级的范围是1~254,大的作为主路由器;优先级0为系统保留给路由器主动放弃Master3.比较IP地址:在没有Ip地址拥有者和优先级相同的情况下,IP地址大的作为主路由器。四、配置过程配置DCRS6200-A, DCRS6200-B 的vlan及虚接口IP(省略)DCRS6200-A:配置VRRP备份组vrrp1: SW3-1(config)#router vrrp 1 SW3-1(config-router)#virtual-ip 10.1.10.254 SW3-1(config-router)#interface vlan 100 SW3-1(config-router)#priority 254 SW3-1(config-router)#enable SW3-1(config-router)# vrrp2: SW3-1(config)#router vrrp 2 SW3-1(config-router)#virtual-ip 10.1.20.254 SW3-1(config-router)#interface vlan 200 SW3-1(config-router)#enable SW3-1(config-router)#exit vrrp3: SW3-1(config)#router vrrp 3 SW3-1(config-router)#virtual-ip 10.1.30.254 SW3-1(config-router)#interface vlan 300 SW3-1(config-router)#priority 254 SW3-1(config-router)#enable SW3-1(config-router)#exit SW3-1(config)# vrrp4: SW3-1(config)#router vrrp 4 SW3-1(config-router)#virtual-ip 10.1.40.254 SW3-1(config-router)#interface vlan 400 SW3-1(config-router)#enable SW3-1(config-router)# show vrrp: SW3-1(config)#sh vrrp VrId 1 State is Master Virtual IP is 10.1.10.254 (Not IP owner) Interface is Vlan100 Priority is 254(config priority is 254) Advertisement interval is 1 sec Preempt mode is TRUE VrId 2 State is Backup Virtual IP is 10.1.20.254 (Not IP owner) Interface is Vlan200 Priority is 100(config priority is 100) Advertisement interval is 1 sec Preempt mode is TRUE VrId 3 State is Master Virtual IP is 10.1.30.254 (Not IP owner) Interface is Vlan300 Priority is 254(config priority is 254) Advertisement interval is 1 sec Preempt mode is TRUE VrId 4 State is Backup Virtual IP is 10.1.40.254 (Not IP owner) Interface is Vlan400 Priority is 100(config priority is 100) Advertisement interval is 1 sec Preempt mode is TRUE {dotted startColor="#ff6c6c" endColor="#1989fa"/}DCRS6200-B:配置VRRP备份组vrrp1: SW3-2(config)#router vrrp 1 SW3-2(config-router)#virtual-ip 10.1.10.254 SW3-2(config-router)#interface vlan 100 SW3-2(config-router)#enable SW3-2(config-router)#exit vrrp2: SW3-2(config)#router vrrp 2 SW3-2(config-router)#virtual-ip 10.1.20.254 SW3-2(config-router)#interface vlan 200 SW3-2(config-router)#priority 254 SW3-2(config-router)#enable SW3-2(config-router)#exit vrrp3: SW3-2(config)#router vrrp 3 SW3-2(config-router)#virtual-ip 10.1.30.254 SW3-2(config-router)#interface vlan 300 SW3-2(config-router)#enable SW3-2(config-router)#exit vrrp4: SW3-2(config)#router vrrp 4 SW3-2(config-router)#virtual-ip 10.1.40.254 SW3-2(config-router)#interface vlan 400 SW3-2(config-router)#priority 254 SW3-2(config-router)#enable SW3-2(config-router)#exit SW3-2(config)# show vrrp: SW3-2(config)#sh vrrp VrId 1 State is Backup Virtual IP is 10.1.10.254 (Not IP owner) Interface is Vlan100 Priority is 100(config priority is 100) Advertisement interval is 1 sec Preempt mode is TRUE VrId 2 State is Master Virtual IP is 10.1.20.254 (Not IP owner) Interface is Vlan200 Priority is 254(config priority is 254) Advertisement interval is 1 sec Preempt mode is TRUE VrId 3 State is Backup Virtual IP is 10.1.30.254 (Not IP owner) Interface is Vlan300 Priority is 100(config priority is 100) Advertisement interval is 1 sec Preempt mode is TRUE VrId 4 State is Master Virtual IP is 10.1.40.254 (Not IP owner) Interface is Vlan400 Priority is 254(config priority is 254) Advertisement interval is 1 sec Preempt mode is TRUE 从show vrrp 中我们可以看到DCRS6200-A:VLAN 100 VLAN 300 为Master;VLAN 200 VLAN 400 为Backup;DCRS6200-B:VLAN 200 VLAN 400 为Master;VLAN 100 VLAN 300 为Backup五、排错帮助在配置、使用VRRP协议时,可能会由于物理连接、配置错误等原因导致VRRP协议未能正常运行。因此,应注意以下要点:首先应该保证物理连接的正确无误;其次,保证接口和链路协议是UP(使用show interface命令);然后,确保在接口上已启动了VRRP协议;检查同一备份组内的不同路由器(或三层以太网交换机)认证是否相同;检查同一备份组内的不同路由器(或三层以太网交换机)配置的timer时间是否相同;检查虚拟IP地址是否和接口真实IP地址在同一网段内;
2021年11月13日
105 阅读
0 评论
0 点赞
2021-10-18
FRP搭建内网穿透实现远程桌面等功能
FRP搭建内网穿透实现远程桌面等功能简介FRP 采用 C/S 模式,将服务端部署在具有公网 IP 的机器上,客户端部署在内网或防火墙内的机器上,通过访问暴露在服务器上的端口,反向代理到处于内网的服务。 在此基础上,FRP支持 TCP, UDP, HTTP, HTTPS 等多种协议,提供了加密、压缩,身份认证,代理限速,负载均衡等众多能力。官网https://gofrp.org/官方文档https://gofrp.org/docs/开源https://github.com/fatedier/frp安装包下载https://github.com/fatedier/frp/releases这里根据自己的环境选择相应的安装包开始安装公网服务端安装:下载解压frp:[root@VM-4-3-centos ~]# cd /home/FRP [root@VM-4-3-centos FRP]# wget https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_linux_amd64.tar.gz [root@VM-4-3-centos FRP]# ls frp_0.37.1_linux_amd64.tar.gz [root@VM-4-3-centos FRP]# tar -zxvf frp_0.37.1_linux_amd64.tar.gz [root@VM-4-3-centos FRP]# cd frp_0.37.1_linux_amd64/ [root@VM-4-3-centos frp_0.37.1_linux_amd64]# ls frpc frpc_full.ini frpc.ini frps frps_full.ini frps.ini LICENSE systemd [root@VM-4-3-centos frp_0.37.1_linux_amd64]# 修改服务端配置:详细服务端参数配置文档:https://gofrp.org/docs/reference/server-configures/[root@VM-4-3-centos frp_0.37.1_linux_amd64]# vim frps.ini #配置端口即认证 [common] bind_addr = 0.0.0.0 bind_port =7000 //frp服务本地端口,可自行更改 authentication_method = token //开启token认证 token = admin //token认证值 # 配置frp后台管理账号 dashboard_user = admin dashboard_pwd = admin dashboard_port = 7001 //web监控端口,可自行更改 enable_prometheus = true //开启监控 # 配置日志配置文件夹 log_file = /home/frp/frps.log log_level = info log_max_days = 3安装screen启动会话开启frp服务[root@VM-4-3-centos frp_0.37.1_linux_amd64]# yum install screen [root@VM-4-3-centos frp_0.37.1_linux_amd64]# screen -R frp //创建会话 [root@VM-4-3-centos frp_0.37.1_linux_amd64]# cd /home/FRP/frp_0.37.1_linux_amd64/ //进入frp根目录 [root@VM-4-3-centos frp_0.37.1_linux_amd64]# ./frps -c frps.ini //启动frp 2021/10/18 10:57:57 [I] [root.go:200] frps uses config file: frps.ini 2021/10/18 10:57:57 [I] [service.go:192] frps tcp listen on 0.0.0.0:7000 2021/10/18 10:57:57 [I] [root.go:209] frps started successfullyCTRL + a + d 退出当前screen会话 至此服务端配置完成screen语法 screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s <shell>][-S <作业名称>] 参数说明: -A 将所有的视窗都调整为目前终端机的大小。 -d<作业名称> 将指定的screen作业离线。 -h<行数> 指定视窗的缓冲区行数。 -m 即使目前已在作业中的screen作业,仍强制建立新的screen作业。 -r<作业名称> 恢复离线的screen作业。 -R 先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。 -s<shell> 指定建立新视窗时,所要执行的shell。 -S<作业名称> 指定screen作业的名称。 -v 显示版本信息。 -x 恢复之前离线的screen作业。 -ls或--list 显示目前所有的screen作业。 -wipe 检查目前所有的screen作业,并删除已经无法使用的screen作业。服务器开启相应的端口:7000,7001,及客户端配置的remote_port端口客户端安装:解压frp_0.37.1_windows_amd64.zip修改frpc.ini[common] server_addr = 123.13.123.123 //服务器IP server_port = 7000 //服务器frp端口 token = admin //服务器frp端 认证值 [mstsc] //这里可自行修改相应的介绍,必须为英文 type = tcp local_ip = 127.0.0.1 local_port = 3389 //本地服务端口 remote_port = 3399 //frp服务端监听的端口,访问此端口的流量将会被转发到本地服务对应的端口。 //例如123.13.123.123:3399 就能访问客户端的3389远程桌面服务 启动客户端:打开cmd或者新建一个.bat批处理脚本frpc.exe -c frpc.ini 验证配置:在虚拟机上开启客户端,并开启远程登陆功能,在另一台电脑上win+r运行mstsc结束可配置多个客户端,组名和端口不一致就行。被控端的cmd命令行窗口在使用过程中不可关闭。这次只是使用了3389端口做了远程桌面,FRP其它使用方式大家可以去探索和研究。
2021年10月18日
103 阅读
0 评论
2 点赞
1
2
...
4