如果你对漏洞挖掘、逆向工程分析或渗透测试感兴趣的话,我第一个要推荐给你的就是Python编程语言。Python不仅语法简单上手容易,而且它还有大量功能强大的库和程序可供我们使用。在这篇文章中,我们会给大家介绍其中的部分工具。

注:本文罗列出来的工具绝大部分都是采用Python编写的,其中有一小部分还使用了C语言库。

Network(网络)

l  Scapy:一款强大的交互式数据报分析工具,可用作发送、嗅探、解析和伪造网络数据包。

l  pypcap、Pcapy和pylibpcap:配合libpcap一起使用的数据包捕获模块

l  libdnet:底层网络工具,含接口查询和以太网帧传输等功能

l  dpkt:可以快速简单地创建或解析数据包

l  Impacket:制作和解码网络数据包,支持NMB和SMB等高级协议

l  pynids:封装了libnids,可用于数据包嗅探、消除IP碎片、TCP流再封装和端口扫描检测

l  Dirtbags py-pcap:读取pcap文件

l  flowgrep:使用正则表达式检索数据包payload

l  Knock Subdomain Scan:使用字典(wordlist)对特定域名进行子域名枚举

l  Mallory:可扩展的TCP/UDP中间人代理,支持对非标准协议进行实时修改

l  Pytbull:灵活的IDS/IPS测试框架,包含300多种测试

Debugging and Reverse Engineering(调试和逆向工程分析)

l  Paimei:逆向分析框架,包含PyDBG、PIDA和pGRAPH

l  Immunity Debugger:用于加速漏洞利用程序的开发,辅助漏洞挖掘以及恶意软件分析,拥有完整的图形用户界面,并提供了命令行调试器

l  mona.py:一款挖洞插件

l  IDAPython:IDA Pro插件,整合了Python编程语言,并支持在IDA Pro中运行脚本

l  PyEMU:支持脚本的完整IA-32模拟器,用于恶意软件分析

l  pefile:读取并操作PE文件

l  pydasm:提供了libdasmx86反汇编库的访问接口

l  PyDbgEng:封装了微软WindowsDebugging引擎

l  uhooker:拦截DLL内部的API调用,查看内存中可执行文件的任意地址

l  diStorm:针对AMD64的反汇编库,遵循BSD许可协议

l  python-ptrace:使用ptrace的调试器

l  vdb/vtrace:vtrace是一款通过Python调试API的跨平台工具,vdb是vtrace所使用的调试器

l  Androguard:可用于对Android应用进行逆向分析

Fuzzing(模糊测试)

l  Sulley: 集合了大量可扩展组件的模糊测试开发框架

l  Peach Fuzzing Platform: 基于生成和变异的模糊测试框架(可扩展性强)

l  antiparser: 模糊测试工具,提供了故障注入API

l  TAOF:包含ProxyFuzz,一款中间人网络模糊测试器

l  untidy:通用的XML模糊测试器

l  Powerfuzzer:高度自动化和完全可定制的Web模糊测试器

l  SMUDGE

l  Mistress:通过畸形数据测试文件格式和协议的工具,基于预定义模式

l  Fuzzbox:多媒体编解码模糊测试器

l  Forensic Fuzzing Tools:可生成模糊测试文件和模糊测试文件系统,文件系统中包含取证工具和测试系统

l  Windows IPC Fuzzing Tools:利用Windows进程间通信机制来对应用程序进行模糊测试的工具

l  WSBang:用于对Web服务进行自动化安全测试的Python工具

l  Construct:解析和构建数据结构的代码库

l  fuzzer.py (feliam):FelipeAndres Manzano 设计的一款简单的模糊测试工具

l  Fusil:编写模糊测试程序的代码库

Web

l  Requests:一个简单友好的HTTP库

l  HTTPie:有好的类cURL命令行HTTP客户端

l  ProxMon:处理代理日志,报告发现的问题

l  WSMap:寻找Web服务节点,扫描文件

l  Twill:通过命令行接口浏览Web,支持自动化Web测试

l  Ghost.py:Webkit Web客户端

