sql注入工具:sqlmap
DNS安全監測:DNSRecon
暴力破解測試工具:patator
XSS漏洞利用工具:XSSer
Web服務器壓力測試工具:HULK
SSL安全掃描器:SSLyze
網絡
Scapy: send, sniff and dissect and forge network packets. Usable interactively or as a library
pypcap, Pcapy and pylibpcap: several different Python bindings for libpcap
libdnet: low-level networking routines, including interface lookup and Ethernet frame transmission
dpkt: fast, simple packet creation/parsing, with definitions for the basic TCP/IP protocols
Impacket: craft and decode network packets. Includes support for higher-level protocols such as NMB and SMB
pynids: libnids wrapper offering sniffing, IP defragmentation, TCP stream reassembly and port scan detection
Dirtbags py-pcap: read pcap files without libpcap
flowgrep: grep through packet payloads using regular expressions
Knock Subdomain Scan, enumerate subdomains on a target domain through a wordlist
Mallory, extensible TCP/UDP man-in-the-middle proxy, supports modifying non-standard protocols on the fly
Pytbull: flexible IDS/IPS testing framework (shipped with more than 300 tests)
調試和逆向工程
Paimei: reverse engineering framework, includes PyDBG, PIDA, pGRAPH
Immunity Debugger: scriptable GUI and command line debugger
mona.py: PyCommand for Immunity Debugger that replaces and improves on pvefindaddr
IDAPython: IDA Pro plugin that integrates the Python programming language, allowing scripts to run in IDA Pro
PyEMU: fully scriptable IA-32 emulator, useful for malware analysis
pefile: read and work with Portable Executable (aka PE) files
pydasm: Python interface to the libdasm x86 disassembling library
PyDbgEng: Python wrapper for the Microsoft Windows Debugging Engine
uhooker: intercept calls to API calls inside DLLs, and also arbitrary addresses within the executable file in memory
diStorm: disassembler library for AMD64, licensed under the BSD license
python-ptrace: debugger using ptrace (Linux, BSD and Darwin system call to trace processes) written in Python
vdb / vtrace: vtrace is a cross-platform process debugging API implemented in python, and vdb is a debugger which uses it
Androguard: reverse engineering and analysis of Android applications
Fuzzing
Sulley: fuzzer development and fuzz testing framework consisting of multiple extensible components
Peach Fuzzing Platform: extensible fuzzing framework for generation and mutation based fuzzing (v2 was written in Python)
antiparser: fuzz testing and fault injection API
TAOF, (The Art of Fuzzing) including ProxyFuzz, a man-in-the-middle non-deterministic network fuzzer
untidy: general purpose XML fuzzer
Powerfuzzer: highly automated and fully customizable web fuzzer (HTTP protocol based application fuzzer)
Mistress: probe file formats on the fly and protocols with malformed data, based on pre-defined patterns
Fuzzbox: multi-codec media fuzzer
Forensic Fuzzing Tools: generate fuzzed files, fuzzed file systems, and file systems containing fuzzed files in order to test the robustness of forensics tools and examination systems
Windows IPC Fuzzing Tools: tools used to fuzz applications that use Windows Interprocess Communication mechanisms
WSBang: perform automated security testing of SOAP based web services
Construct: library for parsing and building of data structures (binary or textual). Define your data structures in a declarative manner
fuzzer.py (feliam): simple fuzzer by Felipe Andres Manzano
Fusil: Python library used to write fuzzing programs
Web
Requests: elegant and simple HTTP library, built for human beings
HTTPie: human-friendly cURL-like command line HTTP client
ProxMon: processes proxy logs and reports discovered issues
WSMap: find web service endpoints and discovery files
Twill: browse the Web from a command-line interface. Supports automated Web testing
Ghost.py: webkit web client written in Python
Windmill: web testing tool designed to let you painlessly automate and debug your web application
FunkLoad: functional and load web tester
spynner: Programmatic web browsing module for Python with Javascript/AJAX support
python-spidermonkey: bridge to the Mozilla SpiderMonkey JavaScript engine; allows for the evaluation and calling of Javascript scripts and functions
mitmproxy: SSL-capable, intercepting HTTP proxy. Console interface allows traffic flows to be inspected and edited on the fly
pathod / pathoc: pathological daemon/client for tormenting HTTP clients and servers
取證
Volatility: extract digital artifacts from volatile memory (RAM) samples
LibForensics: library for developing digital forensics applications
TrIDLib, identify file types from their binary signatures. Now includes Python binding
aft: Android forensic toolkit
惡意程序分析
pyew: command line hexadecimal editor and disassembler, mainly to analyze malware
Exefilter: filter file formats in e-mails, web pages or files. Detects many common file formats and can remove active content
pyClamAV: add virus detection capabilities to your Python software
jsunpack-n, generic JavaScript unpacker: emulates browser functionality to detect exploits that target browser and browser plug-in vulnerabilities
yara-python: identify and classify malware samples
phoneyc: pure Python honeyclient implementation
Didier Stevens' PDF tools: analyse, identify and create PDF files (includes PDFiD, pdf-parserand make-pdf and mPDF)
Opaf: Open PDF Analysis Framework. Converts PDF to an XML tree that can be analyzed and modified.
Origapy: Python wrapper for the Origami Ruby module which sanitizes PDF files
pyPDF: pure Python PDF toolkit: extract info, spilt, merge, crop, encrypt, decrypt…
PDFMiner: extract text from PDF files
python-poppler-qt4: Python binding for the Poppler PDF library, including Qt4 support
Misc
InlineEgg: toolbox of classes for writing small assembly programs in Python
Exomind: framework for building decorated graphs and developing open-source intelligence modules and ideas, centered on social network services, search engines and instant messaging
RevHosts: enumerate virtual hosts for a given IP address
simplejson: JSON encoder/decoder, e.g. to use Google's AJAX API
PyMangle: command line tool and a python library used to create word lists for use with other penetration testing tools
Hachoir: view and edit a binary stream field by field
py-mangle: command line tool and a python library used to create word lists for use with other penetration testing tools
其他有用的Py庫和工具
IPython: enhanced interactive Python shell with many features for object introspection, system shell access, and its own special command system
Beautiful Soup: HTML parser optimized for screen-scraping
matplotlib: make 2D plots of arrays
Mayavi: 3D scientific data visualization and plotting
RTGraph3D: create dynamic graphs in 3D
Twisted: event-driven networking engine
Suds: lightweight SOAP client for consuming Web Services
M2Crypto: most complete OpenSSL wrapper
NetworkX: graph library (edges, nodes)
Pandas: library providing high-performance, easy-to-use data structures and data analysis tools
pyparsing: general parsing module
lxml: most feature-rich and easy-to-use library for working with XML and HTML in the Python language
Whoosh: fast, featureful full-text indexing and searching library implemented in pure Python
Pexpect: control and automate other programs, similar to Don Libes `Expect` system
Sikuli, visual technology to search and automate GUIs using screenshots. Scriptable inJython
PyQt and PySide: Python bindings for the Qt application framework and GUI library
其他
Python 作為程序員的寵兒,越來越得到人們的關注,使用 Python 進行應用程序開發的越來也多。那么,在 2013 年有哪些流行的 Python 項目呢?下面,我們一起來看下。
一、測試和調試
- python_koans:Python Koans 算 “Ruby Koans” 的一部分,作為交互式教程,可以學習 TDD 技巧。
- sure:Sure 是最適合自動化測試的 Python 工具,包含流利的斷言、深度選擇器等等特性。
- responses:用 responses 能令測試更加輕松,這是一個可以偽裝各種請求的庫。
- boom:Boom! Apache Bench 的替代品。作為一個命令行工具,Boom 能對你的應用進行快捷的 smoke test。
- cricket:BeeWare 套件的一部分,cricket 是種圖形化工具,協助你進行案例測試。
- bugjar:BeeWare 套件的一部分,bugjar 是針對 Python 的圖形化交互式調試器。
- pudb:pudn 是針對 Python 的全屏命令行調試器。
- voltron:更好的 gdb 界面。
二、Web 框架
- django-stronghold:試過將 login_required 裝飾器四處亂放? 在你的堡壘中令所有 Django 視圖有默認 login_required 唄。
- Falcon Framework:Falcon 自稱為髙性能雲接口框架,號稱能在相同硬件條件下提高服務端性能 30 倍! 聽起來有點兒意思?
- django-xadmin:用 bootstrap 對 django-admin 進行了深度升級,提供了可插件安裝的儀表盤。
- clay:基於 Flask 的封裝,能令我們輕松的創建 RESTful 后端服務,完整文檔可查看 clay。
- flask-restful:基於 Flask 的簡單框架,用以創建 REST 接口。
- sandman:Sandman 希望通過 REST 接口暴露你現有的 app,相關 博客也值得一讀。
- Django Unchained:名字很髙大上,也的確是 Python Django 初學者的靠譜指南。
三、並發
- pulsar:部署新 web 服務器走起! 有趣的事件驅動的並發框架 ! 兼容從 2.6+ 到 pypy 的所有 python 版本!
- toro:同步化的 Tornado 協程支持。
- offset:Offset Go 的並發模式在 Python 中的實現,請參考相關演講 幻燈來理解!
四、任務調度
- pyres:從 resque 獲得靈感的純 Python 任務調度模塊,是 celery 的替代。
- dagobah:Dagobah 是 Python 完成的簡單關系依賴為基礎的任務調度模塊,還包含很 COOL 的關聯任務工作流圖形工具。
- schedule:使用生成器模式來為定期任務生成配置的進程調度模塊。
五、實用工具
- howdoi:發覺你總在 Google 一些簡單的最簡單的編程任務? howdoi 能讓你遠離瀏覽器,就解決這類事兒!
- delorean:時間旅行?簡單! Delorean 的目標就是令你的 Python 項目在處理時間/日期時輕而易舉!查閱完備的 文檔。
- powerline-shell:對於那些想讓常用工具漂亮起來人,一定要用 powerline-bash,能打造漂亮的 shell 提示符,增加力線(powerline),兼容 Bash/Zsh。
- fn.py:在 Python 中談及函數編程時失落的那節"電池"終於出現了! 如果對 Python 函數式編程有興趣的立即下手安裝體驗吧!
- lice:為你的開源工程方便的追加許可證,而不用自個兒去 Google,支持 BSD、MIT 和 GPL 以及變種協議。
- usblock:基於 USB 來鎖定或是解鎖你的筆記本!
- Matchbox:MatchBox 能在你自個兒的服務器上提供類似 Dropbox 風格的備份服務! 基於 Flask 並通過 http 協議進行文件傳輸。
- cleanify:用 cleanify 能異步美化你項目的所有 html/css/js 文件。
- locksmith:Locksmith 是 AES 加密的口令管理器,看起來不錯,完全開源,源代碼、截屏都有。
- storm:在 Storm 的命令行界面,管理你所有的 SSH 連接。
- sqlparse::這個很給力! sqlparse 是個 SQL 有效性分析器,支持解析/分裂/格式化 SQL 語句。
- autopep8:能自動化以 pep8來格式化你的代碼。
- colout:colout 用以在命令行中色彩化輸出,這就從其 github page 查看范例來體驗吧。
- bumpversion:版本號沖撞總是惱人的,而每個人總是忘記給發行版本打 tag,bumpversion 用一條簡單的命令簡化了這方面的操作。
- pyenv:需要更好的管理你 Python 的多版本環境 ? pyenv 讓你能簡潔的作到!(甚至超出你的預期!有插件能將 VirtualEnv 也無縫結合進來!)
- pip-tools:一整套能令你的 Python 項目保持清爽的工具。
- cdiff:Cdiff 是種非常 nice 的工具,可以用彩色輸出統一 diff 格式信息,或用雙欄形式來展示。
六、數據科學及可視化
- data_hacks:由 bitly 發布的一堆數據分析用命令行工具。這些工具接受命令行或是其它工具輸入的數據,輕易的生成柱圖以及直方圖等等。
- 給黒客的概率編程和貝葉斯方法:這書是極好的,介紹如何用貝葉斯方法和概率編程進行數據分析,而且每章都提供了用以 iPython Notebooks 的示例。
- simmetrica:想對自個兒的應用基於時間的數據序列進行展示、匯總、分享嘛? 趕緊上 simmetrica 吧,同時還提供了可定制的儀表盤。
- vincent: Python 構建的專為運用 D3.js 進行可視化的 vega 轉換工具。
- bamboo:一種簡潔的實時數據分析應用,bamboo 提供了一個進行合並、匯總、數值計算的數據實時接口。
- dataset:難以置信的工具,dataset 讓對數據庫的讀寫簡單的象對 JSON 文件的操作,沒有其它的文件配置,頃刻間就讓你在 BOSS 面前高大上起來。
- folium:喜歡地圖?也愛 Python? Folium 讓你在地圖上自在操縱數據。
- prettyplotlib:用 prettyplotlib 來強化你的 matplotlib,讓你默認的 matplotlib 輸出圖片更加漂亮.
- lifelines:有興趣在 Python 中研究生存分析的話,不用觀望了,用 lifelines! 包含對 Kaplan-Meier、Nelson-Aalen 和生存回歸分析。
七、編輯器及其改善
- sublime-snake:想在無盡的 coding 中喘口氣? 當然是這種經典游戲了……
- spyderlib:又一個用 Python 寫的開源 IDE。
- vimfox:對於 Vim 黨最貼心的 web 專發工具,VimFox 能讓 vim 實時的看到 css/js/html 的修改效果,能神奇的讓 vim 中的修訂,立即在瀏覽器中看到。
- pcode:基於 Py3 的 IDE,通過簡單的 UI 提供了重構、工程管理等。
八、持續交付
- metrology:這個庫很酷,支持你對應用進行多種測量並輕松輸出給類似 graphite 的外部系統。
- python-lust:支持在 Unix 系統中用 Python 實現一個守護進程。
- scales:Scales 對你的 Python 應用進行持續狀態和統計,並發送數據到 graphite。
- glances:跨平台,基於 curses 命令行的系統監視工具。
- ramona:企業級的應用監管。 Ramona 保證每個進程在值,一但需要立即重啟,並有監控/日志輸出,會發送郵件提醒。
- salmon:基於 Salt Stack 的多服務監視系統,即能作報警系統,也能當監控系統。
- graph-explorer:Graph-explorer 是對 Graphite 面板的增強,比原版的好很多,值得體驗。
- sovereign:Sovereign 是一系列 ansible 的攻略手冊,能為自個兒建造個私人雲。
- shipyard:能在指定的機器上彈出你的彈窗實例,也支持你創建/刪除等等對彈窗的遠程控制。
- docker-py:瘋狂的 docker 工程接口的 Python 包裝。
- dockerui:基於 docker 接口通過 web 界面進行交互操作的工具。
- django-docker:如果想知道怎么將 Djnago 應用同 Docker 結合? 可以從這里學習。
- diamond:Python 實現的守護進程,自動從你的服務或是其它指定數據源中提取數值,並 graphite、以及其它支持的狀態面板/收集系統輸出。
九、Git
- git-workflow:可視化你的 git 工作流程的工具,示例: Demo。
- gitto:簡潔的庫,協助你建立自個兒的 git 主機。
- git-imerge:git-imerge 能讓 git 進行增量合並。 本質上是允許你在進行 imerge 有沖突時,有機會先合並掉,再繼續。
十、郵件與聊天
- mailbox:Mailbox 是對 Python 的 IMAP 一個人性化的再造。 基於簡單即是美的態度,作者對 IMAP 接口給出了一個簡單又好理解的形式。
- deadchat:deadchat 旨在不安全的網絡環境中提供安全的單一房間群聊服務以及客戶端。
- Mailpile:Mailpile 是針對郵件的索引及搜索引擎 。
十一、音頻和視頻
- pms:窮人的 Spotify,搜索和收集音樂流!
- dejavu:在琢磨 Shazam 的原理? 音頻指紋識別算法的 Python 實現在此!(譯注:Shazam:是個神奇的音樂識別應用,對她啍個幾秒調子,就能精確告訴你是什么歌曲、作者、歌詞……)
- HTPC-Manager:為 HTPC 粉絲准備的工具,提供了完備的界面來管理所有家庭媒體服務器上的好物。
- cherrymusic:Python 實現的一個音樂流媒體服務器。 流化輸出你的音樂到所有設備上。
- moviepy:腳本化的電影剪輯包,切/串/插入標題等基本操作,幾行就搞定!
十二、其它
- emit:用 redis 為你的函式追加可訂閱能力,很有趣。
- zipline:Zipline 是種很 Pythonic 的交易算法庫。
- raspberry.io:Raspberry.io 是樹莓派的社區實現。 剛剛發布,匯集了各種創意想法,有興趣的話立即檢出折騰吧。
- NewsBlur:Google Reader 已經關張兒了,Newsblur 已經發布了有段日子了,開源的 RSS 閱讀器,這絕對是應該首先體驗的。
- macropy:Macropy 是在 Python 中實現 macros 的庫。 檢出文檔,參考所有功能,看怎么用上了。
- mini:對編譯器以及語言設計有興趣的,一定要看看這個倉庫,以及配套的錄像!
- parsimonious:Parsimonious 的目標是最快的 arbitrary-lookahead 解析器。 用 Python 實現,基本可用。
- isso:Disqus 的開源替代,從 demo 看很不錯,而且提供了更好的隱私設置。
- deaddrop:Deaddrop 能為新聞機構或是其它人提供在線投遞箱,詳細信息參考其 github page。
- nude.py:裸體檢測的 Python 實現,是 node.js 的仿制。
- kaptan: Kaptan 是你應用的配置管理器!
- luigi:Luigi 幫你構建復雜的管道來完成批處理。
- gramme:Gramme 以簡單而優雅的方式,通過 UDP 接口對易失數據完成消息包裝序列化。
- q:為你的 Python 程序提供快速而隨性的日志。 有一系列幫手來追蹤你的函式參數,並能在控制台快速交互式加載。
- fuqit:來自偉大的 Zed Shaw 最新作品,fuqit 試圖令你忘記 MVC 的經驗,用全新的方式專注簡潔一切。
- simplicity:基於靠譜的 pydanny 將你的新結構化文本轉換為 JSON 格式。
- lassie:Lassie 允許你輕松的從網站檢索出內容來。
- paperwork:Paperwork 是個 OCR 文檔並完成可搜索轉化的工具,用 GTK/Glade 實現了友好的界面。
- cheat:cheat 允許你創建並查閱命令行上的交互式備忘。設計目的是幫助 *nix 的系統管理員們在習慣的環境中,快速調閱不易記憶的常用命令。
- cookiecutter:良心模塊! 提供一堆有用但是不常寫,所以記不下來的代碼模板,也支持自制代碼模板。
- pydown:支持用 Python 構建亮麗的 HTML5 效果幻燈,Demo。
- Ice:模擬器粉絲們現在能用 Ice 向 Steam 里塞 ROM 來玩了。
- pants:用以編寫異步網絡應用的輕量級框架。 Pants 是單線程,回調服務,也包含支持 Websockets 的 HTTP 服務、WSGI 支持和一個簡單的 web 框架。
- pipeless:Pipeless 是一個構建簡單 數據管道的框架。
- marshmallow:marshmallow 是個 ORM 無關的庫,能將復雜的數據類型轉換為 Python 原生類型對象,以便容易的轉換為 JSON 提供接口使用。
- twosheds:Python 實現的庫,用來構造命令或是 shell 解釋器。Twosheds 讓你用 Python 來定制自個兒的 shell 環境。