离线流量分析

介绍

通过本地已经生成的pcap/cap文件,读取并分析数据

正文

PCAP_Parser.py

login_invalid.pcap 查找关键词 invalid ,如果有符合的数据包,把所有数据包详细打印出来。

import logging
logging.getLogger("scapy.runtime").setLevel(logging.ERROR)#清除报错
from scapy.all import *
import re

def pcap_parser(filename,keyword):
    pkts = rdpcap(filename)
    return_pkts_list = [] #返回匹配数据包的清单!
    for pkt in pkts.res:
        try:#为什么用try呢,decode有可能失败
            pkt_load = pkt.getlayer('Raw').fileds['load'].decode().strip()#提取负载内容
            re_keyword = '.*' + keyword + '.*' #形成关于关键字的正则表达式
            #如果负载内容匹配,并且源端口为23,把数据包添加到 return_pkts_list
            if re.match(re_keyword, pkt_load) and pkt.getlayer('TCP').fields['sport'] == 23:#如果该包符合正则表达式,并且TCP端口为23
                return_pkts_list.append(pkt) # 把符合内容的追加到  return_pkts_list
        except:
            pass

    return return_pkts_list #返回匹配数据包的清单

if __name__ == "__main__":
    pkts = pcap_parser("login_invalid.pcap","invalid")
    i = 1
    for pkt in pkts:
        print('=========第' + str(i) + "个包('=========")
        pkt.show()
        i += 1

login_invalid.pcap 这个文件怎么生成的,可以戳 在线流量分析

参考

参考推荐:https://www.jianshu.com/p/8eab70118fad

https://www.youtube.com/watch?v=_wb-e1edRhM

转载于:https://www.cnblogs.com/maskerk/p/10015660.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值