Skip to main content

What is Impacket?

Impacket is a collection of Python classes for working with network protocols. It provides low-level programmatic access to packets and protocol implementations, making it ideal for network protocol research, penetration testing, and security tool development. Originally created by SecureAuth, Impacket is now maintained by Fortra’s Core Security.

Key Features

Protocol Implementation

Low-level programmatic access to network packets with object-oriented APIs for deep protocol hierarchies

Packet Construction

Build packets from scratch or parse them from raw data with intuitive class-based interfaces

Rich Protocol Support

SMB1-3, MSRPC, Kerberos, LDAP, MSSQL, and many more protocols ready to use

Authentication Flexibility

Support for password, hash, ticket, and key-based authentication across multiple protocols

Supported Protocols

Impacket provides extensive protocol support across multiple network layers:

Network & Transport Layer

  • Ethernet, Linux “Cooked” capture
  • IP, TCP, UDP, ICMP, IGMP, ARP
  • IPv4 and IPv6 Support

Application Layer

  • NMB and SMB: High-level implementations for SMB1, SMB2, and SMB3
  • MSRPC v5: Over TCP, SMB/TCP, SMB/NetBIOS, and HTTP transports
  • Authentication: Plain, NTLM, and Kerberos (password/hashes/tickets/keys)
  • MSRPC Interfaces: EPM, DTYPES, LSAD, LSAT, NRPC, RRP, SAMR, SRVS, WKST, SCMR, BKRP, DHCPM, EVEN6, MGMT, SASEC, TSCH, DCOM, WMI, OXABREF, NSPI, OXNSPI
  • Additional Protocols: TDS (MSSQL) and LDAP implementations

Version Information

Current Release: v0.13.0
Development Version: v0.14.0-dev (master branch)

Python Compatibility

Impacket supports Python 3.9, 3.10, 3.11, 3.12, and 3.13.

Use Cases

Impacket is designed to accelerate:
  • Security Research: Explore and analyze network protocol implementations
  • Penetration Testing: Build custom tools for security assessments
  • Protocol Analysis: Deep inspection of network communications
  • Educational Projects: Learn about network protocols through hands-on implementation
This software is for research and educational purposes. It is not intended for production environments or commercial products. Always follow responsible disclosure practices and obtain proper authorization before testing.

License

Impacket is provided under a slightly modified version of the Apache Software License. See the LICENSE file for details. SMBv1 and NetBIOS support is based on Pysmb by Michael Teo.

Next Steps

Installation

Install Impacket and set up your development environment

Quick Start

Get started with your first Impacket script

Build docs developers (and LLMs) love