抓包工具PowerSniff-0.1

做这个程序的意图是wireshark插件编写复杂(虽然也支持lua),而轻量级的工具如smartsniff,minisniff不支持插件化数据分析,
各种工具用下来或多或少不顺手。以前写的外挂也都是手工+写代码的方式分析数据,过程非常痛苦。
因而诞生了这个抓包后可lua脚本分析的工具。希望对做网络数据分析的同学有帮助。

说明:
1.闭源免费。使用raw socket,lua 5.3.1,最大抓取60万数据包,和wireshark/tcpdump文件格式兼容
2.在winxp-32和win10-64测试正常
3.3rd的trace工具是mbcs做的,win10支持的不好,以后有时间移植unicode再支持
4.示例中的监测qq号测试正常
5.下载地址:http://pan.baidu.com/s/1nt1n2jR
6.技术支持qq群466507719,开发版本即时更新到群共享。欢迎测试及功能建议



程序需要调用的lua接口,参考plugin/example1.lua
(1)init: 插件初始化
(2)handle_data: 当收到一个数据包时调用这个函数,函数return "delete"也可以起到过滤作用
(3)handle_click:当单击列表数据时调用这个函数
(4)handle_double: 当双击列表数据时调用这个函数

lua中增加的可以回调的程序接口:
plugin_output_clear: 清空plugin output窗口
plugin_output: 输出到plugin output窗口
plugin_summary: 输出到listview最右边的Plugin Summary项
trace: 输出到三方工具,暂未实现
trace_raw: 输出到三方工具,暂未实现



图多杀猫
(1)程序大小只有465KB,单独一个可执行文件PowerSniff.exe也可以运行,收集的库可放到lib文件夹,插件自动从plugin文件夹扫描

(2)功能界面

(3)插件编辑,编译,执行界面

(4)演示监测qq登录号码
启动程序,菜单选择“Option -> Plugin -> qq number analyse.lua”,start抓包,当qq登录后Plugin Summary会显示qq号码

分析qq号码的脚本:

-- qq号码登录监视脚本(不支持手机号码登录,不支持webqq,只在pc上用qq2015测试通过)
-- 2015.9.14
require "base64"
require "tcp_ip"

function init()
    trace("plugin init:  ".._VERSION.."\n")
    trace("package path: "..package.path.."\n")
    trace("package path: "..package.cpath.."\n")
    --for k,v in pairs(_G) do
    --    trace(string.format("%s,%s\n", k, v))
    --end
end

-- protocol:    字符串如tcp,udp,icmp
-- data:    二进制数据
-- len_total:    总共数据长度
-- len_data:    有效数据长度(去除各种头之后的数据)
function handle_data(protocol,data,len_total,len_data)
    if 54 == len_total then
        return "delete"        -- remove handshake
    end
    src_port = tcp_ip_get_src_port(data)
    dst_port = tcp_ip_get_dst_port(data)
    -- if 8000 != src_port && 8000 != dst_port then
    if (8000 ~= dst_port) or (len_data < 100) then
        return "delete"
    end
    if 2 ~= data:byte(43) then    -- 0x2是qq udp协议magic number
        return "delete"
    end
    if 8 ~= data:byte(46) then    -- 8和37是 0x8和0x25是协议类型,表示登录
        return "delete"
    end
    if 37 ~= data:byte(47) then
        return "delete"
    end
    -- 50, 51, 52, 53字节是qq号(lua index从1开始而不是0)
    qq_number = data:byte(50) * 256 * 256 * 256 + data:byte(51) * 256 * 256 + data:byte(52) * 256 + data:byte(53)
    plugin_summary("qq_number is: " .. qq_number)
end

function handle_click(protocol,data,len_total,len_data)
end

function handle_double(protocol,data,len_total,len_data)
    handle_data(protocol,data,len_total,len_data)
end
时间: 2024-10-10 23:49:25

抓包工具PowerSniff-0.1的相关文章

Python+Requests接口测试教程(1):Fiddler抓包工具

本书涵盖内容:fiddler.http协议.json.requests+unittest+报告.bs4.数据相关(mysql/oracle/logging)等内容.刚买须知:本书是针对零基础入门接口测试和python+requests自动化的,首先本书确实写的比较基础,对基础内容也写的很详细,所以大神绕道. 为什么要先学fiddler? 学习接口测试必学http协议,如果直接先讲协议,我估计小伙伴们更懵,为了更好的理解协议,先从抓包开始.结合抓包工具讲http协议更容易学一些. 1.1 抓fir

socket和抓包工具wireshark

