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)
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
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