使用scapy做扫描器的一些技巧

有些时候nmap的扫描很嘈杂会触发主机或者网络的IPS警报。那么在进行扫描的时候一个可行的选项是使用ARP Ping。下面让我们来看下在一个C段下使用命令nmap -PR 192.168.0.0/24进行ARP Ping扫描的时的数据包分布情况。

使用scapy做扫描器的一些技巧

没有很多ARP的数据包,对吧?当namp进行端口扫描时也是这样。如果我们想进行静默扫描,我们可以利用默认网关的一些功能,每时每刻向所有ARP表中所有存活的主机发送ARP请求。下面我们来看个例子:

使用scapy做扫描器的一些技巧

同样的,我们可以使用scapy发送相同的数据包,代码如下:

使用scapy做扫描器的一些技巧

我们当前网络上总共有6个存活主机,但是只收到了2个应答,哪里出错了?原来我们发送的不是一个完整的ARP数据包。为了模仿网关发出的ARP数据包,我们先来回顾下ARP数据包头部结构:

使用scapy做扫描器的一些技巧

我们仅仅只设置了目标地址而没有设置其他所有的字段。那么我们需要设置哪些字段呢?

1.opcode:置为1(请求包)

2.hardware type:置为1(以太网)

3.protocol type:置为0x0800(IP)

下面我们再来重新试下:

使用scapy做扫描器的一些技巧

这种扫描还是相对比较安静的,我们来看下数据包分布:

使用scapy做扫描器的一些技巧

Scapy还是相当强大的,如果你在渗透测试中有些特殊需要的功能,都可以像这里一样使用相关库自己动手写一个小工具。


作者:xiaix

来源:51CTO

上一篇:DNGuard 加密保护的一个程序集sample


下一篇:mysql下sql语句 update 字段=字段+字符串