l  Windmill:允许我们自动化测试和调试Web应用的Web测试工具

l  FunkLoad:该工具允许加载多功能的Web应用测试组件

l  spynner:支持Javascript/AJAX的可编程Web浏览模块

l  python-spidermonkey:桥接Mozilla SpiderMonkeyJavaScript引擎,允许对JavaScript脚本和函数进行测试和调用

l  mitmproxy:支持SSL的HTTP代理,可通过命令行接口实时拦截和编辑网络流量

l  pathod / pathoc:可向HTTP客户端和服务求提供畸形测试用例

Forensics(信息取证)

l  Volatility:从RAM样本中提取数据

l  LibForensics:开发数字取证应用的代码库

l  TrIDLib:通过代码签名识别文件类型

l  aft:Android取证工具

Malware Analysis(恶意软件分析)

l  pyew:命令行十六进制编辑器和反汇编工具,主要用于分析恶意软件

l  Exefilter:过滤邮件、Web页面或文件中的文件格式,检测常见文件格式并能移除活动内容

l  pyClamAV:向Python软件中添加病毒检测功能

l  jsunpack-n:通用的JavaScript拆包工具,可枚举浏览器功能并检测漏洞,针对的是浏览器和浏览器插件漏洞

l  yara-python:识别和分类恶意软件样本

l  phoneyc:纯蜜罐系统

PDF

l  Didier Stevens’ PDF tools: 分析、识别和创建PDF文件,包括PDFiD、pdf-parser、make-pdf和mPDF

l  Opaf:开源PDF分析框架,可将PDF转换成可分析和修改的XML树

l  Origapy:封装了Origami Ruby模块,可对PDF文件进行安全审查

l  pyPDF:纯PDF工具,可提取、合并、加密和解密PDF内容

l  PDFMiner:从PDF文件中提取文字内容

l  python-poppler-qt4:绑定了Poppler PDF库,支持Qt4

杂项

l  InlineEgg:Python工具箱,可用于编写小型汇编程序

l  Exomind:开发开源智能模块的框架,以社交网络服务、搜索引擎和即时消息为中心

l  RevHosts:根据给定IP地址枚举出虚拟主机

l  simplejson:使用了 Google AJAX API的JSON解码/编码器

l  PyMangle:用于创建渗透测试工具所用字典(Wordlist)的命令行工具/代码库

l  Hachoir:查看和编辑代码流中的数据域

l  py-mangle:另一款用于创建渗透测试工具所用字典(Wordlist)的命令行工具/代码库

其他有用的库和工具

l  IPython:多功能增强型交互式Python Shell

l  Beautiful Soup:爬虫可能会用到的HTML解析器

l  Mayavi:3D科学数据虚拟化工具

l  RTGraph3D:创建3D动态图像

l  Twisted:事件驱动型网络引擎

l  Suds:用于Web服务的轻量级SOAP客户端

l  M2Crypto:最完整的OpenSSL封装器

l  NetworkX:图形库

l  Pandas:可提供高性能数据结构的数据分析工具

l  pyparsing:通用解析模块

l  lxml:采用Python编写的功能丰富且易于使用的XML和HTML工具

l  Whoosh:纯Python实现的全功能文本索引、搜索库

l  Pexpect:控制或实现其他程序的自动化,类似Don Libes `Expect` system

l  Sikuli:虚拟化技术,通过截图实现搜索和自动化GUI,可利用Jython进行脚本扩展

l  PyQt + PySide:Qt应用框架和GUI库所需模块

