!/usr/bin/python

coding=utf-8

import dpkt

import socket

import optparse

默认设置检测不正常数据包的数量的阈值为1000

THRESH = 1000

def findDownload(pcap):

for (ts, buf) in pcap:

try:

eth = dpkt.ethernet.Ethernet(buf)

ip = eth.data

src = socket.inet_ntoa(ip.src)

# 获取TCP数据

tcp = ip.data

# 解析TCP中的上层协议HTTP的请求

http = dpkt.http.Request(tcp.data)

# 若是GET方法,且请求行中包含“.zip”和“loic”字样则判断为下载LOIC

if http.method == 'GET':

uri = http.uri.lower()

if '.zip' in uri and 'loic' in uri:

print "[!] " + src + " Downloaded LOIC."

except:

pass

def findHivemind(pcap):

for (ts, buf) in pcap:

try:

eth = dpkt.ethernet.Ethernet(buf)

ip = eth.data

src = socket.inet_ntoa(ip.src)

dst = socket.inet_ntoa(ip.dst)

tcp = ip.data

dport = tcp.dport

sport = tcp.sport

# 若目标端口为6667且含有“!lazor”指令,则确定是某个成员提交一个攻击指令

if dport == 6667:

if '!lazor' in tcp.data.lower():

print '[!] DDoS Hivemind issued by: '+src

print '[+] Target CMD: ' + tcp.data

# 若源端口为6667且含有“!lazor”指令,则确定是服务器在向HIVE中的成员发布攻击的消息

if sport == 6667:

if '!lazor' in tcp.data.lower():

print '[!] DDoS Hivemind issued to: '+src

print '[+] Target CMD: ' + tcp.data

except:

pass

def findAttack(pcap):

pktCount = {}

for (ts, buf) in pcap:

try:

eth = dpkt.ethernet.Ethernet(buf)

ip = eth.data

src = socket.inet_ntoa(ip.src)

dst = socket.inet_ntoa(ip.dst)

tcp = ip.data

dport = tcp.dport

# 累计各个src地址对目标地址80端口访问的次数

if dport == 80:

stream = src + ':' + dst

if pktCount.has_key(stream):

pktCount[stream] = pktCount[stream] + 1

else:

pktCount[stream] = 1

except:

pass

for stream in pktCount:

pktsSent = pktCount[stream]

# 若超过设置检测的阈值,则判断为进行DDoS攻击

if pktsSent > THRESH:

src = stream.split(':')[0]

dst = stream.split(':')[1]

print '[+] ' + src + ' attacked ' + dst + ' with ' + str(pktsSent) + ' pkts.'

def main():

parser = optparse.OptionParser("[*]Usage python findDDoS.py -p -t ")

parser.add_option('-p', dest='pcapFile', type='string', help='specify pcap filename')

parser.add_option('-t', dest='thresh', type='int', help='specify threshold count ')

(options, args) = parser.parse_args()

if options.pcapFile == None:

print parser.usage

exit(0)

if options.thresh != None:

THRESH = options.thresh

pcapFile = options.pcapFile

# 这里的pcap文件解析只能调用一次,注释掉另行修改

# f = open(pcapFile)

# pcap = dpkt.pcap.Reader(f)

# findDownload(pcap)

# findHivemind(pcap)

# findAttack(pcap)

with open(pcapFile, 'r') as f:

pcap = dpkt.pcap.Reader(f)

findDownload(pcap)

with open(pcapFile, 'r') as f:

pcap = dpkt.pcap.Reader(f)

findHivemind(pcap)

with open(pcapFile, 'r') as f:

pcap = dpkt.pcap.Reader(f)

findAttack(pcap)

if name == 'main':

main()

image.png