最近在学习Python代码中的socket和抓包工具wireshark,故又将socket等概念又学习了一遍,温故而知新: Python代码如下: server: #!/usr/bin/python # -*- coding: UTF-8 -*- # 文件名:server.py import socket # 导入 socket 模块 s = socket.socket() # 创建 socket 对象 host = socket.gethostname() # 获取本地主机名 port = 1

Fiddler抓包工具使用入门(1)

一,什么是Fiddler Fiddler是位于客户端和服务器端的HTTP代理, 它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据.设置断点.调试web应用.修改请求的数据,甚至可以修改服务器返回的数据,是 web调试的利器,也是目前最常用的http抓包工具之一 . 客户端的所有请求都要先经过Fiddler,然后转发到相应的服务器,反之,服务器端的所有响应,也都会先经过 Fiddler然后发送到客户端,基于这个原因,Fiddler支持所有可以设置http代

抓包工具

原文:抓包工具 抓包工具:顾名思义.耳熟能详.tcpdump.wireshark.sniffsmart.httpwatch(还算有点良心)... 但当其只是当为工具使用时,又贵为可惜.因工作需要,再度涉及该领域. 可随想云随风去,江河大变.某某文公司镜像工具,价比天高.某某调公司主打产品,爱理不理. 脑中闪过一句 码农何苦为难码农. 下班后闭关修炼3周,输出类似功能,自己动手丰衣足食.感谢libpcap,感谢gnu.下面把一些心得与君共享. 起步 网上有很多libpcap的起步教程,这里就不几大

Fiddler抓包工具

Python+Requests接口测试教程(1):Fiddler抓包工具 欢迎您来阅读和练手!您将会从本章的详细讲解中,获取很大的收获!开始学习吧! 目录 为什么要先学fiddler? 1.1 抓firefox上https请求 1.2 证书导出失败问题 1.3 只抓APP的请求 1.4 查看get与post请求 1.5 工具介绍(request和response) 1.6 接口测试(Composer) 1.7 get请求(url详解) 1.8 post请求(body) 1.9 打断点(bpu)

tcpdump 命令行抓包工具

为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/3898248.html 概述 tcpdump命令是Linux中的截包命令工具,强大且易于使用.tcpdump基于底层libpcap库开发,运行需要root权限. 基本使用与命令选项 例:截获主机收到和发出的所有数据包. 命令:tcpdump 说明: tcpdump截取包默认显示数据包的头部. 基础格式:时间 数据包类型 源

tcpdump抓包工具

一.概述 tcpdump是一个用于截取网络分组,并输出分组内容的工具,简单说就是数据包抓包工具.tcpdump凭借强大的功能和灵活的截取策略,使其成为Linux系统下用于网络分析和问题排查的首选工具. 二.选项 -A 以ASCII格式打印出所有分组,并将链路层的头最小化. -c 在收到指定的数量的分组后,tcpdump就会停止. -C 在将一个原始分组写入文件之前,检查文件当前的大小是否超过了参数file_size 中指定的大小.如果超过了指定大小,则关闭当前文件,然后在打开一个新的文件.参数

Mysql-porxy 读写分离与Tcpdumo抓包工具

一.mysql-proxy概念: MySQL Proxy 可以做Mysql数据库代理,基于mysql主从复制之上,能够实现读写分离.负载均衡等功能,即可以实现数据写入在主服务器,而数据查询则去往从服务器进行查询,从而大大降低主服务器的负载,对提升整个mysq集群能力有很大的作用. 下载地址:http://dev.mysql.com/downloads/mysql-proxy/ 二.配置mysql主从集群,详情见http://zhangshijie.blog.51cto.com/806066/16

Wireshark抓包工具使用教程以及常用抓包规则

Wireshark是一个非常好用的抓包工具,当我们遇到一些和网络相关的问题时,可以通过这个工具进行分析,不过要说明的是,这只是一个工具,用法是非常灵活的,所以今天讲述的内容可能无法直接帮你解决问题,但是只要你有解决问题的思路,学习用这个软件就非常有用了.Wireshark官方下载地址:http://www.wireshark.org/download.html如果记不住,可以在百度中输入Wir就可以看到百度智能匹配的关键词了,选择第一个地址进去下载即可. 简单介绍下这个软件的一些常用按钮,因为本

抓包工具Fiddler的使用

Fiddler 教程 Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据. 使用Fiddler无论对开发还是测试来说,都有很大的帮助. 阅读目录 Fiddler的基本介绍 Fiddler的工作原理 同类的其它工具 Fiddler如何捕获Firefox的会话 Firefox 中使用Fiddler插件 Fiddler如何捕获HTTPS会话 Fiddler的基本界面 Fiddler的统计视图 QuickEx