DuckSoft's Miscellanies Ex nihilo ad astra.

Linux 服务器上一次 DDoS 病毒的杀毒纪实

文/DuckSoft @ Wed, 12 Dec 2018 21:24:45 +0800 起因 前段时间用户反映称 90 服务器上的网页访问响应速度出现明显异常,远程调试时未发现 90 服务器有任何异常。后在一次无关的远程调试中发现 90 服务器的 SSH 链接出现了异常中断,多次重试连接无果,试图从 80 服务器走内网跳板无果,因此决定进行实地调试。 在实地调试的过程中,发现 80 服务器与 90 服务器之间的互 ping 操作出现非常高的丢包率,机房同时有一队运维人员想向机架上安装新的服务器,却发现新服务器虽然启用了透明 IP,但外网环境下仍然无法访问。 使用排错法将网线逐根拔除,发现将 80 服务器的网线移除后,网络立即恢复正常;重新连接 80 服务器后,网络环境... Read more

记 gevent 的文件描述符泄漏问题

开端 最近用 Docker 向服务器上部署了一批使用 Flask + gevent 的 Web 应用程序,经过不同的时间、不同的访问量后,这些应用程序总会变得对网络请求无应答,显然这些程序因为某种原因已经 down 掉了。 使用 docker logs 命令查看容器日志,一排排的正常请求记录映入眼帘,不断滚动;随后则是满屏幕滚动的 Traceback。没有动态视力技能,加之日志实在太长,懒癌发作的笔者直接敲了 Ctrl+C 停掉了日志回显,改用 docker logs --tail=50 命令查看最后 50 行日志,自然是看到了之前滚动的 Traceback。这些 Traceback 的最后一行都是相同的内容: OSError: [Errno 24] Too many open ... Read more

Back to Blogging

之前的博客系统使用的是 Hexo,由于各种各样的原因,自从 2018 年 3 月份起就再也没更新过。 此外由于用于 Hexo 构建的源代码文件所在的存储受损(并且也未做备份),原有的博客系统已经不打算再继续使用下去。 由于 GitHub Pages 本身支持上传 Jekyll 源码仓库后自动构建博客,所以这次打算把博客从 Hexo 迁移到 Jekyll。 原有的博文将会陆续(可能会摸鱼)迁移过来,不过目前还是先建设好这个博客吧! Read more

Windows 下 GoLand 中运行 Golang 程序出现 runnerw.exe 问题的解决

刚刚接触Golang的时候对Golang的各种强制性措施非常不爽,同时那个时候Golang除了我不熟悉的多线程、并发之外也没有多少亮点,所以学了一段时间之后就把它冷落了。 近期在朋友的启发下准备重拾Golang语言,于是在JetBrains Toolbox里下载了Golang的IDE——GoLand。 还记得很久之前这个IDE叫Gogland,被 @LionNatsu(狮子)笑称为“苟腺”(其实也是狮子带我入的Golang坑)。 轻车熟路建立了Golang的工程,写了一个Hello World程序: package helloworld import "fmt" func main() { fmt.Println("Hello golang!") } 写好之后在IDE... Read more

巧利用GitHub Issues当作免费无限流量图床

很久以前在 GitHub Issues 上传图片的时候就注意到了一个现象:上传图片完成的时候,GitHub 会随机无条件地给你上传的图片分配一个到 githubusercontent 的地址。今天写一篇带图的博文的时候突然想到了可以利用这个方法为自己博文插图,试后成功,特来分享: 操作方法 随便找个 GitHub Repo 的 Issue 创建个新 Issue,把图片插进去,网址复制一下就行。(Issue 不必发出) (搬运自旧 Hexo 博客) Read more