抓包工具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
抓包工具PowerSniff-0.1的更多相关文章
- Mac下抓包工具Charles4.0下载及使用
Charles是一款运行在你自己计算机上的web代理工具,可以有效地获取http通信信息,主要用于网页的开发和调试等. 安装 以下为来自史蒂芬周的博客的Charles 4.0 Mac破解版 下载地址: ...
- 开源抓包工具PowerSniff(支持lua,c语言作为脚本实时分析)
做这个程序的意图是wireshark插件编写复杂(虽然也支持lua),而轻量级的工具如smartsniff,minisniff不支持插件化数据分析,各种工具用下来或多或少不顺手.以前写的外挂也都是手工 ...
- Jmeter实现登录bugfree、新建bug、解决bug脚本(抓包工具实现)
环境 Chrome jmeter3.1 fiddler4 win7 32位 Linux CentOs6.4 bugfree3.0.1 链接:http://pan.baidu.com/s/1gfHpbp ...
- 抓包工具fiddler
具体的可以看这个链接,后来补充了些东西,cnblog复制图片太麻烦了 http://note.youdao.com/yws/public/redirect/share?id=37f8556270b44 ...
- Android常用抓包工具之TcpDump
➠更多技术干货请戳:听云博客 做为一个测试人员,工作中经常会用到数据抓包工具来进行数据分析和验证,下面就简单介绍一下工作中常用的抓包工具. TcpDump抓包 Tcpdump是一个用于截取网络分组,并 ...
- 抓包工具charles使用教程指南
0x01 前言: Charles是一款抓包修改工具,相比起burp,charles具有界面简单直观,易于上手,数据请求控制容易,修改简单,抓取数据的开始暂停方便等等优势!下面来详细介绍下这款强大好用的 ...
- charles使用教程指南(抓包工具)
0x01 前言: Charles是一款抓包修改工具,相比起burp,charles具有界面简单直观,易于上手,数据请求控制容易,修改简单,抓取数据的开始暂停方便等等优势!下面来详细介绍下这款强大好用的 ...
- 抓包工具Fiddler的使用
Fiddler 教程 Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据. 使用Fiddler无论对开发 ...
- Fiddler手机抓包工具如何设置过滤域名?
fiddler手机抓包工具如何设置过滤域名?如题.fiddler抓包可以完成我们移动开发者的调试测试需求.所以说抓包尤其重要,但是多余的网页请求和手机的其他链接影响我们手机开发的需求.下面我教大家怎么 ...
- fiddler2抓包工具使用图文教程
fiddler2抓包工具使用图文教程 三.fiddler实用功能使用说明: 1.fiddler捕获浏览器的会话: 能支持http代理的任意程序都能被fiddler捕获到,由于fiddler的运行机制就 ...
随机推荐
- iOS开发 百度坐标点的计算
BMKMapPoint point1 = BMKMapPointForCoordinate(_userGps); BMKMapPoint point2 = BMKMapPointForCoordina ...
- js根据当前时间获取当前季度,月份,和第几周
function jidu() { var getMonthWeek = function (a, b, c) { var date = new Date(a, parseInt(b) - ...
- Python 日期格式转换
经常需要爬取网站上的时间信息,不同的网站又有不同的日期显示方式.而我需要将日期格式转化为一种特定的格式,所以为了简便和学习,记录下各种不同的日期格式转换. 日期格式化符号: %y :两位数的年份表示( ...
- cygwin编译环境小记
[gcc] 预定义宏 编译器通常会根据平台和编译选项的不同,为被编译的程序提供不同的预定义的宏, 例如WIN32 WIN64 LINUX, 例如DEBUG, RELEASE. 1. 在使用gcc/g+ ...
- Django1.9开发博客(11)- 富文本与代码高亮
TinyMCE是一个轻量级的基于浏览器的所见即所得编辑器,支持目前流行的各种浏览器,由JavaScript写成. 功能配置灵活简单(两行代码就可以将编辑器嵌入网页中),支持AJAX.另一特点是加载速度 ...
- Debian添加raw裸设备
一.检查系统是否已经启用了raw模块 root@frog:~# lsmod|grep raw 如果系统没有启用raw模块! 二. 设置系统自动启用raw root@frog:~# echo raw & ...
- Js 冒泡事件阻止
Js 冒泡事件阻止 1. 事件目标 现在,事件处理程序中的变量event保存着事件对象.而event.target属性保存着发生事件的目标元素.这个属性是DOM API中规定的,但是没有被所有浏览 ...
- Java代码性能优化总结
代码优化,一个很重要的课题.可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是, ...
- NOIP系列复习及题目集合
首先是我的酱油记了啦~: Xs的NOIP2014酱油记,持续更新中 知识点方面: noip知识点总结之--贪心 noip知识点总结之--线性筛法及其拓展 noip知识点总结之--欧几里得算法和扩展欧几 ...
- BZOJ4046 [Cerc2014] Pork barre
我们把边按权值从大到小依次加入图中 如果加到边权$V$,则当前的最小生成森林中边权$v\in[V, V']$(其中$V'$是任意值)形成的森林的边权和就是对于询问$[V, V']$的答案 由于点数不多 ...