Scapy_库_UDP_Scanner

Scapy_库_UDP_Scanner

HZVTC网络技术协会

  • UDP协议全称是用户数据报协议,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议
    1. 在OSI模型中,在第四层——传输层,处于IP协议的上一层。
    2. UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。
    3. UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。

代码

from scapy.all import (
     IP,          //IP模块
     UDP,        //UDP模块
     sr1         //三层数据包发送模块
)
import sys        //导入系统模块
if len(sys.argv) != 2:     //如果输入的参数不等于2,输出使用方法
   print("The Usage - ./python UCP_ping.py [nettwork]")
   print("Example python UCP_ping.py 192.168.100.0")
   print("This only suppots /24 mask")
   exit()
network = str(sys.argv[1]).split(".")     //将输入的第二参数以”.”进行分割
address=network[0]+"."+network[1]+"."+network[2]+"."  //组合成类似于”1.1.1.”
for i in range(1,254):   //一个循环组合类似于1.1.1.1~1.1.1.254
    ip_address=address + str(i)
    ip = IP(dst=ip_address)
    udp = UDP(dport=3333)    //TCP端口为3333
    rep = sr1(ip/udp,timeout=3,verbose=1)
    if rep:     //如果收到回包则输出:
       print (ip_address +"    The host is live!")

实验效果

  • 实验环境搭建:
    1. Kali:192.168.100.249
    2. Win7:10.1.1.2
    3. Route:G0/0/1 192.168.100.254 G0/0/0 10.1.1.254
      Scapy_库_UDP_Scanner_第1张图片
  • 一般来讲我们会在路由器上配置策略,使ICMP的数据包不允许通过
    Scapy_库_UDP_Scanner_第2张图片
    这里写图片描述
  • 许久都无法ping通win7,原因数据包已经被拦截
    Scapy_库_UDP_Scanner_第3张图片
  • 使用UDP_ping脚本:成功扫出主机
    Scapy_库_UDP_Scanner_第4张图片

你可能感兴趣的:(Python,Scanner)