前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >python 检查是否存在ddos攻击

python 检查是否存在ddos攻击

作者头像
用户5760343
发布于 2019-07-31 07:57:21
发布于 2019-07-31 07:57:21
3.7K00
代码可运行
举报
文章被收录于专栏:sktjsktj
运行总次数:0
代码可运行

!/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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 <pcap file> -t <thresh>") 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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.07.30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
学习网络请落实这几款小工具
在具体实现中,其实使用了ICMP协议(网际控制报文协议),它是一种基于IP协议的控制协议。那么,ICMP协议(网际控制报文协议),其报文什么样子呢?
程序员小浩
2020/12/31
7150
学习网络请落实这几款小工具
Python编写渗透工具学习笔记二 | 0x04编写程序分析流量检测ddos攻击
0x04编写程序分析流量 检测ddos攻击 1使用dpkt发现下载loic的行为 LOIC,即Low Orbit Ion Cannon低轨道离子炮,是用于压力测试的工具,通常被攻击者用来实现DDoS攻击。 我们要编写py脚本来解析http流量,并检查其中有无通过http get获取压缩过的loic二进制可执行文件的情况。为了检查http流量,我们必须先把数据包的以太网部分、ip层以及tcp层部分分解出来,注意http协议是位于tcp协议层之上的。如果http层中使用了get方法,则解析http get所要获
安恒网络空间安全讲武堂
2018/02/06
3.3K0
Python编写渗透工具学习笔记二 | 0x04编写程序分析流量检测ddos攻击
【Python】QQ查IP工具
根据wireshark分析可知,通过分析qq语音通话,发现采用的是dup协议(应该是叫这个) 检测数据包的标志020048即可 需要pypacp这个库,但是python3 的环境下,推荐pacp-ct 具体缺啥库就安装啥.... import psutil,netaddr,pcap,dpkt import time import platform import binascii if 'Windows' in platform.platform(): import winreg as w
ITJoker
2022/08/30
1.7K0
Python 运用Dpkt库解析数据包
dpkt项目是一个python模块,用于快速、简单的数据包解析,并定义了基本TCP/IP协议,使用该库可以快速解析通过各类抓包工具抓到的数据包,从而提取分析包内的参数。
微软技术分享
2022/12/28
1.9K0
21.4 Python 使用GeoIP2地图定位
GeoIP2是一种IP地址定位库,它允许开发人员根据IP地址查找有关位置和地理位置的信息。它使用MaxMind公司的IP地址数据库,并提供一个方便的Python API。GeoIP2可以用于许多不同的应用程序,例如网站分析、广告定位和身份验证。GeoIP2提供了许多不同的信息,例如国家、城市、邮政编码、经纬度、时区等等。它还可以使用IPv6地址进行查询。
微软技术分享
2023/10/24
7120
21.4 Python 使用GeoIP2地图定位
Python 实现ARP扫描与欺骗
ARP欺骗又称ARP毒化或ARP攻击,是针对以太网地址解析协议ARP的一种攻击技术,通过欺骗局域网内访问者PC的网关MAC地址,使访问者PC错以为攻击者更改后的MAC地址是网关的MAC,导致网络不通。此种攻击可让攻击者获取局域网上的数据包甚至可篡改数据包,且可让网络上特定计算机或所有计算机无法正常连线。
微软技术分享
2022/12/28
1.3K0
Python 实现ARP扫描与欺骗
python 根据ip获取地理位置
import dpkt import socket import pygeoip import optparse
用户5760343
2019/07/31
1.8K0
Python 运用GeoIP2离线数据库定位
GeoIP2 是一个强大的离线数据库,该数据库内定义并记录了目前所有主机的IP地址和所在位置,通过传入某个IP地址,即可精确的定位到主机的位置,再结合谷歌地图可完美的画出坐标。
微软技术分享
2022/12/28
1.3K0
pygeoip通过域名 IP获得地理位置
很多恶意的网络行为,会很明显的在ip位置中凸显出来,比如一个域名,经常访问的大多数人应该位置于中国大陆,可以是最近出现了美国纽约的ip与该域名的文件通信。
Tim在路上
2020/08/04
1.8K0
python dpkt解析流量包
def printPcap(pcap): # 遍历[timestamp, packet]记录的数组 for (ts, buf) in pcap: try: # 获取以太网部分数据 eth = dpkt.ethernet.Ethernet(buf) # 获取IP层数据 ip = eth.data # 把存储在inet_ntoa中的IP地址转换成一个字符串 src = socket.inet_ntoa(ip.src) dst = socket.inet_ntoa(ip.dst) print '[+] Src: ' + src + ' --> Dst: ' + dst except: pass
用户5760343
2019/07/31
2.9K0
21.3 Python 使用DPKT分析数据包
dpkt项目是一个Python模块,主要用于对网络数据包进行解析和操作。它可以处理多种协议,例如TCP、UDP、IP等,并提供了一些常用的网络操作功能,例如计算校验和、解析DNS数据包等。由于其简单易用的特性,dpkt被广泛应用于网络安全领域,例如流量分析、漏洞利用、入侵检测等。使用该库可以快速解析通过各类抓包工具抓到的数据包,从而提取分析包内的参数。
微软技术分享
2023/10/20
1K0
21.3 Python 使用DPKT分析数据包
学习网络请落实这几款小工具
在具体实现中其实使用了ICMP协议,它是一种基于IP协议的控制协议,网际控制协议,其报文什么样子呢
我是程序员小贱
2020/06/29
6960
python 根据ip生成地理位置的kml文件,在谷歌地图上展示
import dpkt import socket import pygeoip import optparse
用户5760343
2019/07/31
1.4K0
利用 Python 解析pcap文件
当面对处理网络数据包分析时,pcap文件作为一个常见的文件格式存储了网络数据包的详细记录,它常常被用来进行网络故障排查或安全分析。为了充分利用这些数据,我们需要对其进行解析并提取出有价值的信息,例如数据包类型 (如 TCP 或 UDP)、数据包的起始和结束时间等。本文旨在探讨如何使用 Python 解析pcap文件,并提供实用的解决方案和代码示例。
用户11021319
2024/07/08
8870
利用 Python 解析pcap文件
Python 开发代码片段笔记
作者编写的一些代码片段,本版本为残废删减版,没有加入多线程,也没有实现任何有价值的功能,只是一个临时记事本,记录下本人编写代码的一些思路,有价值的完整版就不发出来了,自己组织吧,代码没啥技术含量,毕竟Python这一块没怎么认真研究过,代码也都是随性瞎写的,大佬不要喷我,将就着看吧。
微软技术分享
2022/12/28
1.2K0
Python 开发代码片段笔记
使用Burpsuite代理和pypcap抓包进行抢红包的尝试
起因 年底各厂陆续举办年会,年会期间自然少不了红包,只不过我厂年底搞了个APP专门进行抢红包,国际惯例,手快有,手慢无。于是萌生了利用脚本尝试抢红包的想法。 APP分析 APP是利用弹幕的形式将红包,交流信息展现在公屏上,所有人看到红包都可以去点,手快的人将获得红包。利用burpsuite代理获取抢红包的请求。 POST /usr/urm/v1/getPacket.do HTTP/1.1 [...]{“termId”:[],”appVersion”:”1.0.0″,”termTyp”:”IOS”,”chan
FB客服
2018/02/23
1.6K0
使用Burpsuite代理和pypcap抓包进行抢红包的尝试
Python黑客编程3网络数据监听和过滤
课程的实验环境如下: • 操作系统:kali Linux 2.0 • 编程工具:Wing IDE • Python版本:2.7.9 • 涉及到的主要python模块:pypcap,dpkt,scapy,scapy-http 涉及到的几个python网络抓包和分析的模块,dpkt和scapy在kali linux 2.0 中默认已经被安装,如果你的系统中没有需要手动安装一下,下面是软件包安装的简单说明。 在kali下安装pypcap需要两步(如果在其他系统上可能还需要安装python-dev): apt-g
用户1631416
2018/04/11
4.7K0
Python黑客编程3网络数据监听和过滤
TCP经典异常问题探讨与解决
最近一年的时间里,现网碰到RST问题屡屡出现,一旦TCP连接中收到了RST包,大概率会导致连接中止或用户异常。如何正确解决RST异常是较为棘手的问题。
腾讯技术工程官方号
2024/05/08
8990
TCP经典异常问题探讨与解决
原始套接字和流量嗅探
《Python黑帽子:黑客与渗透测试编程之道》的读书笔记,会包括书中源码,并自己将其中一些改写成Python3版本。书是比较老了,anyway,还是本很好的书
红客突击队
2022/09/29
1.9K0
原始套接字和流量嗅探
SendPkt快速入门[Python]
SendPkt快速入门 作者: gashero 电邮: harry.python@gmail.com 原文地址: http://gashero.yeax.com/?p=26 项目主页: http://
py3study
2020/01/07
9140
相关推荐
学习网络请落实这几款小工具
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文