📘 网络协议模拟 · 嵌入式脚本
🎓 30章 · 动手实战
01
网络协议基础
OSI/TCP/IP
OSI七层模型与TCP/IP四层模型详解,嵌入式网络通信的特点与挑战。
02
Socket编程入门
TCP/UDP
什么是Socket?Socket类型(TCP/UDP),API函数详解 (socket, bind, listen...)。
03
TCP协议模拟
三次握手
三次握手与四次挥手状态机模拟,Python实现TCP服务器与客户端。
04
UDP协议模拟
广播/组播
UDP无连接特性,Python实现UDP广播与组播通信。
05
HTTP协议模拟
报文构造
HTTP请求与响应格式,使用Python socket库手动构造HTTP报文。
06
HTTP客户端实现
requests
使用requests与urllib库模拟GET/POST请求,处理Cookie与Session。
07
HTTP服务器实现
http.server
使用Python http.server模块构建轻量级嵌入式Web服务器。
08
MQTT协议模拟
paho-mqtt
MQTT发布/订阅模型,使用paho-mqtt库模拟物联网设备通信。
09
CoAP协议模拟
aiocoap
CoAP的RESTful风格,使用aiocoap库模拟资源受限设备通信。
10
WebSocket协议模拟
websockets
WebSocket握手与帧格式,使用websockets库实现实时双向通信。
11
DNS协议模拟
dnspython
DNS查询与响应格式,使用dnspython库模拟域名解析过程。
12
DHCP协议模拟
四步交互
DHCP四步交互 (Discover, Offer, Request, ACK),Python模拟DHCP客户端。
13
ARP协议模拟
scapy
ARP请求与响应,使用scapy库模拟局域网内的地址解析。
14
ICMP协议模拟
Ping
Ping与Traceroute原理,使用scapy库构造ICMP报文。
15
SNMP协议模拟
pysnmp
SNMP的MIB与OID,使用pysnmp库模拟网络设备管理。
16
Modbus协议模拟
pymodbus
Modbus RTU与TCP模式,使用pymodbus库模拟工业现场总线通信。
17
CAN总线协议模拟
python-can
CAN帧结构 (数据帧、远程帧、错误帧),模拟车载网络通信。
18
BLE协议模拟
bleak
BLE的GATT与GAP,使用bleak库模拟低功耗蓝牙通信。
19
ZigBee协议模拟
zigpy
ZigBee组网与数据传输,使用zigpy库模拟物联网无线传感网络。
20
LoRaWAN协议模拟
lorawan
LoRaWAN Class A/B/C模式,使用lorawan库模拟远距离低功耗通信。
21
NTP协议模拟
ntplib
NTP时间同步原理,使用ntplib库模拟网络时间协议。
22
FTP协议模拟
ftplib
FTP主动与被动模式,使用ftplib库模拟文件传输。
23
SMTP与POP3模拟
邮件
邮件发送与接收,使用smtplib与poplib库模拟邮件服务。
24
SSH协议模拟
paramiko
SSH密钥交换与加密隧道,使用paramiko库模拟远程登录。
25
TLS/SSL协议模拟
ssl
TLS握手过程,使用ssl库为Socket通信添加加密层。
26
RTP/RTCP协议模拟
pyrtp
实时音视频传输,使用pyrtp库模拟流媒体通信。
27
gRPC协议模拟
grpcio
gRPC的Protocol Buffers与HTTP/2,使用grpcio库模拟远程过程调用。
28
协议模拟框架设计
插件化
设计通用网络协议模拟框架,支持插件化协议加载与配置。
29
性能测试与优化
locust
使用locust与scapy进行协议模拟性能测试,分析吞吐量与延迟。
30
综合实战
智能家居
构建多协议模拟器,模拟智能家居场景中MQTT、CoAP、HTTP、BLE协同工作。