博客启用新域名

一晃自己工作八年了,这个博客也长了很久的草。近两年每年只写了一篇文章,其实东西没少折腾,但就是不愿意花时间写技术文章,在更新博客上懒了很多。这几年工作和生活都发生了很多事,杂事很多,劳心伤神,记忆力也下降的厉害。很多时候下班回家后只想放空自己,什么都不想干,这个博客可能后续更新也会十分缓慢,看情况吧。最近疫情在家刚好事情不多,收拾一下长草的博客。上次买了五年的https证书过期后一直没有处理,导致博客很久不能正常打开。这次索性买了一个新的域名,证书换成了免费的Let's Encrypt,写了个脚本设置自动更新,以后也不操心了。新域名是nixops.me,有两层寓意:*nix + ops,*nix是类unix系统,ops是运维的意思,和自己的职业相关Nix 作为名词是无、没有的意思,小米公司运维博客说:Ops的目标是没有Ops,我深以为然美中不足,nix...

- 阅读剩余部分 -

linux限制rm命令

网上铺天盖地的说rm命令危险,但是真正想限制rm命令时,发现一个能用的解决方案都没有。常规做法是新建一个trash目录,把删除的内容mv到这个目录,在定期清理这个目录。思路是一样的,我自己动基于alias写了个脚本来限制rm命令,有以下好处:只有一个脚本批量部署非常方便,不需求安装第三方软件每次删除时会提示删除的内容,删除是将要移除的文件mv到/tmp/.trash/当天日期下,同时会提示是否清理目录,相当于做了double check限制删除内容:只允许删除文件和目录,对于特殊的软链接、设备等文件默认不允许删除其它功能懒得写了,使用方法将脚本丢到/etc/profile.d/即可。#!/bin/bash#author: will#website: https://www.52os.netrm_cmd(){arg_array=()f...

- 阅读剩余部分 -

使用dnspod api更改域名解析

有一堆在dnspod的域名要批量修改解析,虽然dnspod网页上可以批量修改,但是这些域名在不同的dnspod账户中,后续还会频繁修改解析,考虑到后续的工作量,还是写个脚本省事一点。dnspod的api还是比较简单的,api文档地址: http://www.dnspod.cn/docs/index.htmlpython 脚本:#!/usr/bin/env python# -*- coding: utf-8 -*-__author__ = 'will'import sys,requests,jsonclass Dnspod: def __init__(self,token): self.token = token def getDomainList(self): postdata = {'log...

- 阅读剩余部分 -

再见2017!

上完了今年所有的班,又加完最后一个班,2017要结束了。这一年雨季很长,天气总是灰蒙蒙的,时不时还来几次地震。这一年我过的很颓废,又是一眨眼一年就过去了,没留下什么值得回忆的事。回想起来又觉得很漫长,不开心的事真多,终于都到头了。年末了,发发牢骚,看着即将翻新的日历,心里还是有些期待的,新的一年里自私的希望自己开心点,至于其他的,佛性生活,一切随缘吧

基本ab命令的cc攻击shell脚本

最近有需求要做个简单的压力测试,写了个简单的shell cc攻击脚本,功能都是基本ab命令的,ab支持的参数,脚本就可以都可以实现,但是我比较懒,没写那么多功能,主要有以下几个特点:指定user-agent指定攻击的IP和host头可以伪造X-Forwarded-For,服务器配置错误时可以伪造访问IP指定每个伪造IP的攻击并发和每个IP攻击次数限制总伪造IP个数,实际攻击次数为total_count*ip_count指定攻击的URIab功能比较多,有需求可以自己改造,此脚本比较耗cpu和网络,建议使用timeout命令限制下执行时间,以防服务器死机,脚本很简单不多说了#!/bin/bash#author : 52os.netuseragent='Mozilla/5.0 (Linux;u;Android 4.2.2;zh-cn;) Appl...

- 阅读剩余部分 -

使用PROXY protocol获取客户IP

获取客户IP是常见的需求,对于大流量的项目都会使用反向代理、负载均衡等,甚至多重代理,导致架构和网络都比较复杂,在这种情况下获取IP就不那么容易了。七层代理可以通过添加头信息来实现,如http协议的X-Forword-For,还比较方便;四层代理基本无法简单的获取到客户端IP地址,像LVS的FULLNAT模式,前端LVS把真实IP写在TCP option里面,后端服务器用内核toa模块获取客户IP;haproxy配合TPROXY也是类似的方式实现,两者都需编译内核非常麻烦,这种情况下就可以考虑使用代理协议一、代理协议简介代理协议即 PROXY protocol,是haproxy的作者Willy Tarreau于2010年开发和设计的一个Internet协议,通过为tcp添加一个很小的头信息,来方便的传递客户端信息(协议栈、源...

- 阅读剩余部分 -

linux下手动产生kernel panic

Kernel panic是内核错误,是系统内核遇到无法处理的致命错误时才会产生的异常,一般长这样:Kernel panic - not syncing: Fatal exception........其它错误日志........除此之外,还有以下几种常见的:Kernel Panic - not syncing:Attempted to kill init !Kernel panic - not syncing: Out of memory and no killable processesKernal Panic - Not syncing : VFS: unable to mount root fs on unknown-block (0,0)kernel panic - not syncing: Attempted to ki...

- 阅读剩余部分 -

用shell脚本反查搜索引擎蜘蛛IP

网上能搜到很多引擎蜘蛛的地址,这些地址不全而且好多已经过期了。如果想自己搜集蜘蛛的IP,最好的方法是分析网站的日志,即快又准确,但是不够全。如果有时间和资源,可以用本文的笨方法来抓取所有蜘蛛IP。原理是大多数的搜索引擎蜘蛛的ip都做了IP反解析,可以在linux下用host或者nslookup命令反查,先看几个例子谷歌蜘蛛[[email protected] ~]# host 66.249.79.161 161.79.249.66.in-addr.arpa domain name pointer crawl-66-249-79-161.googlebot.com.百度蜘蛛[[email protected] ~]# host 220.181.108.170170.108.181.220.in-addr.arpa domain n...

- 阅读剩余部分 -