安全人员常用的python库的更多相关文章

  1. 一文总结数据科学家常用的Python库(下)

    用于建模的Python库 我们已经到达了本文最受期待的部分 - 构建模型!这就是我们大多数人首先进入数据科学领域的原因,不是吗? 让我们通过这三个Python库探索模型构建. Scikit-learn ...

  2. 总结数据科学家常用的Python库

    概述 这篇文章中,我们挑选了24个用于数据科学的Python库. 这些库有着不同的数据科学功能,例如数据收集,数据清理,数据探索,建模等,接下来我们会分类介绍. 您觉得我们还应该包含哪些Python库 ...

  3. 一文总结数据科学家常用的Python库(上)

    概述 这篇文章中,我们挑选了24个用于数据科学的Python库. 这些库有着不同的数据科学功能,例如数据收集,数据清理,数据探索,建模等,接下来我们会分类介绍. 您觉得我们还应该包含哪些Python库 ...

  4. (转载)常用的Python库

    http://forum.ubuntu.com.cn/viewtopic.php?f=63&t=249573&p=2640959 Tkinter ---- Python默认的图形界面接 ...

  5. 常用的python 库地址

    来源   https://pypi.python.org/pypi wordcloud  https://github.com/amueller/word_cloud.git jieba https: ...

  6. 记录一些常用的python库、软件或者网址

    1.数据收集 BeautifulSoup.scrapy.selenium.requests 2.数据分析 pandas.numpy.pyDD.spacy 3.数据可视化 matplotlib.seab ...

  7. 2017年排名前15的数据科学python库

    2017年排名前15的数据科学python库 2017-05-22 Python程序员 Python程序员 Python程序员 微信号 pythonbuluo 功能介绍 最专业的Python社区,有每 ...

  8. python学习笔记系列----(八)python常用的标准库

    终于学到了python手册的最后一部分:常用标准库.这部分内容主要就是介绍了一些基础的常用的基础库,可以大概了解下,在以后真正使用的时候也能想起来再拿出来用. 8.1 操作系统接口模块:OS OS模块 ...

  9. Windows下python库的常用安装方法

    目录:       1.pip安装(需要pip)       2.通过下载whl文件安装(需要pip)       3.在pythn官网下载安装包安装(不需要pip)   方法一:pip安装. 这是最 ...

随机推荐

  1. 判断两个控件在同一个Window上是否有重叠

    判断两个控件在同一个Window上是否有重叠 //对UIView写分类 - (BOOL)intersectWithView:(UIView *)view; - (BOOL)intersectWithV ...

  2. The disadvantage for manager has a part-time job as a trainer

    At present, most companies with in-house trainers take the development model of "full-time trai ...

  3. Linux系统下第三方软件安装实例

    在第三方软件安装的时候,首先要有自己的rpm安装包!然后要有可以使用的yum源(前面有关于yum源的介绍) 一.安装wps步骤如下: 1)首先进入安装包所在目录,并查看有没有要安装的软件 2)然后,对 ...

  4. 安装visio 2010:您的计算机上的Office 2003安装已损坏,安装程序无法继续。请删除或修复office 2003产品并重新运行安装程序

    您的计算机上的Office 2003安装已损坏,安装程序无法继续.请删除或修复office 2003产品并重新运行安装程序   最近打算安装visio 2010时出现 以下错误: “您的计算机上的Of ...

  5. [Linux] 使用rename批量重命名文件

    例如把所有png文件的后缀改为jpg $ rename 's/png/jpg/' *png

  6. Failed to resolve: com.android.support:appcompat-v7:27.+ 报错解决方法

    最近在学习Android方面的编程,这个过程中出现了许多的错误,其中最多的错误是出现在构建工具进行编译的时候.这里分析一个出现的错误,Failed to resolve: com.android.su ...

  7. C:源文件编译过程

    可以大致概括为3个阶段: 源文件 → 汇编代码(文本) 汇编代码 → 机器语言(二进制) 各个目标文件的处理 详细过程: 预编译处理 Pre-processing(*.c/ *.cpp → *.i) ...

  8. enum枚举类型的定义

    enum枚举类型的定义方式与某种用法 #include <iostream> using namespace std; int main() { enum TOT{ zero, one, ...

  9. .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)

    长文预警!!! UWP 程序有 .NET Native 可以将程序集编译为本机代码,逆向的难度会大很多:而基于 .NET Framework 和 .NET Core 的程序却没有 .NET Nativ ...

  10. 剑指offer第六章

    剑指offer第六章 1.数字在排序数组中出现的次数 统计一个数字在排序数组中出现的次数.例如输入排序数组{1,2,3,3,3,3,4,5}和数字3,由于3在数组中出现了4次,所以输出4 分析:思路1 ...