BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #92491同步于 2016/7/11
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

小白求问如何通过一段c/c++程序控制其他软件进行文件保存?

nemo94
2016/7/11镜像同步8 回复
现在想通过一段程序外部控制wireshark软件将其抓包数据文件导出来保存(windows下),如图所示 请问有哪些实现的思路呢?渣渣不太懂啊 求指导~~!
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
nuanyangyang机器人#1 · 2016/7/11
用libpcap试试看? 或者看看wireshark有没有脚本功能。
nemo94机器人#2 · 2016/7/11
谢谢暖神 目前只能用Wireshark这个软件配合硬件抓空口的zigbee包 ,应该支持lua,我去研究研究…… 【 在 nuanyangyang 的大作中提到: 】 : 用libpcap试试看? : : 或者看看wireshark有没有脚本功能。
nuanyangyang机器人#3 · 2016/7/12
其实wireshark后台就是用libpcap抓包的。你是不是更希望写一个独立于wireshark的程序来抓某种包呢?
nemo94机器人#4 · 2016/7/12
嗯嗯了解,实际上现在用的软件叫zboss_sniffer,我现在理解的是它调用Wireshark进行串口信道配置之后开始抓空口的包(然后Wireshark的抓包模块是基于libpcap/winpcap),再通过建立socket通信获得数据……但是这个数据是原始数据,而其实Wireshark里已经有zigbee协议可以对其解密,所以现在想自动保存Wireshark解析后的数据再用其他程序来读取分析正确性…好像绕了一个弯,Wireshark支持lua写的协议解析但不知道如何利用这个完成自动保存功能,其实我想可不可以简单点模拟对Wireshark窗口按钮的点击?但是关于软件和windows系统的信息交互或者有哪些API还不太了解,现在有Wireshark的源码,应该能够获得窗口按钮的句柄,也不知道这个思路能不能行得通…[ema1]纯小白 【 在 nuanyangyang 的大作中提到: 】 : 其实wireshark后台就是用libpcap抓包的。你是不是更希望写一个独立于wireshark的程序来抓某种包呢?
cyf333333机器人#5 · 2016/7/12
我猜。。。按键精灵可以帮你实现愿望 当然首选wireshark自带的脚本,假如有的话
nemo94机器人#6 · 2016/7/12
嗯。。。是想实现类似按键精灵这个功能,应该可以模拟键盘值使用快捷键完成自动保存功能。。但刚才试了一下太不稳定了。。 我再去看看wireshark的源码和脚本 多谢! 【 在 cyf333333 的大作中提到: 】 : 我猜。。。按键精灵可以帮你实现愿望 : 当然首选wireshark自带的脚本,假如有的话
nuanyangyang机器人#7 · 2016/7/12
http://zboss.dsr-wireless.com/projects/zboss/wiki/ZBOSS_Sniffer#For-Developers 看这里的说法,zboss-sniffer的工作原理是从串口(rs232)接收数据包,然后发送给wireshark以可视化显示。而且它的pc端图形界面也是开源的。 所以,既然源代码都有,你只要让它拿到数据包以后,不是发给wireshark,而是存到文件里,就可以了。如果是rs232的话,是不是还可以自己来收呢?会不会很简单? 【 在 nemo94 的大作中提到: 】 : 嗯嗯了解,实际上现在用的软件叫zboss_sniffer,我现在理解的是它调用Wireshark进行串口信道配置之后开始抓空口的包(然后Wireshark的抓包模块是基于libpcap/winpcap),再通过建立socket通信获得数据……但是这个数据是原始数据,而其实Wireshark里已经有zigbee协议可以对其解密,所以现在想自动保存Wireshark解析后的数据再用其他程序来读取分析正确性…好像绕了一个弯,Wireshark支持lua写的协议解析但不知道如何利用这个完成自动保存功能,其实我想可不可以简单点模拟对Wireshark窗口按钮的点击?但是关于软件和windows系统的信息交互或者有哪些API还不太了解,现在有Wireshark的源码,应该能够获得窗口按钮的句柄,也不知道这个思路能不能行得通…纯小白
nemo94机器人#8 · 2016/7/12
原来是这样,那我原来理解错了。。 应该是芯片CC2530收到空中数据后通过串口(RS232)传给电脑,然后Zboss_sniffer再获得这个数据(raw data),但是这个串口发过来的数据应用层payload是加密的。 目前在zboss_sniffer源码里也可以将这个加密的数据存起来,但因为是加密的不能进行分析对比。 为了将这个数据解密,其实我这两周一直在打算在zboss_sniffer源码里做单独的zigbee标准加密方式AES-CCM*的解密程序(导师的要求...),但程序运行的结果和wireshark中解析出来的结果不相同,目前还在寻找哪里出了错。 然后获得这个解密数据还有两种备选方案: 1.因为wireshark中可以将这个数据解密,所以想通过wireshark获得解密数据,看了wireshark的源码有点太多了。。没有找到展示出来的解密数据对应哪个函数。。自己也看不大懂,所以就想将这个数据文件自动保存后,再在主程序里读这个文件…就像帖子一开始那样想。。 2.今天又咨询了一下做CC2530开发的前辈,实际上CC2530里面的加密/解密模块通过硬件模块完成的,他在开发中只需要调用这个API就行了,然后第二种方案就是通过开发的思路,将这个抓包用的CC2530当作一个可以解密数据的设备来看,不知道是否可行,如果可以的话,这样子看起来是最理想的方案。。 (主要是小白,对于编程很胆怯。。这几天调aes-ccm程序才稍微克服了害怕的心里。。) 看来深入源码是必须的,我再研究研究,太感谢暖神啦[ema3]~~~! 【 在 nuanyangyang 的大作中提到: 】 : http://zboss.dsr-wireless.com/projects/zboss/wiki/ZBOSS_Sniffer#For-Developers : 看这里的说法,zboss-sniffer的工作原理是从串口(rs232)接收数据包,然后发送给wireshark以可视化显示。而且它的pc端图形界面也是开源的。 : 所以,既然源代码都有,你只要让它拿到数据包以后,不是发给wireshark,而是存到文件里,就可以了。如果是rs232的话,是不是还可以自己来收呢?会不会很简单? : ...................