构建故障分析平台采用python实现抓包分析数据包

简介:

前言:

        同事今天和我说,他现在的任务在做一个头疼的问题,说时尚了点,就是用自动化解脱心碎的运维杂事,他这边刚入职,貌似是带领一帮小弟解决别人搞不定的问题,但是有些业务部够单纯,把事直接抛给我同事这边。。。 很无敌吧。


所以计划做一个自动化平台,可以去问题端去抓数据,然后分析数据包,入库,邮件通知。   这个是自动化完成的。


我这里就说下,我的解决思路和开发思路:

工具:

pcap dpkt saltsatck mysql tornado tcpdump

pcap               是用来抓包

dpkt               是用来解析数据包的

celery              异步任务


实现两大功能,用户他自己抓包,然后上传到页面上,然后我后端解析后,返回结果。

用户在平台上提交问题服务器的ip,并选定测试类型,我这里会到服务端跑用python的pcap抓包并分析结果,把结果上报到平台。


更多内容,请关注下我的个人博客,blog.xiaorui.cc


关于自动抓包分析,以前和同事做过处理dns攻击的,方案流程和第三方的工具和我上述是一样的。

遇到攻击,会分析dns的攻击的特征,然后再黑洞系统注射特征码禁止。


需要注意的是,在抓数据的时候,可能会产生堵塞,尤其是pcap,dpkt这东西,需要在后台自己的玩。这个时候就需要用celery把抓包分析包的任务放在后台执行。 你要是觉得subprocess合理的话,也可以用用subprocess 的pipe的,但是个人觉得也是个办法 ,更简单的方法是用tcpdump -w 写到一个文件里面,然后用dpkt去解析,这样的话,也不用pcap去解析啦。




安装是相当的简单,不管是centos和ubuntu都已经有默认的源了,我这里用的是ubuntu的开发机跑测试:

1
2
3
4
apt- get  install python-libpcap
apt- get  install libpcap-dev
apt- get  install python-dpkt
pip install pypcap


原文:http://rfyiamcool.blog.51cto.com/1030776/1374484

下面是抓取http数据包的写法,大家可以慢慢取值,慢慢分拆数据。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#coding:utf- 8
import  pcap
import  dpkt
import  sys
aaa= 'a'
bbb= 'b'
pc=pcap.pcap()    #注,参数可为网卡名,如eth0
pc.setfilter( 'tcp port 80' )    #设置监听过滤器
for  ptime,pdata  in  pc:    #ptime为收到时间,pdata为收到数据
     p=dpkt.ethernet.Ethernet(pdata)
     if  p.data.__class__.__name__== 'IP' :
         ip= '%d.%d.%d.%d' %tuple(map(ord,list(p.data.dst)))
#        print ip
         if  p.data.data.__class__.__name__== 'TCP' :
             if  p.data.data.dport== 80 :
                 sStr1 = p.data.data.data
                 sStr2 =  'Host: '
                 sStr3 =  'Connection'
                 sStr4 =  'GET /'
                 sStr5 =  ' HTTP/1.1'
                 nPos = sStr1.find(sStr3)
                 nPosa = sStr1.find(sStr5)
                 for  in  range(sStr1.find(sStr2)+ 6 ,nPos- 1 ):
                     aaa=sStr1[sStr1.find(sStr2)+ 6 :n]
                 for  in  range(sStr1.find(sStr4)+ 4 ,nPosa+ 1 ):
                     bbb=sStr1[sStr1.find(sStr4)+ 4 :n]
                 ccc=aaa+bbb
                 print ccc



wKiom1MgdWTAQvUhAAZy0kZJ1mU315.jpg

用wireshark瞅瞅:

wKiom1MgfnejrxTcAAV6QvLVjJk276.jpg

原文:http://rfyiamcool.blog.51cto.com/1030776/1374484

我前两天在做lvs操作平台的时候,额外加了一个针对vrrp的分析数据模块,大家可以举一反三在改改!


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#coding:utf- 8
#xiaorui.cc
#http: //rfyiamcool.blog.51cto.com/
import  pcap
import  dpkt
import  binascii
import  struct
a=pcap.pcap()
a.setfilter( 'vrrp' )   # 可以是 'tcp'  'udp'  'port 80' 等过滤用的
for  i,j  in  a:
     tem=dpkt.ethernet.Ethernet(j)
     print ( "11111%s %x" ,i,tem)
     src= '%d.%d.%d.%d'  % tuple(map(ord,list(tem.data.src)))
     dst= '%d.%d.%d.%d'  % tuple(map(ord,list(tem.data.dst)))
     print tem.data.tos
     print tem.data.sum
     print tem.data.len
     print tem.data.ttl
     print tem.data.id
