ICMP port-unreachable
python脚本:
#! /usr/bin/python
import logging
logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
from scapy.all import *
import time
import sys
if len(sys.argv) != 4:
print "Usage ./udp_scan.py [Target-IP] [First Port] [End Port]"
sys.exit()
ip = sys.argv[1]
start = int(sys.argv[2])
end = int(sys.argv[3])
for port in range(start, end):
a = sr1(IP(dst = ip)/UDP(dport = port), timeout = 5, verbose = 0)
time.sleep(1)
if a == None:
print port
else:
pass
nmap -sU 1.1.1.1 默认1000个端口,udp扫描
nmap 1.1.1.1 -sU -p 53 53端口
nmap -iL iplist.txt -sU -p 1-200
隐蔽扫描:只发送SYS包,返回ACK,SYS包则开放,应用层日志不会记录,网络层日志可能记录
僵尸扫描:极其隐蔽,条件苛刻,扫描发起方可以地址伪造,必须要有僵尸机(机器闲置,但不被控制,操作系统IPID递增,在IP包头里的ID字段,linux与windows系统的ID随机产生,早期的wndows系统是顺序产生的),有扫描发起者向僵尸机发送SYN,ACK包,TCP协议会返回RST,包的IPID等于x时,扫描者向目标服务器发送SYN包,发送时IP伪造为僵尸机,端口开放的话会向僵尸机发送SYN,ACK,僵尸机返回RST包,IPID为x+1,扫描者再向僵尸机发送SYN,ACK包,僵尸机返回RST包,IPID为x+2。如果端口未开放,返回RST包给僵尸机,扫描者再次向僵尸机发送SYN,ACK包返回RST,IPID为x+1.
SYN,ACK,flag值为18
Windows,445端口开放,防火墙会组织端口探测
隐蔽端口扫描: