pyqb

导航

 

 

UDP端口扫描

和活动主机IP发现的思路相反,发现活动主机是根据目标主机返回的ICMP 不可达信息来判断主机是活动的,因为死的主机不会返回任何信息,而端口扫描是,如果收到ICMP 端口不可达的响应代表端口关闭。

 1、scapy UDP端口扫描:

端口关闭:收到返回的ICMP port-unreachable

端口开放:没有回包(因为没有回包的情况很多,所以会有误判)

scapy UDP端口扫描脚本demo

 

2、nmapUDP扫描

如果不加参数默认扫描常用的1000个端口

nmap -sU 192.168.0.100

扫描指定端口

nmap -sU 192.168.10.100 -p 端口号

 

TCP端口扫描

1、全连接扫描

建立全连接的扫描,容易被发现

nmap -sT 192.168.0.100 -p 1-100 ,如果不加 -p 1-100会默认扫描常用的1000个端口

dmitry -p 192.168.0.100 ,扫描常用的150个端口

nc -nv -w 1 -z 192.168.0.100 1-100

 

2、隐蔽扫描

只发SYN包,若收到SYN+ACK,则端口开放;若收到RST+ACK,端口关闭,因为不建立完整连接,应用日志不记录扫描行为

scapy隐蔽扫描命令行操作

a=sr1(IP(dst="192.168.1.134")/TCP(flags="S",dport=22),timeout=1) 

"192.168.1.134"是目标IP,flags="S"表示发的是syn包,dport指定端口,timeout=1表示限定收到回应时间在1秒以内。

 

scapy扫描脚本demo

 

nmap隐蔽扫描

nmap -sS 192.168.0.100 -p 1-100 

nmap -sS -iL iplist.txt -p 1-100

 

hping3隐蔽扫描

hping3 192.168.0.100 --scan 1-100 -S

hping3伪装ip扫描

hping3 -c 10 -S --spoof 192.168.0.140 -p ++1 192.168.0.100

-c 10发十个包,--spoof 192.168.0.140 伪装成192.168.0.140,-p ++1 表示从1号端口开始不断累加发十个包,192.168.0.100扫描的目标

但是返回的结果是发到192.168.0.140的机器上,本机上不会收到返回信息

 

3、僵尸扫描

极度隐蔽,实施条件苛刻,可伪造源地址

选择僵尸机:闲置的机器,系统的IPID是递增生成,比如win 2000、winXP、win 2003...IPID指的是IP的id头,如下:

僵尸扫描原理图示。

命令行验证僵尸扫描过程

定义僵尸机器的SYN/ACK包,目标IP是192.168.1.133,端口为445

定义伪装成僵尸机向目标机器的SYN包,定义源端口为僵尸机的IP192.168.1.133,目标主机为192.168.1.134,端口可以随意选择一个

 向僵尸机发第一个包

向目标机发一个包

向僵尸机发第二个包

查看第一个收到僵尸机的包

查看第二个收到僵尸机的包,可以看到ipid增加了2,说明端口445是开启状态

如果ipid只增加1,说明这个端口是关闭状态。

 

僵尸扫描脚本demo

 

 ipid函数用来判断是否适合作为僵尸机,连发三个包,看是否加二,如果加二说明机器空闲且满足要求适合做僵尸机,

zombiescan函数用来扫描目标机器

 

nmap僵尸扫描

僵尸机的IP192.168.1.133,目标主机为192.168.1.134

扫描一个ip是否作为一个合适的僵尸机

nmap -p445 192.168.1.133 --script-ipidseq.nse

利用僵尸机,扫描目标ip的端口。

nmap 192.168.1.134 -sI 192.168.1.133 -Pn -p 0-100

 

posted on 2017-04-05 14:12  没有音乐就退化耳朵  阅读(579)  评论(0编辑  收藏  举报