您当前的位置: 首页 >  区块链

111辄

暂无认证

  • 5浏览

    0关注

    91博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Dapp区块链 | wireshark抓包2

111辄 发布时间:2021-11-20 14:52:26 ,浏览量:5

这是wireshark抓包的基本用法,使用DApp的IP进行过滤: DApp区块链 | wireshark抓包

今天跟学长交流了一下,发现只使用DApp的IP进行过滤会缺少很多流量包

目录
  • DApp通讯概念图
  • 注意事项
  • 抓包方案
  • 日志

DApp通讯概念图

在用户使用DApp时候,多个主体会进行通讯,涉及到很多个ip:

在这里插入图片描述 ps: 此图可能有错误,欢迎指出。因为有部分是我根据自己理解加上去的qaq 并未画出所有交互箭头,只画了部分之前不太了解、现在方便理解抓包间IP的关系

注意事项
  1. 钱包不属于区块链,而是跟DApp差不多性质的东西,是区块链的一种应用
  2. DApp可以理解为淘宝,钱包可以理解为支付宝。每当付钱买东西时,淘宝跳转支付宝页面进行支付,而淘宝不能与用户直接交易
  3. 抓包抓不到钱包和区块链交互的数据,抓不到DApp和区块链交互的数据
  4. 基于进程抓包:如基于chrom进程抓包,会捕获到chrom浏览器访问网站产生的所有流量
  5. 点击跳转地方,产生新页面则会产生流量。文字网站流量较少,图片、视频网站流量较多
  6. 包处理成流后数目会很少,因为一条流上可能就几百个包
  7. 浏览器有不可避免噪声流量,使用极简浏览器,如GitHub上初学者写的QT浏览器demo,尽量减少广告、更新检查等流量
  8. MetaMask钱包有单独的IP地址
  9. 钱包和DApp不通讯
抓包方案

总体思想是基于浏览器进程抓包,浏览器里只开这一个网站。为了尽量减少广告等噪声影响,使用极简浏览器,即初学者用QT写的简单demo

  1. 了解QT并在GitHub上搜索简单浏览器demo(需要成品,太简单不行)
  2. 用 QPA 抓一部分包实验(快的抓3-4w,慢的抓1-2w;抓20个DApp)
  3. 补全20个可抓包的DApp
日志
  • 简单了解:QT是跨平台的图形化开发框架,可以开发浏览器、APP、控制台、服务器等
  • 下载QT参考1 (推荐下5.9以上的,安了5.14,2G好大啊) 下载QT参考2 如何下载QT的视频及简介 | 精品
  • 刚开始 简单QT浏览器demo运行失败,原因是: 其一,没有设置环境变量path。需要把所用编辑器(mingw或msvc)的include目录及tools/mingw目录加入,还要加上gcc.exe的,qtcreator的 其二,没有选择正确编译器。Qtwebenginewidgets模块好像只能由msvc编译,我查找了mingw的目录没有这个模块,如果no suitable case可能是没配编译器或者编译器不可用(在option里加上cmake的路径就行了,因为cmake不是QTCreator下载时自装的,需自己配置其所在路径) 其三,缺少main文件。main.cpp这个所有QT项目都是相同的,自己手动加上就行
  • QT项目可以通过直接双击.ui设计ui界面,而右键->转到槽跳到代码界面补全,会通过ui->等方式;或者直接写代码,最后直接显示界面
  • .pro最前面需手动加这两行,用于识别qt自带的一些模块
QT       += core gui webenginewidgets
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
  • qmake有专用控制台:
qmake -project //生成pro文件
//在pro文件中添加两行
qmake -makefile //类似生成对源文件的运行命令的脚本
mingw32-make //编译
  • 简单QT浏览器demo用不了,原因是: 其一不能保存test1.exe,只能每次运行弹出窗口 其二虽然test1.exe可以在任务管理器中看到,但是未被监测为进程,不能基于进程抓包 其三最重要的,这个简单的小程序不能打开多个窗口,即没有标签页,如果点击会弹出新窗口的按钮它就不动了,只能点击不弹出新页面的窗口

  • 有时候qtcreator点左下角绿色三角不显示exe文件了,或者单击左栏->项目后想配置编译器环境,却发现全是灰色不可用状态,这时候关掉窗口重新打开或者控制台qmake -project就正常了。感觉qtcreator多少有点不稳定,有时用它创建qt项目左栏都显示不了完整项目(没识别.h和.cpp文件),有时候双击pro文件也打不开完整的项目,再多来几下hhh就好了

  • GitHub唯一带.ui用UI写代码的,参考UI界面画法

  • QT4和5区别很大,注意所下项目的QT版本可能运行不了,这里汇总了一些4和5的区别,可参考判断是该项目是QT4还是QT5并了解区别

  • 第二节视频介绍了QT界面中UI组件的作用

  • 发现一些简单浏览器上钱包插件没法用,现在找基于Chrome内核的简单浏览器

还有一点比较有感慨,博客太过零散,大家记录的都是自己感兴趣的点、且都存在知识的断续性,当然我的博客也是这样。因为我们大多数人不是专门经营博客的,而是用它记录一些日常bug及学习日志以便日后查找。所以,在入门一个领域(笼统地阔达地讲),我觉得直接看视频,遇到一些bug再辅助博客是最好的。且动态视频能表达出的操作细节要远多于文字博客。当然,paper最好开始要看一看原文的

关注
打赏
1648114069
查看更多评论
立即登录/注册

微信扫码登录

0.2428s