我整理了网络安全工程师最常用、实战必备的 Python 模块,按功能分类整理,直接复制就能用,包含攻防、扫描、抓包、加解密、漏洞利用、社工、运维等场景。

  • 网络扫描 / 探测 / 端口扫描(必备)  

1. `socket` - 内置模块,无需安装 - 最底层网络通信,用于端口扫描、TCP/UDP 连接、服务探测 - 网络安全的基础核心模块

  1. `scapy` - 最强网络数据包操作库 - 发包、抓包、构造数据包、ARP 欺骗、端口扫描、流量分析 - 安全工具开发必备 `bash pip install scapy `
  2. `nmap`(python-nmap) - 调用 Nmap 强大扫描功能 - 端口扫描、服务识别、OS 指纹识别 `bash pip install python-nmap `
  • 抓包 / 流量分析
  1. `scapy`(同上) - 可抓包、解析包、过滤流量
  2. `pcapy` / `pypcap` - 底层抓包库
  3. `dpkt` - 高速解析网络数据包(PCAP 文件解析神器) `bash pip install dpkt `
  • HTTP/HTTPS 请求(爬虫、漏洞验证、POC 编写)
  1. `requests` - 最常用 HTTP 库,漏洞验证、接口测试、POC/EXP 必备 `bash pip install requests `
  2. `httpx` - 比 requests 更强大,支持 HTTP/2、异步、代理 `bash pip install httpx `
  3. `aiohttp` - 异步 HTTP 请求,批量扫描神器
  • 密码学 / 加解密(渗透测试必备)  

1. `hashlib` - 内置模块 - MD5、SHA1、SHA256 哈希、密码破解

2. `cryptography` - 现代加密:AES、RSA、ECC、证书处理 `bash pip install cryptography `

3. `pycryptodome` - 安全界最常用加解密库(AES、DES、RSA、ARC4 等) `bash pip install pycryptodome `

4. `passlib` - 哈希密码验证(Linux shadow、MySQL、WordPress 密码) `bash pip install passlib `五、漏洞利用 / EXP 编写

1. `pwntools` - CTF 与二进制漏洞利用神器 - 栈溢出、ROP、shellcode、远程交互 `bash pip install pwntools `

2. `msfrpc` - 调用 Metasploit 的 RPC 接口 - 批量自动化漏洞利用

3. `impacket` - Windows 内网渗透神器 - SMB、WMI、LDAP、MSSQL、黄金票据、白银票据 `bash pip install impacket `

六、内网渗透 / 域渗透

1. `impacket`(上面已提) - 内网渗透必备

 2. `pywinrm` - Windows 远程命令执行(WinRM)

3. `paramiko` - SSH 远程连接、Linux 批量命令执行、爆破 SSH `bash pip install paramiko `

4. `ldap3` - 域环境 LDAP 查询、域信息收集

七、暴力破解 / 字典生成

1. `itertools` - 内置模块,生成爆破字典

2. `requests` + 多线程 - HTTP 表单爆破、验证码爆破

3. `threading` / `multiprocessing` - 内置模块,多线程加速扫描/爆破

八、代理 / 匿名网络

1. `pysocks` - 让 requests 支持 SOCKS5 代理(Tor、代理池) `bash pip install pysocks `

2. `stem` - 控制 Tor 代理,实现 IP 轮换

九、信息收集 / 爬虫 / 搜索引擎探测

1. `requests` / `httpx` - 网页信息爬取

2. `beautifulsoup4` - HTML 解析,提取子域名、邮箱、路径 `bash pip install beautifulsoup4 `

3. `whois` - 域名信息查询 `bash pip install python-whois `

4. `dns.resolver`(dnspython) - DNS 解析、子域名爆破 `bash pip install dnspython ` -

十、系统 / 权限 / 后渗透

1. `os` / `subprocess` - 内置模块,执行系统命令

2. `psutil` - 进程、端口、权限信息收集 `bash pip install psutil `

3. `pyinstaller` - 将 Python 脚本打包成 EXE 免杀(后渗透常用) `bash pip install pyinstaller `

网络安全工程师必背 TOP 10 如果你只想记最重要的,就背这 10 个:

  1. `socket` — 网络通信 2. `scapy` — 数据包/扫描 3. `requests` / `httpx` — HTTP 漏洞验证 4. `pycryptodome` — 加解密 5. `hashlib` — 哈希 6. `paramiko` — SSH 7. `impacket` — 内网渗透 8. `python-nmap` — 端口扫描 9. `pwntools` — 二进制漏洞 10. `dnspython` — 子域名收集

直接给你每个核心模块・最简可运行实战代码

全部复制就能跑,都是网络安全入门 & 考试 & 写工具最常用的版本,按分类整理,附带注释 + 功能说明。环境:Python3,先安装对应库即可。

先统一安装依赖

bash

运行

pip install requests scapy python-nmap paramiko dnspython pycryptodome impacket beautifulsoup4

1. socket 原生端口扫描(内置,无需安装)

