Python 网络安全常用模块大全
我整理了网络安全工程师最常用、实战必备的 Python 模块,按功能分类整理,直接复制就能用,包含攻防、扫描、抓包、加解密、漏洞利用、社工、运维等场景。
- 网络扫描 / 探测 / 端口扫描(必备)
1. `socket` - 内置模块,无需安装 - 最底层网络通信,用于端口扫描、TCP/UDP 连接、服务探测 - 网络安全的基础核心模块
- `scapy` - 最强网络数据包操作库 - 发包、抓包、构造数据包、ARP 欺骗、端口扫描、流量分析 - 安全工具开发必备 `bash pip install scapy `
- `nmap`(python-nmap) - 调用 Nmap 强大扫描功能 - 端口扫描、服务识别、OS 指纹识别 `bash pip install python-nmap `
- 抓包 / 流量分析
- `scapy`(同上) - 可抓包、解析包、过滤流量
- `pcapy` / `pypcap` - 底层抓包库
- `dpkt` - 高速解析网络数据包(PCAP 文件解析神器) `bash pip install dpkt `
- HTTP/HTTPS 请求(爬虫、漏洞验证、POC 编写)
- `requests` - 最常用 HTTP 库,漏洞验证、接口测试、POC/EXP 必备 `bash pip install requests `
- `httpx` - 比 requests 更强大,支持 HTTP/2、异步、代理 `bash pip install httpx `
- `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 个:
- `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)
更多推荐


所有评论(0)