Browsed by
分类:采集

如何在一天内扫描整个互联网

如何在一天内扫描整个互联网

网络越来越大,我们需要找个人呀,找个服务呀,时间越来越长

小时候,我们找小伙伴们玩,一般是跑到小牛家,对话过程如果

小驴:“小牛在不在家”
如果在家
小牛:“在家,你是哪位”

小驴:”我是小驴,出来玩吧”
如果同意
小牛:“好的,我马上出来”

小驴:“好的,我在外面等你”
如果出来成功
小牛:“我们一起走吧”

这就是简单的互联网TCP协议连接的过程,是不是发现很像

如果我们还有,小兔,小猪,小鸭……上亿个小伙伴,我们的过程就如上所示,这里会产生一个问题,如果有的人反应有点慢,或人不在家,在整个过程中我们需要浪费大量的时间在等待,如果我们在一家等上二分钟,那积累的时间将是很巨量的

如果有上亿个小伙伴,我们有没有更好的算法呢,我们可以这样,跑到小牛家,大喊一声:“小牛,我是小驴,如果你在家,请Call Me – 119001”,不等小牛回答,我们就跑到,小兔,小猪,小鸭…….

如果人家在的,就会Call你,哪果人不在家,当然也有可能人家老妈在家,听到后制止你俩的联系,那就不需要再等待,效率成倍增加

OK, 使用第二种方案,我们可以在一天内扫描整个互联网255^4次方的数量的主机,这效率,是不是很惊人,当然,你要有个强大的网络,多强大,仅需并发能承受 在200万会话就行了,你要想,这得多贵的机器,SORRY,你可以自已打造 ,流量呢,大约在80Mbps足够了

是不是有点小激动了,因为很多人都能开始满足条件了

这里要感谢某网络中心的老师提供的实验环境,及强大的网络,虽然没用得上他1G的出口,但瞬时200万的会话已经让他有杀了我的冲动.

根 据以上的方案,我们是不是很激动的要开始我们的code,因为这样的程序写起来是如此的简单,因为太简单, 所以已经有人帮我们写好了,而且还优化了很多方案,那就是zmap,虽然简单,但效率真是很高,时间就是命哪!在一天内可以扫描整个互联网的某端口开放的 所有IP(其实如果支持200W并发100M带宽,二三个多小时足够 了)

当然我们可以使用NMap的-sS选项,nmap的程序写的有点….为了尊重前辈,我们不再过多评论

实验下来150W会话,大约是2分钟完成一个255^3的网络扫描,是不是很激动了

那剩下的时间,我们要在极短的时间内验证这些服务,我们以寻找代理服务器(HTTP,SOCKS4,SOCKS5)为例,扫描下来开放1080 8080 3128的服务器大约在1300W左右IP,那我得必须要极短的时间内验证

我们可以利用 curl这个高效的组件(curl支持线程安全,本身支持多线程,而且相当的稳定)

剩下的就简单说了一下要注意的地方

IP地址入数据库,因达到千万级,如果使用的是mysql需要注意整个表的架设及优化,尽量使用enum类型,IP本身就可以做为主键,搭的好,小破机上千万的查询也是瞬间的事宜。

使 用CURL的多线程模式,CURL支持多种语言,如果你是个资深的CODER,达到每小时百万级的验证也是眨眨眼的事宜,是不是更激动了,以前需要使用N 个月工作的事宜,现在一天就搞定,如果你问这服务器得多强哪,其实六七年前的老旧服务器都足够了,是不是有种在家里就能搞出个GOOGLE的激动了.

验证的网站也很重要,最好支持高数量并发的网站,比如像http://ip.qq.com,这样的大站,再说小网站也经不起这么疯狂的流量,一般很容易就先死翘翘了

如果你真的想搞,需要以下的知识,例个表

详尽的TCP/IP知识
MYSQL的优化
HTTP协议

C++(必须)

PHP(可选)
python(可选)
java(可选)

当然你也必须懂 linux 或 freebsd 下的各类操作

windows下的的各类操作(有利用你的工作效率,不要跟我一样装B还在用ee写程序,那是没办法的事)

结果可以在

https://proxy.peuland.com

上可以看到,每三小时验证一次,IP地址会不定时变更,请每三小时更新一次,数量在1000-6000之间变动,具体量看{G/F\W}封的速度了

想想不是很激动了,以前N个月才能完成的事,现在一天就能完成,而且一台普通台式机做服务器都能搞的定

采集演示(查找并替换内容) – [webgrabber]插件 – wordpress

采集演示(查找并替换内容) – [webgrabber]插件 – wordpress

两个参数 srch repl
srch 查找对像
repl 替换内容

我们采集http://www.freewebsitetemplates.com,但由于img是使用的相对地址,显示不正常,我们需要切换掉
查找src="/images/
替换成 src="http://www.freewebsitetemplates.com/images/

演示结果

[webgrab url=’http://www.freewebsitetemplates.com’ tag=’

‘ rtag1=’

    ‘ rtag2=’

    ‘ srch1=’src=”/images/’ repl1=’src=”http://www.freewebsitetemplates.com/images/’ srch2=’href=”/preview/’ repl2=’href=”http://www.freewebsitetemplates.com/preview/’]