explaingit

fortra/impacket

Analysis updated 2026-06-24

15,708PythonAudience · developerComplexity · 4/5LicenseSetup · moderate

TLDR

Python library for working with Windows and enterprise network protocols like SMB, Kerberos, NTLM, MSRPC, and LDAP, used by security researchers and pentesters.

Mindmap

mindmap
  root((impacket))
    Inputs
      Network credentials
      Target hosts
      Protocol packets
    Outputs
      Authentication tickets
      Command output
      Packet captures
    Use Cases
      Pentest Windows networks
      Study auth protocols
      Build security tools
    Tech Stack
      Python
      SMB
      Kerberos
      LDAP
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Write a script that authenticates to a Windows host with NTLM hash and runs a remote command.

USE CASE 2

Sniff and parse Kerberos traffic on a lab network to study ticket structure.

USE CASE 3

Build a custom SMB client that lists shares and reads files from a target.

USE CASE 4

Query LDAP for domain user and group enumeration during an authorized pentest.

What is it built with?

PythonSMBKerberosNTLMLDAPMSRPC

How does it compare?

fortra/impacketwan-video/wan2.2microsoft/bringing-old-photos-back-to-life
Stars15,70815,71315,694
LanguagePythonPythonPython
Setup difficultymoderatehardhard
Complexity4/54/54/5
Audiencedeveloperresearchergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Pip-installable but most useful examples assume a target Windows lab environment and valid credentials.

Custom Impacket license based on Apache-style permissive terms allows use, modification, and redistribution with attribution, not intended for commercial product embedding.

In plain English

Impacket is a Python library used by security researchers and penetration testers (professionals hired to find weaknesses in computer systems) to interact with low-level network protocols. Network protocols are the rules that computers use to communicate, things like how files are shared, how authentication works, and how devices find each other on a network. The library provides detailed, programmable access to a wide range of protocols used mainly in Windows and enterprise networking environments: SMB (the protocol Windows uses for file sharing), Kerberos and NTLM (Windows authentication systems), MSRPC (a system for calling procedures on remote machines), NetBIOS (a legacy network naming system), and partial support for SQL Server (TDS) and directory services (LDAP). In practice, Impacket is used to build security testing tools, for example, simulating attacks like "pass-the-hash" (reusing captured authentication credentials without knowing the actual password), querying remote Windows systems, or inspecting how authentication traffic is structured. It is not designed for production use in commercial products, and the project's stated purpose is research and education. You would use Impacket if you are a security researcher, a penetration tester testing Windows environments, or a developer studying network protocol implementations. It is written in Python and installable via the standard Python package manager (pip or pipx). It is maintained by Fortra's Core Security team.

Copy-paste prompts

Prompt 1
Show me how to use impacket smbclient.py to list shares on a lab Windows host with a username and password.
Prompt 2
Write a Python script using impacket to perform pass-the-hash authentication against an SMB server in my pentest lab.
Prompt 3
Help me parse a Kerberos AS-REP packet capture with impacket and pull out the encrypted timestamp.
Prompt 4
Give me a 10-minute install guide for impacket in a Python venv on Ubuntu with pipx.
Prompt 5
Build a small impacket-based MSRPC client that calls a named pipe on a Windows test VM.

Frequently asked questions

What is impacket?

Python library for working with Windows and enterprise network protocols like SMB, Kerberos, NTLM, MSRPC, and LDAP, used by security researchers and pentesters.

What language is impacket written in?

Mainly Python. The stack also includes Python, SMB, Kerberos.

What license does impacket use?

Custom Impacket license based on Apache-style permissive terms allows use, modification, and redistribution with attribution, not intended for commercial product embedding.

How hard is impacket to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is impacket for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub fortra on gitmyhub

Verify against the repo before relying on details.