#    print tem.data.data
     print tem.data.data.priority
     print src
     print dst


wKioL1MgdvjS2-R1AAbu-kg218M276.jpg


wKioL1MgfbSBvvZqAAY17azTPjc454.jpg


通过获取的数据,可以得知对端的vrrp情况,比如tos src dst vrrp主信息 !



好了,就这样了,过段时间再看看同事进行的如何,要是有新发现,给分享给大家的。





 本文转自 rfyiamcool 51CTO博客,原文链接:http://blog.51cto.com/rfyiamcool/1374484,如需转载请自行联系原作者


相关文章
|
1月前
|
存储 分布式计算 大数据
基于Python大数据的的电商用户行为分析系统
本系统基于Django、Scrapy与Hadoop技术,构建电商用户行为分析平台。通过爬取与处理海量用户数据,实现行为追踪、偏好分析与个性化推荐,助力企业提升营销精准度与用户体验,推动电商智能化发展。
|
1月前
|
数据采集 Web App开发 数据可视化
Python零基础爬取东方财富网股票行情数据指南
东方财富网数据稳定、反爬宽松,适合爬虫入门。本文详解使用Python抓取股票行情数据,涵盖请求发送、HTML解析、动态加载处理、代理IP切换及数据可视化,助你快速掌握金融数据爬取技能。
1158 1
|
1月前
|
Java 数据挖掘 数据处理
(Pandas)Python做数据处理必选框架之一!(一):介绍Pandas中的两个数据结构;刨析Series:如何访问数据;数据去重、取众数、总和、标准差、方差、平均值等;判断缺失值、获取索引...
Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。 Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于Excel表格)。 Pandas 是数据科学和分析领域中常用的工具之一,它使得用户能够轻松地从各种数据源中导入数据,并对数据进行高效的操作和分析。 Pandas 主要引入了两种新的数据结构:Series 和 DataFrame。
377 0
|
1月前
|
JSON 算法 API
Python采集淘宝商品评论API接口及JSON数据返回全程指南
Python采集淘宝商品评论API接口及JSON数据返回全程指南
|
1月前
|
JSON API 数据安全/隐私保护
Python采集淘宝拍立淘按图搜索API接口及JSON数据返回全流程指南
通过以上流程,可实现淘宝拍立淘按图搜索的完整调用链路,并获取结构化的JSON商品数据,支撑电商比价、智能推荐等业务场景。
|
1月前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的台风灾害分析及预测系统
针对台风灾害预警滞后、精度不足等问题,本研究基于Python与大数据技术,构建多源数据融合的台风预测系统。利用机器学习提升路径与强度预测准确率,结合Django框架实现动态可视化与实时预警,为防灾决策提供科学支持,显著提高应急响应效率,具有重要社会经济价值。
|
1月前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的青少年网络使用情况分析及预测系统
本研究基于Python大数据技术,构建青少年网络行为分析系统,旨在破解现有防沉迷模式下用户画像模糊、预警滞后等难题。通过整合多平台亿级数据,运用机器学习实现精准行为预测与实时干预,推动数字治理向“数据驱动”转型,为家庭、学校及政府提供科学决策支持,助力青少年健康上网。
|
Python
炫酷!纯Python开发LOL英雄信息查询平台
炫酷!纯Python开发LOL英雄信息查询平台
136 2
|
JavaScript 前端开发 关系型数据库
金融技术解决方案:用Python和Vue开发加密货币交易平台
【4月更文挑战第11天】本文介绍了如何使用Python和Vue.js构建加密货币交易平台。首先确保安装了Python、Node.js、数据库系统和Git。后端可选择Flask或Django框架,通过RESTful API处理交易。前端利用Vue.js、Vuex和Vue Router创建用户友好的界面,并用Axios与后端通信。这种架构促进团队协作,提升代码质量和平台功能。
323 0

推荐镜像

更多