防护思路
点击放大

A collection of Python tools for cybersecurity learning, network inspection, OSINT, web security, and defensi.
security-tools is a modular collection of small Python utilities designed to make common security-related tasks easier to explore, test, and understand.
Each tool is maintained in its own directory, with source code, tests, and a dependency file when external packages are required.
The project focuses on practical implementations, input , predictable behavior, and testable code.
* Network information and TCP connectivity checks
* DNS record lookups and hostname resolution
* Domain registration and web resource inspection
* HTTP security header and TLS certificate inspection
* File hashing and hash
* Basic dependency in
* Unit tests for indi tools
| Tool | Description |
| -------------- | --------------------------------------------------------- |
| network-info | Collects local network interface and address information. |
| port-check | Checks TCP connectivity to a specified host and port. |
| Tool | Description |
| ------------------ | ---------------------------------------- |
| security-headers | Inspects HTTP security headers. |
| robots-info | Retrieves a website's robots.txt file. |
| tls-info | Retrieves TLS certificate metadata. |
| Tool | Description |
| ----------------- | -------------------------------------------------------- |
| whois-info | Retrie registration information through WHOIS. |
| dns-info | Resol to address information. |
| dns-records | Looks up DNS address records. |
| subdomain-info | Resolves an explicitly supplied hostname. |
| http-status | Checks the HTTP status of a URL. |
| dns-txt-info | Looks up DNS TXT records. |
| dns-mx-info | Looks up DNS MX records. |
| dns-ns-info | Looks up DNS NS records. |
| dns-soa-info | Looks up DNS SOA records. |
| dns-caa-info | Looks up DNS CAA records. |
| dns-ds-info | Looks up DNSSEC DS records. |
| dns-dnskey-info | Looks up DNSSEC DNSKEY records. |
| dns-sr | Looks up DNS SR. |
| dns-naptr-info | Looks up DNS NAPTR records. |
| dns-cname-info | Looks up DNS CNAME records. |
| dns-ptr-info | Looks up DNS PTR records. |
| dns-sshfp-info | Looks up DNS SSHFP records. |
| dns-hinfo-info | Looks up DNS HINFO records. |
| dns-rp-info | Looks up DNS RP records. |
| dns-s | Looks up DNS S. |
| dns-https-info | Looks up DNS HTTPS records. |
| dns-uri-info | Looks up DNS URI records. |
| dns-tlsa-info | Looks up DNS TLSA records used with DANE. |
| Tool | Description |
| ------------- | ------------------------------------------------ |
| hash- | Compares a supplied hash with an expected value. |
| Tool | Description |
| -------------------- | ---------------------------------------------------------- |
| file-hash | Calculates file hashes for integrity . |
| dependency-auditor | Parses pinned dependencies from a requirements.txt file. |
* Python 3.9 or newer
* Git
* Internet access for tools that query external DNS or network services
* pip for installing Python dependencies
Some tools use Python's standard library and do not require additional packages. Others ha own requirements.txt file.
Using a en helps keep project dependencies separate from system Python packages.
Linux / Kali Linux / macOS
Windows PowerShell
If the venv module is una, install or enable the appropriate Python en support for your operating system.
Dependencies are managed per tool. Install only the packages required by the tool you intend to use.
For example, to prepare dns-tlsa-info:
The same pattern applies to other tools that contain a requirements.txt file. Replace the path with the relevant tool directory.
For a tool without a requirements file, check its source code for external dependencies.
Run the repository's test suite:
A passing test suite the behavior covered by those tests. It does not guarantee that every tool works in every network en or against every target.
The tools are currently organized as Python modules. The repository does not yet provide a unified command-line interface or a single package installation command.
Read the relevant source file before using a tool to understand its function, accepted inputs, and return .
Install the tool's dependency first:
On Linux or Kali Linux, query a TLSA owner name with:
Replace _443._tcp.example.com with the TLSA owner name you are authorized to query.
The function returns a list of records containing the usage, selector, matching type, and certificate association data. An empty list means no records were returned successfully by the function; it does not establish why the lookup returned no records.
For example, test dns-tlsa-info:
For another tool, replace the source and test paths with its own directory.
Each tool directory contains its implementation and, where provided, a dedicated test suite and dependency file.
* Use these tools only against systems, domains, and services you own or are explicitly authorized to assess.
* DNS results depend on resol, DNS propagation, and the target's records.
* A failed connection, missing record, or empty result does not automatically indicate a .
* dependency-auditor in pinned dependencies; it is not a C or a full scanner.
* TLS certificate metadata alone does not constitute a complete TLS security assessment.
* HTTP security header inspection does not replace a broader application security assessment.
* Network responses and external services can change over time.
* Review the source code before using a tool in a production en.
Contributions should keep tools modular and include tests for new behavior and input .
Before submitting a change:
1. Review the implementation and its dependencies.
2. Run the relevant tool-specific tests.
3. Run the full test suite.
4. Check the Git diff for unintended changes.
5. Document important limitations and usage requirements.
Avoid hardcoded credentials, unnecessary dependencies, and unsupported security claims.
Issues, bug reports, and impro are welcome.
When reporting a problem, include the affected tool, the steps needed to reproduce it, the expected behavior, and the actual result. Do not include passwords, tokens, private keys, or other sensiti.
No license has been specified for this repository yet. Unless a license is added, do not assume that the code is a for unrestricted reuse, modification, or redistribution.
开发语言:Python
Star 数:2
该项目属于防护思路方向的开源资源,代码结构清晰,适合安全研究人员学习参考。项目围绕A collection of cybersecurity and security tools for learning, testing, and defensive security research.展开,提供了可运行的实现,对理解相关安全机制、工具原理与攻防技术具有较高的研究价值。
从技术实现角度看,此类项目的核心在于对底层原理的深入理解与工程化落地。开发者在研究过程中可以结合官方文档与社区讨论,梳理项目的初始化流程、核心模块职责与数据流转,逐步掌握其中的技术细节与设计思路。
1. 下载源码压缩包,解压到本地环境。
2. 根据项目类型准备对应的运行环境与依赖。
3. 按照 README 中的步骤完成配置与部署。
4. 在隔离的测试环境中运行验证,避免影响生产系统。
本资源来源于开源社区,仅供安全研究、技术学习与合法授权范围内的攻防演练使用,请勿用于任何非法或侵害他人权益的用途。使用本项目产生的一切后果由使用者自行承担。
| 资源标题 | security-tools - A collection of cybersecurity and security tools f |
| 所属分类 | 防护思路 |
| 发布作者 | admin |
| 发布时间 | 2026-10-06 00:19:04 |
| 下载权限 | 免费下载 |
| 附件数量 | 2 个下载链接 |
| 浏览次数 | 188 |
| 讨论数量 | 0 |
| 主题状态 | 正常讨论中 |