win | wireshark | 在win上跑lua脚本 解析数据包

前提说明:之前是在linux 系统上配置的,然后现在 在配置lua 脚本 ,然后 分析指定协议 的 数据包

其实流程也比较简单,但 逻辑需要缕清来

首先要把你 预先准备的 xxx.lua 文件放到wireshark 的安装文件中,(我就是之前装过,然后不太确定是在哪个目录 wireshark 里头有好多目录)

参考:

lua 复制代码
dofile(DATA_DIR.."xxx.lua")

接着就可以通过wireshark 打开已经抓的包(文件格式 yyy.pcap),开始愉快的解析数据啦

参考

c++ 复制代码
//BAD_REQUEST 语法错误
//NO_REQUEST 请求不完整
int parse_request_line(char *text)
{
    m_url = strpbrk(text, " \t");   //找到 第一处空格 或者 \t
    if (!m_url)
    {
        return BAD_REQUEST;
    }
    //用\0空字符来划分每一行具体信息 
    //方便后续操作 因为字符串函数都以空字符作为划分
    *m_url++ = '\0';
 
    char *method = text;
    if (strcasecmp(method, "GET") == 0)
        m_method = GET;
    else if (strcasecmp(method, "POST") == 0)
        m_method = POST;
    else
        return BAD_REQUEST;
 
    m_url += strspn(m_url, " \t");      //跳过剩余的 空格和\t   因为可能不止用一个空格和\t来分隔
    m_version = strpbrk(m_url, " \t");
    if (!m_version)
        return BAD_REQUEST;
    *m_version++ = '\0';
 
    m_version += strspn(m_version, " \t");
    //到此为止 m_url、m_version都指向对应位置的开头
 
    //仅支持HTTP//1.1
    if (strcasecmp(m_version, "HTTP/1.1") != 0)
        return BAD_REQUEST;
 
    //对请求资源前7个字符进行判断
    //这里主要是有些报文的请求资源中会带有http://,这里需要对这种情况进行单独处理
    if (strncasecmp(m_url, "http://", 7) == 0)
    {
        m_url += 7;
        m_url = strchr(m_url, '/');
    }
    //同样增加https情况
    if (strncasecmp(m_url, "https://", 8) == 0)
    {
        m_url += 8;
        m_url = strchr(m_url, '/');
    }
    //一般的不会带有上述两种符号,直接是单独的/或/后面带访问资源
    if (!m_url || m_url[0] != '/')
        return BAD_REQUEST;
 
    //当url为/时,显示判断界面
    if (strlen(m_url) == 1)
        strcat(m_url, "judge.html");
		
    return NO_REQUEST;
}
相关推荐
炸薯条!4 小时前
博客系统测试报告
开发语言·lua
BuHuaX2 天前
Lua 与 ToLua:运行机制及热更新原理
开发语言·unity·junit·c#·lua
海棠Flower未眠2 天前
下单请求处理流程:商品维度分布式锁与 Redis 预扣库存
redis·分布式·junit
努力努力再努力wz2 天前
【Lua 入门系列】模块与包(一):从多文件组织到require 运行时加载机制、模块缓存、预加载搜索与 Lua 文件搜索机制
开发语言·junit·lua
UWA2 天前
多人战斗中Lua持续高耗时,是瞬时峰值还是高频调用在作祟
性能优化·lua·游戏开发
笔绘丹心3 天前
测试工程师的 BLE 抓包实战:从开关到 Wireshark 逐帧解读(红米/小米避坑版)
wireshark·抓包·ble
努力努力再努力wz3 天前
【Lua 入门系列】从执行模型到事件驱动:一文理解 Lua 有栈协程、挂起恢复与协作式调度
开发语言·lua
努力努力再努力wz3 天前
【Lua 入门系列】Lua数据结构:从 Table 出发,一文串联数组、链表、栈、队列、集合、映射与树的实现原理
数据结构·链表·lua
CarIise4 天前
Spring 框架:多配置文件、开发方式与 IOC 注解
junit·maven·jar
努力努力再努力wz4 天前
【Lua入门系列】从 Table 到元表与元方法:一文理解 Lua 的行为扩展机制
开发语言·junit·lua