impacket README

The project's README from github.com/fortra/impacket. As one markdown file: README.md.

Impacket_light

Impacket

Latest Version Build and test Impacket

Copyright Fortra, LLC and its affiliated companies. All rights reserved.

Impacket was originally created by SecureAuth, and now maintained by Fortra's Core Security.

Impacket is a collection of Python classes for working with network protocols. Impacket is focused on providing low-level programmatic access to the packets and for some protocols (e.g. SMB1-3 and MSRPC) the protocol implementation itself. Packets can be constructed from scratch, as well as parsed from raw data, and the object-oriented API makes it simple to work with deep hierarchies of protocols. The library provides a set of tools as examples of what can be done within the context of this library.

Maintainer

Core Security

Table of Contents

Getting Impacket

Latest version

Current and past releases

Development version

Setup

Quick start

:information_source: We recommend using pipx over pip for system-wide installations.

In order to grab the latest stable release run:

python3 -m pipx install impacket

If you want to play with the unreleased changes, download the development version from the master branch, extract the package, and execute the following command from the directory where Impacket has been unpacked:

python3 -m pipx install .

Docker Support

Build Impacket's image:

  $ docker build -t "impacket:latest" .

Using Impacket's image:

  $ docker run -it --rm "impacket:latest"

Testing

The library leverages the pytest framework for organizing and marking test cases, tox to automate the process of running them across supported Python versions, and coverage to obtain coverage statistics.

A comprehensive testing guide is available.

Licensing

This software is provided under a slightly modified version of the Apache Software License. See the accompanying LICENSE file for more information.

SMBv1 and NetBIOS support based on Pysmb by Michael Teo.

Disclaimer

The spirit of this Open Source initiative is to help security researchers, and the community, speed up research and educational activities related to the implementation of networking protocols and stacks.

The information in this repository is for research and educational purposes and not meant to be used in production environments and/or as part of commercial products.

If you desire to use this code or some part of it for your own uses, we recommend applying proper security development life cycle and secure coding practices, as well as generate and track the respective indicators of compromise according to your needs.

Contact Us

For general questions, bug reports, or feature requests, please use GitHub issues.

Contributions are welcome. If you would like to contribute a fix, improvement, or new feature, please open a GitHub pull request with a clear description of the proposed change.

If you believe you have discovered a security vulnerability in Impacket, or if you believe Impacket is being abused or misused, please do not report it through a public GitHub issue, discussion, or pull request. Instead, follow the instructions in our Security Policy.

impacket (fortra/impacket)

Searching Database…

16.2K ·GitHub
这是干什么的?Impacket 是一组用于处理网络协议的 Python 类,可以直接在底层以编程方式操作数据包,而且对一些协议(如 SMB1-3 和 MSRPC)提供了完整的协议实现。
它是我写代码时调用的库,还是一套现成的工具?它主要是一个库:你可以导入它的类,通过面向对象的 API 来构造或解析数据包。它也自带一组工具,作为展示这个库能做什么的示例。
我能把它用在正式发布的产品里吗?作者表示它是为帮助安全研究人员和教育工作者而设计的,明确不适合用于生产环境,也不应作为商业产品的一部分——如果你复用这些代码,请遵循安全开发实践。
我必须手工拼原始字节,还是它也能解析抓到的数据?两者都可以:数据包既可以从零开始构造,也可以从原始数据中解析出来,而且面向对象的 API 让层层嵌套的复杂协议结构也容易操作。
它能对接哪些远程管理接口?它实现了许多 MSRPC 接口的全部或部分功能,包括 EPM、SAMR、LSAD/LSAT、NRPC、RRP、SRVS、WKST、SCMR、TSCH、DCOM 和 WMI——涵盖远程机器上的用户、服务和计划任务等操作。
它只对 Windows 机器有用吗?它对微软协议的覆盖最强——SMB、MSRPC、DCOM/WMI、NTLM 和 Kerberos——但底层数据包部分也能处理通用的 Ethernet、IP、TCP/UDP 和 IPv6 流量。
Creator
fortra
Size
11.6 MB
Stars
16.2K
Age
11y
Commits · 90 Days