| 名称 | 长度(Byte) | 可选项 |
|---|---|---|
| MAGIC | 2 | b'DH' |
| VERSION | 1 | b'\x01' |
| DHType | 1 | b'\x01' |
DHType 类型:
'\x01' = HANDSHAKE_REQUEST
'\x02' = HANDSHAKE_REPLY
'\x03' = CONFIRM_SHARED
'\x04' = CONFIRM_CAL
| 名称 | 长度(Byte) |
|---|---|
| AUTH | 不定 |
| 名称 | 长度(BYTE) |
|---|---|
| p | DEFAULT_KEY_BYTES_LENGTH |
| g | DEFAULT_KEY_BYTES_LENGTH |
| AUTH | 不定 |
| 名称 | 长度 |
|---|---|
| ya | DEFAULT_KEY_BYTES_LENGTH |
| 名称 | 长度 |
|---|---|
| yb | DEFAULT_KEY_BYTES_LENGTH |
定义一系列常用数学函数
见method.py
见 DH.py(无需修改)
根据自身需求设定host, port, dst_addr
client.py
client = DH.DHClient(host='0.0.0.0', port=1234 ,dst_addr=('10.0.2.7', 8000))
# 10.0.2.7 替换为你的目的主机ipserver.py
# 参数 host 本地主机,通常为0.0.0.0, port 本地端口
# 一般无需修改
server = DH.DHServer(host='0.0.0.0', port=8000)将完整code文件夹移动至HostA 与 Server2上
先在Server2上运行
python3 server.py
后在HostA上运行
python3 client.py
结果示意图
Server2上:
HostA上:
HostA,Server2无需修改
将code 文件夹完整移动至HostM上
HostM实验步骤
- 根据实际ip, mac地址修改arp_poisoning_mitm.py 内容
- 根据实际ip, mac地址修改mitm_attack_modify.py 内容
- 在HostM上
运行arp_poisoning_mitm.py
python arp_poisoning_mitm.py关闭IP转发
echo 0 >/proc/sys/net/ipv4/ip_forward
运行mitm_attack_modify.py
python3 mitm_attack_modify.py
先在Server2上运行
python3 server.py
后在HostA上运行
python3 client.py
结果示意图:
HostA:
Server2:
HostM:






