一、实验题目
本次实验主要对主机扫描和端口扫描原理的理解。使用python(scapy库)编写端口扫描程序,对目标IP(包含IP地址段)进行扫描,完成以下功能:
1)使用icmp协议探测主机是否开启;
2)对本机(关闭防火墙)的开放端口和非开放端口完成半连接、ACK、FIN、Null、Xmas、windows扫描,并与nmap扫描结果进行比较。
3)对远程(有防火墙)主机的开放端口和非开放端口完成半连接、ACK、FIN、Null、Xmas、windows扫描,并与2)进行比较,分析结果。
4)回答问题:样例程序中“conf.L3socket=L3RawSocket”的作用是什么?文章来源:https://uudwc.com/A/Oq4v9
二、过程
1)首先仔细观察demo代码,将IP地址设置为本地地址127.0.0.1,端口号设置为开放端口号1900,运行后得到结果如图:
使用icmp协议探测主机是否开启。packet=IP(dst=str(ip))/ICMP()/b’rootkit’,构造包,由于ICMP协议需要IP协议传输,所以需要先构造IP协议。/b是发送的数据;ping=sr1(packet,timeout=1,verbose=False),发送三层数据包,并仅仅只等待接收一个数据包的响应,timeout定义超时的时间,如果超出时间范围就说明该主机不存活或者其他原因没有返回数据包,verbose如果不将该参数定义为False,那么屏幕将会打印一些不相关的字符串,定义为False之后,就可以print自己想看到的字符串。
文章来源地址https://uudwc.com/A/Oq4v9