环境准备
-
使用scapy工具发包
-
攻击主机IP: 192.168.133.66
-
僵尸主机IP: 192.168.133.67 ,僵尸主机不主动与任何机器通信,且满足IP数据包ID自增**
注:用nmap 判断主机是否满足僵尸主机条件,一般早期的windwos XP系统IP数据包ID自增 -
目标主机IP: 192.168.133.68
僵尸扫描
- 第一步:攻击主机向僵尸主机SYN/ACK数据包
rz1=sr1(IP(dst="192.168.133.67")/TCP(dport=22,flags="SA"))
其中,
rz1 表示僵尸主机返回数据包;
dst 表示僵尸主机IP;
dport 表示端口;
flags=“SA” 表示发送SYN/ACK数据包;
rz1.display()
查看IPID,IPID的值为id,等于0
- 第二步:攻击主机修改IP包头的SRC字段为僵尸主机的IP,伪造成僵尸主机给目标主机发送SYN请求
rt=sr1(IP(src="192.168.133.67",dst="192.168.133.68")/TCP(dport=22),timeout=1)
其中,
rz1 表示目标主机返回数据包;
src表示僵尸主机IP;
dst 表示目标主机IP;
dport 表示端口;
timeout 表示超时时间;
rt.display()
查看src和dst
- 第三步:攻击主机向僵尸主机SYN/ACK数据包
rz2=sr1(IP(dst="192.168.133.67")/TCP(dport=22,flags="SA"))
其中,
rz2 表示僵尸主机返回数据包;
dst 表示僵尸主机IP;
dport 表示端口;
flags=“SA” 表示发送SYN/ACK数据包;
rz2.display()
查看IPID,IPID的值为id,等于0
本实验使用的 192.168.133.67
主机不满足僵尸主机的条件吗,IP数据包没有自增
在满足僵尸主机条件时,当第一步得到的IPID+2=第三步得到的IPID,即可判断目标主机端口开放;当第一步得到的IPID+1=第三步得到的IPID,即可判断目标主机端口关闭