用GDB排查Python程序故障

标题: MISC系列(43)–用GDB排查Python程序故障

创建: 2015-09-21 16:40

更新:

某Team在用Python开发一些代码,涉及子进程以及设法消除僵尸进程的需求。实践中他们碰上Python程序非预期退出的现象。最初他们决定用GDB调试Python解释器,查看exit()的源头。我听了之后,觉得这个问题应该用别的调试思路。帮他们排查这次程序故障时,除去原始问题,还衍生了其他问题。

定位Python built-in函数的源码实现

用Python开发的代码,有些时候会出现一些故障,这些故障很难从Python级调试中排查出原因。此时,需要对Python解释器进行C级调试,以排查更底层的原因。本文以定位Python built-in函数的源码实现为例,展示这种C级调试的片段。

[Solaris]查找侦听指定端口的进程

查找侦听指定端口的进程,对于系统管理员来说,是个永恒的话题。历史上Solaris 可以用第三方的lsof,也可以用自带的pfiles。后来,还可以用mdb达成任务。本文 主要是演示mdb的高阶用法之一。

关于mdb的入门,不在此赘述。

“FREAK SSL Attack”科普版(CVE-2015-0204)

FREAK是”Factoring RSA-EXPORT Key Attack”的缩写。

参看:

http://blog.cryptographyengineering.com/2015/03/attack-of-week-freak-or-factoring-nsa.html

这是个一群密码学家如何黑了NSA的故事,也是关于加密体系后门的故事。

一群来自INRIA、Microsoft Research和IMDEA的密码学家发现OpenSSL客户端(比如 Android系统)、Apple SSL/TLS客户端(比如Safari)存在某些漏洞,允许MITM攻击者 将受攻击的SSL/TLS会话所用的RSA算法更改成出口级RSA算法,后者意味着可以在可 接受的时间范围内对算法所用的模数进行素因子分解,从而最终解密SSL/TLS会话。