检索流量包


如何分析流量包中有没有某些内容呢?尤其是当一个数据包比较大,内容比较杂的时候。这里介绍几种方法

科来网络分析系统

对HTTP流量分析效果较好
搜索功能强大

方式1:导出数据本地分析
image.png
然后就可以对CSV文件做进一步内容搜索了
image.png
方式2:直接使用科来网络分析系统
在科来官方教程中,科来网络分析系统还是支持模糊搜索的,现在已经不可以了,由于搜索功能变的更强大,因此搜索的语法也就更细化。
image.png
针对最常用的URI内容检索,介绍两种检索方法:
方法1:以明文字符匹配的方式,检索uri地址中的某些字符
image.png
使用单引号包住搜索的内容,就可以看到uri中包含指定内容的所有流量:log.url.find('secret')
image.png
方式2:使用正则检索字符串
使用斜线包住搜索的内容,后面可以添加修饰符,就可以看到uri中包含指定内容的所有流量:
log.url.find(/\d\x2fsecret/i)
image.png
某些情景中,你可能需要限制请求方法、状态码:
log.url.find(/\d\x2fsecret/i) and log.method = 'GET' and log.statuscode = '404'
image.png

Brim

能快速打开数据量巨大的流量包(相对于wireshark)
简单易用的搜索功能

工具的使用参见:流量分析工具Brim
image.png

BurpSuite

针对HTTPS流量,可以看到流量明文

流量走BurpSuite,从BurpSuite中检索流量

  1. BurpSuite设置监听地址和端口

image.png

  1. 确认代理可以正常使用
dirsearch -u http://192.168.229.136/ --full-url -R 2 -x 404,403 -e php,txt --proxy=http://192.168.229.1:8080

image.png

  1. 搜索流量内容

image.png

开发脚本

更高的自定义度,能获知匹配上的数据包内容

上面的三种方式,只能以简单的方式,应对常规的web流量分析,如果要进一步分析,可以使用如下脚本,脚本会读取到数据包所有的HTTP负载内容,然后与你输入的正则内容相匹配,并给出匹配结果。

import logging

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

'''
分析pcap的mini版:
用来针对单个数据包进行分析,能够快速得知匹配上的数据包的内容
'''

filename = r'C:\Users\asuka\Desktop\test\123.pcap'  # 测试数据包的绝对路径
keyword = 'secret'  # 检查的关键字,写法为正则写法
# keyword = 'GET.*?secret\shttp'  # 检查的关键字,写法为正则写法

# 下面的代码用来把数据包中的内容输出到一个文本中
# desktop_path = os.path.join(os.path.expanduser("~"), 'Desktop')
# path_result = os.path.join(desktop_path, 'result.txt')
# a = open(path_result, 'w', encoding='utf8')

pkts = rdpcap(filename)
for pkt in pkts.res:
    try:  # decode编码实体内容的时候容易出错,使用异常处理
        pkt_load = pkt.getlayer('Raw').fields['load'].decode().strip()  # 提取负载内容,即wireshatk追踪流看到的东西
        # print(pkt_load)
        # a.write(pkt_load)   # 可以导出数据包内容便于后期分析

        re_keyword = keyword  # 使用正则过滤出数据
        if re.search(re_keyword, pkt_load, re.I):
            print('检测成功:')
            print(re.search(re_keyword, pkt_load))
            print(pkt_load + '\n')
    except:
        pass

# a.close()

image.png

Snort

更强的检测能力,更强的检测范围,但是不能看到匹配上的数据包内容

以Snort为例,借助它,你可以进一步的去检索数据包内容

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值