功能:TCP 端口探测,最基础内网扫描

python

运行

import socket

target = "127.0.0.1"

ports = [21,22,80,443,3306,3389]

for port in ports:

    s = socket.socket()

    s.settimeout(0.5)

    res = s.connect_ex((target, port))

    if res == 0:

        print(f"端口 {port} 开放")

    s.close()

2. requests Web 漏洞 POC / 请求测试(Web 安全必备)

功能:发包、爆破、弱口令、漏洞验证

python

运行

import requests

url = "http://xxx/login.php"

data = {

    "username":"admin",

    "password":"admin123"}# 关闭证书警告

requests.packages.urllib3.disable_warnings()

resp = requests.post(url,data=data,verify=False,timeout=5)if "登录成功" in resp.text:

    print("弱口令漏洞存在!")else:

    print("账号密码错误")

3. scapy 自定义发包 / ARP 探测(流量安全神器)

功能:构造数据包、内网存活探测、ARP 欺骗基础

python

运行

from scapy.all import ARP, Ether, srp

# 内网存活主机探测

target_ip = "192.168.1.0/24"

arp = ARP(pdst=target_ip)

ether = Ether(dst="ff:ff:ff:ff:ff:ff")

packet = ether/arp

result = srp(packet,timeout=2,verbose=0)[0]for send,recv in result:

    print(f"存活主机: {recv.psrc} MAC:{recv.hwsrc}")

4. python-nmap 专业端口扫描

功能:识别端口、服务、版本

python

运行

import nmap

nm = nmap.PortScanner()

nm.scan("127.0.0.1","1-1000")

for host in nm.all_hosts():

    print("主机:",host)

    for proto in nm[host].all_protocols():

        ports = nm[host][proto].keys()

        for port in ports:

            print(f"端口:{port} 状态:{nm[host][proto][port]['state']} 服务:{nm[host][proto][port]['name']}")

5. dnspython 子域名爆破 / DNS 解析

功能:DNS 探测、子域名收集

python

运行

import dns.resolver

domain = "baidu.com"

subs = ["www","admin","api","test","web"]

for sub in subs:

    try:

        a = dns.resolver.resolve(f"{sub}.{domain}","A")

        for ip in a:

            print(f"子域名: {sub}.{domain} → {ip}")

    except:

        pass

6. paramiko SSH 弱口令爆破

功能:Linux SSH 远程登录、爆破、内网横向

python

运行

import paramiko

ip = "192.168.1.10"

user = "root"

pwd = "root123"

ssh = paramiko.SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())try:

    ssh.connect(ip,port=22,username=user,password=pwd,timeout=3)

    print("SSH登录成功!弱口令漏洞")except:

    print("登录失败")

7. hashlib MD5/SHA256 哈希加密破解(内置)

功能:密码解密、哈希对比、爆破密码

python

运行

import hashlib

pwd = "123456"

md5 = hashlib.md5(pwd.encode()).hexdigest()

sha256 = hashlib.sha256(pwd.encode()).hexdigest()

print("MD5:",md5)print("SHA256:",sha256)

# 哈希碰撞破解示例

target_md5 = "e10adc3949ba59abbe56e057f20f883e"if md5 == target_md5:

    print("密码破解成功:123456")

8. pycryptodome AES 加密解密(CTF / 逆向 / 内网加密通信)

python

运行

from Crypto.Cipher import AESfrom Crypto.Util.Padding import pad,unpad

key = b'1234567890123456'

data = b'hello security'

# 加密

aes = AES.new(key,AES.MODE_CBC)

enc = aes.encrypt(pad(data,AES.block_size))print("加密:",enc.hex())

# 解密

aes2 = AES.new(key,AES.MODE_CBC,iv=aes.iv)

dec = unpad(aes2.decrypt(enc),AES.block_size)print("解密:",dec.decode())

9. impacket SMB 探测 / Windows 内网渗透(域渗透神器)

功能:SMB 扫描、445 端口、SMB 弱口令、内网横向极简测试代码(检测 SMB 开放)

python

运行

from impacket.smbconnection import SMBConnection

try:

    smb = SMBConnection("192.168.1.10","192.168.1.10")

    smb.login("guest","")

    print("SMB匿名访问成功!")except:

    print("SMB拒绝访问")

10. threading 多线程加速扫描(必备优化)

单线程太慢,安全工具都用多线程

python

运行

import socketimport threading

def scan(ip,port):

    s = socket.socket()

    s.settimeout(0.5)

    if s.connect_ex((ip,port))==0:

        print(f"{port}开放")

    s.close()

for port in range(1,100):

    t = threading.Thread(target=scan,args=("127.0.0.1",port))

    t.start()

11. beautifulsoup4 网页信息提取(资产收集)

提取网页标题、后台路径、邮箱

python

运行

import requestsfrom bs4 import BeautifulSoup

resp = requests.get("http://www.baidu.com")

soup = BeautifulSoup(resp.text,"html.parser")

title = soup.find("title").textprint("网页标题:",title)

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