在Python中实现守护进程

发布在 Python

守护(Daemon)进程是linux中的一种重要的系统管理手段,一般名称都以d结尾,运行在系统的后台,完成一些监控或者服务的工作。在Python中也是可以实现这样的功能,不过现在好像也有外部库支持了,其实也不难。

阅读全文

signal是进程间通信与异步处理的一种手段,当遇到并发性编程或者系统级的控制时,就需要我们能够控制程序的信号处理进程,完成一些额外的工作。

稍微看了一下signal模块的官方文档,从使用上来说还是相当简单的。

阅读全文

SOCAT 简介

发布在 Linux

概述

socat,是linux下的一个工具,其功能与有“瑞士军刀”之称的netcat类似,不过据说可以看做netcat的加强版。的确如此,它有一些netcat所不具备却又很有需求的功能,例如ssl连接这种。nc可能是因为比较久没有维护,确实显得有些陈旧了。

安装

Ubuntu上可以直接sudo apt-get install socat,其他发行版没试过。

也可以去官网下载源码包socat

阅读全文

Python的数据持久化方式有很多种,比较好用又相对轻量级的就属JSON与Pickle这2种了。其实两者的使用方式非常相近,这里记录下来备忘。

JSON

python中处理JSON的库就是json模块,需要用到的方法大致就是以下4个,其实它们的参数有很多这里暂且省略。

1
2
3
4
5
6
7
8
import json
obj = {'a' : 'b', 'c' : 'd'}
fp = open('obj.json', 'w')
json.dump(obj, fp)
fp.close()
s = json.dumps(obj)
x = json.load(open('obj.json', 'r'))
y = json.loads(s)
阅读全文

最近装了个open suse各种折腾,果然不管是在使用人数还是支持上都不如ubuntu或者fedora这些火热的发行版啊,有点坑,自带的libreoffice有个非常蛋疼的问题,之前我用它改了一个pptx文件,保存,然后再打开发现啥都没了,醉了……

于是就打算装WPS Office,据说兼容ms office兼容得不错。

阅读全文

上一篇文章介绍了线程内的并发——协程,但有的时候协程也不能解决所有的问题,因为Python自己启用了GIL(全局解释锁,具体是什么还没研究),所以不能发挥多核处理器的优势。所以我想到在进程级别再并发一次好了。

multiprocessing这个库提供了对于多进程的支持,主要就是使用其中的Pool进程池技术。

阅读全文

Python协程库——gevent

发布在 Python

之前一直没有仔细研究过python的并发方案,实习的时候终于有了这样的需求。

Gevent是Python中coroutine协程的一种实现,基于Greenlet。之前我只是听说过其在性能优化上简单而有效,正好最近有并发需要,所以就稍微用了一下。

确实是非常简单,其中的monkey库可以直接patch系统的多进程、多线程还有socket的实现,具体的调用方法就是monkey.patch_xxx(),xxx可以是socket,ssl,os,subprocess,thread等。还可以直接调用monkey.patch_all()执行所有的patch。

gevent的好处在于可以自动切换协程,一般来说I/O操作比较耗时,那么当一个协程在等待I/O时,它会自动切换到其他协程工作,这样就能够充分利用CPU了。

阅读全文

Level 5

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <string.h>

int main(int argc, char **argv) {

char buf[128];

if(argc < 2) return 1;

strcpy(buf, argv[1]);

printf("%s\n", buf);

return 0;
}

典型的buffer overflow,而且没有任何的保护措施,直接在栈上执行shellcode就可以了。

在拿到shell之前需要先进行setreuid提权,写出shellcode。

阅读全文
  • 第 1 页 共 1 页

BrieflyX

Previous chief leader of 9# Studio


Infomation Security Engineer


Beijing, China