对于完整的UDP应用层请求:准确性高、耗时巨大(比TCP快)
与之前相反,响应ICMP表示端口关闭
扫描工具:Scapy UDP Scan、Nmap
Scapy UDP Scan:
端口关闭呈现ICMP port-unreachable,端口开放是没有回包,同时是与三层相同的技术。
举例:
sr1(IP(dst="1.1.1.1")/UDP(dport=53),timeout=1,verbose=1)
./udp_scan.py 1.1.1.1 100
Nmap:
基本功能有三个,一是探测一组主机是否在线;其次是扫描 主机端口,嗅探所提供的网络服务;还可以推断主机所用的操作系统 。Nmap可用于扫描仅有两个节点的LAN,直至500个节点以上的网络。Nmap 还允许用户定制扫描技巧。通常,一个简单的使用ICMP协议的ping操作可以满足一般需求;也可以深入探测UDP或者TCP端口,直至主机所 使用的操作系统;还可以将所有探测结果记录到各种格式的日志中, 供进一步分析操作。
举例:
- nmap -sU 1.1.1.1
- 默认的1000个参数
nmap 1.1.1.1 -sU --selector-tag">p 53
- nmap -sU 1.1.1.1 --selector-tag">p- //1-65535端口
- nmap -iL iplist.txt -sU --selector-tag">p 1-200
- //同样基于ICMP的不可达
列举多余的:
- 进行ping扫描,打印出对扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系统探测):
-
- nmap -operator">-sP 192.168.1.0-operator">/24
-
- 仅列出指定网络上的每台主机,不发送任何报文到目标主机:
-
- nmap -operator">-sL 192.168.1.0-operator">/24
-
- 探测目标主机开放的端口,可以指定一个以逗号分隔的端口列表(如-operator">-PS22,23,25,80):
-
- nmap -operator">-PS 192.168.1.234
-
- 使用UDP ping探测主机:
-
- nmap -operator">-PU 192.168.1.0-operator">/24
-
- 使用频率最高的扫描选项:SYN扫描,又称为半开放扫描,它不打开一个完全的TCP连接,执行得很快:
-
- nmap -operator">-sS 192.168.1.0-operator">/24
-
- 当SYN扫描不能用时,TCP Connect()扫描就是默认的TCP扫描:
-
- nmap -operator">-sT 192.168.1.0-operator">/24
-
- UDP扫描用-operator">-sU选项,UDP扫描发送空的(没有数据)UDP报头到每个目标端口:
-
- nmap -operator">-sU 192.168.1.0-operator">/24
-
- 确定目标机支持哪些IP协议 (TCP,ICMP,IGMP等):
-
- nmap -operator">-sO 192.168.1.19
-
- 探测目标主机的操作系统:
-
- nmap -operator">-O 192.168.1.19
-
- nmap -operator">-A 192.168.1.19
-
-
- 这个选项扫描主机scanme中 所有的保留TCP端口。选项-operator">-v启用细节模式。
-
- nmap -operator">-sS -operator">-O scanme.-operator">/24
1、基于连接的协议
2、三次握手:
1-SYN——>2-SYN、ACK——>3-ACK
3、隐蔽扫描 //不与目标建立完整连接,不让对方知道我们在扫描他
4、僵尸扫描 //比隐蔽扫描更加隐蔽
5、全连接扫描 //完整的三次握手,行为暴露
所有的TCP扫描方式都是基于三次握手的变化来判断目标端口状态
1、不建立完整连接
2、应用日志不记录扫描行为————隐蔽
1、极度隐蔽
2、实施条件苛刻
3、可伪造源地址 //目标与自己必须要有
4、选择僵尸机 //要有僵尸机,即:下面的要求
闲置系统 //特别闲
5、系统使用递增的IPID
0
随机
过程(扫描者、僵尸机、目标机):
端口打开状态:
一:由扫描者给僵尸机发一个SYN/ACK包(为发生三次握手),正常情况下,僵尸机返回一个RST给扫描者,收到一个IPID值
二:扫描者向目标服务器发一个SYN包(这个包是要伪造源地址的,不能透露scanner,这个包的源IP是要为造成僵尸机的IP),因为是SYN包,这个目标服务器就会向僵尸机的IP发一个SYN/ACK包,僵尸机(莫名奇妙收到一个ACK包,这个包是我们扫描目标,目标回给我们的ACK包,但是是僵尸机的IP,所以包给了僵尸机)收到后,有两个ACK包?(一个我们发的,一个目标给的),僵尸机看来这个不是正常的数据包,再返回一个RST包,因为是递增的就是IPID+1。
因为不能让IPID稳定能是被识别,僵尸机要足够空闲不可发生通信。
三:扫描者再向僵尸机发一个SYN/ACK,僵尸机而话不说直接回一个RST包,这里的RST的IPID+2了
四:如果扫描者接受到IPID+2这个RST包,那么就能判定目标的这个端口就是开放的状态。
(IPID——>IPID+1——>IPID+2)
端口关闭状态:
第一步一样;
第二步扫描者向目标发一个SYN包,端口未开,就会给僵尸机发一个RST是IPID,僵尸机不会再跟目标通信;
第三步:扫描者给僵尸机发一个SYN/ACK包,僵尸机返回一个RST给扫描者,但是这里扫描者扫收是IPID+1。(IPID——>IPID+1)
通过一个特别绕的方式隐藏自己的IP地址。——>僵尸扫描:极度隐蔽
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
加入交流群
请使用微信扫一扫!