一、实验要求
本次实验主要对主机扫描和端口扫描原理的理解。使用python(scapy库)编写端口扫描程序,对目标IP(包含IP地址段)进行扫描,完成以下功能:
使用icmp协议探测主机是否开启;对本机(关闭防火墙)的开放端口和非开放端口完成半连接、ACK、FIN、Null、Xmas、windows扫描,并与nmap扫描结果进行比较。对远程(有防火墙)主机的开放端口和非开放端口完成半连接、ACK、FIN、Null、Xmas、windows扫描,并与2)进行比较,分析结果。回答问题:样例程序中“conf.L3socket=L3RawSocket”的作用是什么?
二、实验步骤及结果
(1)使用icmp协议探测主机是否开启
10.133.132.52
10.132.236.48
(2)对本机(关闭防火墙)的开放端口和非开放端口完成半连接、ACK、FIN、Null、Xmas、windows扫描,并与nmap扫描结果进行比较(2)对本机(关闭防火墙)的开放端口和非开放端口完成半连接、ACK、FIN、Null、Xmas、windows扫描,并与nmap扫描结果进行比较
1.开放端口80
半连接
ACK
FIN
Null
Xmas
-Windows
2.非开放端口1073
半连接
ACK
FIN
Null
Xmas
Windows
与Nmap比较:本实验中端口扫描需要选择方式,使用 nmap 扫描不需要选择方式
(3)对远程(有防火墙)主机的开放端口和非开放端口完成半连接、ACK、FIN、Null、Xmas、windows扫描,并与2)进行比较,分析结果
1.开放端口80
半连接
ACK
FIN
Null
Xmas
Windows
2.非开放端口443
半连接
ACK
FIN
Null
Xmas
Windows
比较:有时候可能爆出 WARNING 的警告,显示没有找到目的 MAC 地址,使用广播,可能由于防火墙的原因
(4)回答问题:样例程序中“conf.L3socket=L3RawSocket”的作用是什么?
答:scapy 不适用于本机或环回接口,这句话使其适用于本机,可以让程序无视
本机防火墙运行。