2017年4月26日星期三

利用nmap扫描代理

目前在开发一个爬虫,但是很多网站都会对访问做限制,最简单的解决方式就是降低爬虫的频率,然后就是使用代理来访问了,目前有不少免费代理的公布网站,但这种公开的代理,访问的人多了,速度就会受到影响,而且一般很快就会被关掉,所以有能力最好自己去扫描代理。

其实常用的端口扫描工具nmap就可以实现自动扫描代理的目的,具体命令如下:

nmap -n -sS --host_timeout 1000 -iR 100000 -T4 --script http-open-proxy  --script-args proxy.url=http://www.qq.com/,proxy.pattern=tencent -p 8080,80,8001,3128,8888,9999 -v -oG result.txt

下面是参数说明:

-n 不解析DNS,不需要解析DNS,而且因为我们需要扫描大量主机,解析DNS会对扫描速度造成较大影响
-sS 使用TCP SYN方式扫描主机,速度快,而且不易被发现
--host_timeout 1000 扫描超时时间,单位毫秒,主要是过滤太慢的主机,而且可以加快扫描速度
-iR 10000 随机挑选10000个主机扫描
-T4 指定扫描过程使用的时序(Timing),总有6个级别(0-5),级别越高,扫描速度越快,但也容易被防火墙或IDS检测并屏蔽掉,在网络通讯状况良好的情况推荐使用T4
--script http-open-proxy 使用http-open-proxy来检测主机的代理服务是否可以使用
--script-args proxy.url=http://www.qq.com/,proxy.pattern=tencent http-open-proxy接受的参数,不传默认通过google,Wikipedia,Computerhistory,国内有可能无法访问或者比较慢,所以替换成国内的网站
-p 8080,80,8001,3128,8888,9999 扫描一些参见的代理服务端口
-v 打开调试信息
-oG result.txt 将扫描结果以grepable的格式保存到文件中。