python抓包教程和异常包分析,构建故障分析平台采用python实现抓包分析...

python抓包教程和异常包分析,构建故障分析平台采用python实现抓包分析...

2023年7月23日发(作者:)

python抓包教程和异常包分析,构建故障分析平台采⽤python实现抓包分析数据包前⾔:同事今天和我说,他现在的任务在做⼀个头疼的问题,说时尚了点,就是⽤⾃动化解脱⼼碎的运维杂事,他这边刚⼊职,貌似是带领⼀帮⼩弟解决别⼈搞不定的问题,但是有些业务部够单纯,把事直接抛给我同事这边。。。 很⽆敌吧。所以计划做⼀个⾃动化平台,可以去问题端去抓数据,然后分析数据包,⼊库,邮件通知。 这个是⾃动化完成的。我这⾥就说下,我的解决思路和开发思路:⼯具:pcap dpkt saltsatck mysql tornado tcpdumppcap 是⽤来抓包dpkt 是⽤来解析数据包的celery 异步任务实现两⼤功能,⽤户他⾃⼰抓包,然后上传到页⾯上,然后我后端解析后,返回结果。⽤户在平台上提交问题服务器的ip,并选定测试类型,我这⾥会到服务端跑⽤python的pcap抓包并分析结果,把结果上报到平台。更多内容,请关注下我的个⼈博客,关于⾃动抓包分析,以前和同事做过处理dns攻击的,⽅案流程和第三⽅的⼯具和我上述是⼀样的。遇到攻击,会分析dns的攻击的特征,然后再⿊洞系统注射特征码禁⽌。需要注意的是,在抓数据的时候,可能会产⽣堵塞,尤其是pcap,dpkt这东西,需要在后台⾃⼰的玩。这个时候就需要⽤celery把抓包分析包的任务放在后台执⾏。 你要是觉得subprocess合理的话,也可以⽤⽤subprocess 的pipe的,但是个⼈觉得也是个办法 ,更简单的⽅法是⽤tcpdump -w 写到⼀个⽂件⾥⾯,然后⽤dpkt去解析,这样的话,也不⽤pcap去解析啦。安装是相当的简单,不管是centos和ubuntu都已经有默认的源了,我这⾥⽤的是ubuntu的开发机跑测试:apt-get install python-libpcapapt-get install libpcap-devapt-get install python-dpktpip install pypcap下⾯是抓取http数据包的写法,⼤家可以慢慢取值,慢慢分拆数据。#coding:utf-8import pcapimport dpktimport sysaaa='a'bbb='b'pc=() #注,参数可为⽹卡名,如ter('tcp port 80') #设置监听过滤器for ptime,pdata in pc: #ptime为收到时间,pdata为收到数据p=et(pdata)if .__class__.__name__=='IP':ip='%d.%d.%d.%d'%tuple(map(ord,list()))# print ipif .__class__.__name__=='TCP':if ==80:sStr1 = tr2 = 'Host: 'sStr3 = 'Connection'sStr4 = 'GET /'sStr5 = ' HTTP/1.1'nPos = (sStr3)nPosa = (sStr5)for n in range((sStr2)+6,nPos-1):aaa=sStr1[(sStr2)+6:n]for n in range((sStr4)+4,nPosa+1):bbb=sStr1[(sStr4)+4:n]ccc=aaa+bbbprint ccc⽤wireshark瞅瞅:我前两天在做lvs操作平台的时候,额外加了⼀个针对vrrp的分析数据模块,⼤家可以举⼀反三在改改!#coding:utf-8#rt pcapimport dpktimport binasciiimport structa=()ter('vrrp') # 可以是'tcp' 'udp' 'port 80'等过滤⽤的for i,j in a:tem=et(j)print ("11111%s %x",i,tem)src='%d.%d.%d.%d' % tuple(map(ord,list()))dst='%d.%d.%d.%d' % tuple(map(ord,list()))print nt nt nt nt # print int typrint srcprint dst通过获取的数据,可以得知对端的vrrp情况,⽐如tos src dst vrrp主信息 !好了,就这样了,过段时间再看看同事进⾏的如何,要是有新发现,给分享给⼤家的。

发布者:admin,转转请注明出处:http://www.yc00.com/news/1690105098a306225.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信