# Impacket: Build and Parse Network Protocols with Python

This repository profile is provided by osrepos.com, an open source repository discovery platform.

Source: osrepos.com
Repository profile: https://osrepos.com/repo/fortra-impacket
Generated for open source discovery and AI-assisted research.

Impacket is a Python library maintained by Fortra’s Core Security for low-level access to network protocols, including SMB and MSRPC. It helps developers and security researchers construct and parse packets and provides example tools.

GitHub: https://github.com/fortra/impacket
OSRepos URL: https://osrepos.com/repo/fortra-impacket

## Summary

Impacket is a Python library maintained by Fortra’s Core Security for low-level access to network protocols, including SMB and MSRPC. It helps developers and security researchers construct and parse packets and provides example tools.

## Topics

- python
- library
- networking
- security
- smb
- msrpc
- kerberos

## Repository Information

Last analyzed by OSRepos: Sat Nov 07 2026 06:26:24 GMT+0000 (Western European Standard Time)
Detail views: 4
GitHub clicks: 1

## Safety Notice

OSRepos shares public repositories for knowledge and discovery only. Review source code, dependencies, licenses, and security implications before running or installing anything.

## Content

## Overview

Impacket is a Python library maintained by Fortra’s Core Security for low-level programmatic access to network protocols. It lets developers and security researchers construct packets, parse raw data, and work with nested protocol structures through an object-oriented API. For some protocols, including SMB and MSRPC, it also provides protocol implementations.

Its scope includes network layers such as IP and TCP, SMB1–3, MSRPC, and portions of TDS and LDAP. The repository also includes example tools that demonstrate uses of the library. It is intended to support security research and education, rather than production use.

## Key Features

- Construct network packets from scratch and parse them from raw data.
- Work with Ethernet, IP, TCP, UDP, ICMP, IGMP, and ARP, including IPv4 and IPv6.
- Use high-level implementations for NMB and SMB1, SMB2, and SMB3.
- Access MSRPC over TCP, SMB/TCP, SMB/NetBIOS, and HTTP.
- Use plain, NTLM, and Kerberos authentication with passwords, hashes, tickets, or keys.
- Work with implementations or portions of numerous MSRPC interfaces, including SAMR, LSAD, DCOM, and WMI.
- Explore example tools alongside the protocol library.

## Use Cases

- Security researchers can examine protocol behavior or build research utilities using direct access to packet structures.
- Developers implementing network-protocol integrations can use the library’s packet parsing and construction APIs.
- Red and blue team practitioners can study the included examples when developing or evaluating authorized security workflows.
- Educators and students can use the protocol implementations to explore how network and Windows RPC protocols are structured.

## Our Take
Impacket is an actively maintained, broad protocol toolkit for Python, with frequent recent development and a large contributor base, though its maintainers explicitly frame it for research and education rather than production.

**Good fit if:**
- You need Python-level packet construction or parsing across protocols such as SMB, MSRPC, or Kerberos.
- You are building security research or educational tooling and can work within its Python-based setup.
- You want a project with recent commits and releases, and a contributor base that is not concentrated in one person.

**Look elsewhere if:**
- You need software the maintainers describe as suitable for production environments or commercial products.
- Your work depends on a complete implementation of every listed protocol or interface, since the README describes some support as partial.
- You need clearly established license terms without reviewing the repository’s license file, since the available license metadata is inconclusive.

## Project Health

| Signal | Value |
|---|---|
| Status | **Active**: regular commits and releases |
| Last commit | 2026-11-04 (2 days ago) |
| Commits, last 90 days | 59 |
| Releases, last 12 months | 1 (latest impacket_0_13_1, 2026-05-19) |
| Contributors | 100+ (top contributor: 53% of commits) |
| Issues closed, last 90 days | 20+ (typically closed in 997 days) |
| Pull requests merged, last 90 days | 54 (typically merged in 18 days) |
| Project age | 11 years |

Checked on 2026-11-07 with the GitHub API.

## Project Facts

- Language: Python
- Stars: 16.2k
- Forks: 4k
- Topics: dcerpc, dcom, impacket, kerberos, msrpc, netbios, pass-the-hash, python
- Website: https://www.coresecurity.com
- Archived: no

## What You Need

Detected in the repository:

- Python (from setup.py)
- A Dockerfile, so it can run in a container
- A test suite and automated checks on GitHub Actions

## Getting Started

Install the latest stable release with pipx:

```sh
python3 -m pipx install impacket
```

See the [README](https://github.com/fortra/impacket#readme) for development installation, Docker usage, and testing details.

## License in Plain Words

No standard license was detected. Without a license, the default copyright rules apply: you may read the code, but not reuse it. Check the repository or ask the authors.

## Considerations

The repository describes its purpose as research and education and says the code is not meant for production environments or commercial products. The README says the software uses a slightly modified Apache Software License, but the supplied license metadata is inconclusive, so review the repository’s LICENSE file and assess its terms before adoption. Support is broad but not uniformly complete: several protocol implementations and interfaces are explicitly described as partial. The project uses Python, with Docker available as an option; no database or GPU requirement is indicated.