python ddos_python 检查是否存在ddos攻击相关推荐

  1. python ddos 检测系统_python 检查是否存在ddos攻击

    !/usr/bin/python coding=utf-8 import dpkt import socket import optparse 默认设置检测不正常数据包的数量的阈值为1000 THRE ...

  2. 《破坏之王—DDoS攻击与防范深度剖析》

    2019独角兽企业重金招聘Python工程师标准>>> <破坏之王-DDoS攻击与防范深度剖析> 在竞争激烈的互联网领域,总有一些组织和个人利用DDoS攻击进行破坏,从而 ...

  3. python ddos攻击_DDoS攻击工具

    DDoS攻击工具 综合性工具 综合性工具除了可以进行DDoS攻击外,还可用于其他的用途,例如:端口扫描.安全审计.防火墙等.实际上,大部分综合性工具开发的原始目的并不是用于DDoS,而是"网 ...

  4. python ddos攻击_使用Torshammer执行DDoS攻击

    用的方法很少,声称DDoS或任何类型的网络丢失都是成功的.让我们看一下执行DDoS攻击的方法之一.这种攻击非常强大,并且需要您应该知道如何在Kali Linux操作系统上操作命令的唯一技能. 首先,如 ...

  5. 如何检查CentOS服务器受到DDOS攻击

    登录到你的服务器以root用户执行下面的命令,使用它你可以检查你的服务器是在DDOS攻击与否: netstat -anp |grep 'tcp\|udp' | awk '{print $5}' | c ...

  6. python ddos攻击脚本_python版本DDOS攻击脚本

    今天为了休息下,换换脑子,于是就找到了我之前收藏的一篇python的文章,是关于ddos攻击的一个脚本,正好今天有空,就实践下了. 附上源码pyDdos.py:#!/usr/bin/env pytho ...

  7. 检查Linux服务器受到DDOS攻击

    登录到你的服务器以root用户执行下面的命令,使用它你可以检查你的服务器是在DDOS攻击与否: netstat -anp |grep 'tcp\|udp' | awk '{print $5}' | c ...

  8. python机器学习实现对基于TCP协议的DDOS攻击的流量监测器

    文章目录 一.Wireshark抓包工具使用以及数据包分析 1.数据包筛选 2.数据包搜索 3.数据包分析 二.使用python库进行流量特征提取 1.下载scapy库 2.scapy库的使用 3.c ...

  9. python模拟ddos攻击_python版DDOS攻击脚本

    本文实例为大家分享了python版DDOS攻击脚本,供大家参考,具体内容如下 于是就找到了我之前收藏的一篇python的文章,是关于ddos攻击的一个脚本,正好今天有空,就实践下了. 附上源码pyDd ...

  10. python发起ddos攻击_公司技术总监又教我个新技能, 用Python实现DDOS攻击! 分享给大家...

    总监仿佛一个无底洞一样,就好像没他不会的技能一样! DDOS攻击的就不再赘述,Server端要控制client,所以要使用argparse,我们先规定好命令格式:#-H XXX.XXX.XXX.XXX ...

最新文章

  1. android从放弃到精通第10天 勿忘初心
  2. 40)类与类之间的关系(has use is)
  3. 神经网络与机器学习 笔记—单神经元解决XOR问题
  4. YTU 1495 蛇行矩阵 YTU 1607 字符棱形YTU 1959 图案打印YTU 2016 打印金字塔
  5. 【瞎扯】 About Me
  6. 8皇后以及N皇后算法探究,回溯算法的JAVA实现,非递归,数据结构“栈”实现
  7. kali linux 中文输入法,Kali Linux安装中文输入法
  8. jzoj3360-[NOI2013模拟]苹果树【树上莫队,LCA】
  9. Django Rest Framework -解析器
  10. LeetCode MySQL 1398. 购买了产品A和产品B却没有购买产品C的顾客
  11. vs 选定内容没有属性页_从智能单品,到全屋智能:2019中国智能家居发展白皮书【附82页PPT】...
  12. Java工作笔记-使用Maven创建多模块项目
  13. 时间复杂度和空间复杂度探究
  14. 分布式链路追踪工具skywalking 介绍
  15. unity3d的uGUI基本操作
  16. 优酷进度条不能拖动_PerfDog测试腾讯视频、优酷、爱奇艺视频类小程序性能
  17. 期刊分类abcde_期刊分类
  18. csdn专用必杀技----谷歌浏览器插件
  19. 在线制作ico图标源码
  20. 格力如失去经销商支持,或将进一步落后于美的,董明珠慌了么?

热门文章

  1. android基础--PreferenceActivity
  2. 三星Samsung ML-2525W 驱动
  3. 漏洞分析C#反编译软件Reflector 11.1.0.2167(最新版)(附补丁下载)
  4. hp服务器开机进系统黑屏,开机黑屏卡住?有办法了!
  5. 信息系统项目管理师证书有什么用?
  6. 笨人学php好学吗_经典学经:笨人学数学的方法
  7. 关注的开源项目-博客搬家工具
  8. oracle考试试题及其答案,oracle考试试题及答案
  9. VS各个版本的密钥及下载地址
  10. asus官方android升级包,华硕ASUS手机平板官方刷机包raw格式解压修改工具