码迷,mamicode.com
首页 > 其他好文 > 详细

四层发现-UDP发现

时间:2018-07-29 11:53:05      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:try   sys   分享   关闭   address   理解   usr   手动   response   

udp发现要注意选择一个不常用的端口,如果目标ip在up时目标端口是开放状态,那么不管目标ip是否为up状态,都不会收到任何回应,只有在目标ip为down状态且目标端口为关闭状态,才会返回一个目标不可达的icmp数据包。

为了理解UDP发现的过程,还是使用scapy进行手动发包。

先定义好UDP数据包结构:

技术分享图片

定义及发送:

技术分享图片

在图中可以看到icmp端口不可达的信息,这足以证明目标ip是up状态。

同样,为了实现一个网段的自动扫描,可以使用python脚本的方式:

技术分享图片
 1 #!/usr/bin/python
 2 from scapy.all import *
 3 
 4 if len(sys.argv) != 2:
 5     print "this script need a arg"
 6     sys.exit()
 7 
 8 address = str(sys.argv[1])
 9 prefix = address.split(".")[0] + "." + address.split(".")[1] + "." + address.split(".")[2] + "."
10 
11 for addr in range(100, 254):
12     response = sr1(IP(dst = prefix + str(addr)) / UDP(dport = 45454), timeout = 0.1,verbose = 0)
13     try:
14         if int(response[IP].proto) == 1:
15             print prefix + str(addr)
16     except:
17         pass
View Code

 

四层发现-UDP发现

标签:try   sys   分享   关闭   address   理解   usr   手动   response   

原文地址:https://www.cnblogs.com/angiebare/p/9384662.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!