Dapp区块链 | wireshark抓包

Posted 111辄

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dapp区块链 | wireshark抓包相关的知识,希望对你有一定的参考价值。

需求

抓取并过滤dapp流量包

方法

软件:wireshark
环境:Dapp连本地Ganache端口,用Metamask连测试网络Ropsten,根据ip地址 (localhost) 和端口 (7545) 过滤流量

步骤

安装wireshark

官网无脑安装

安装npcap

wireshark不能监听本地回环127.0.0.1,安装npcap 可以解决这个问题

或者使用 RawCap 也OK

双击"Adapter for loopback traffic capture"即可抓 127.0.0.1 的包

我想显示port列

使用显示过滤:ip.addr == 127.0.0.1 and tcp.srcport == 7545

文件 -> 到处特定分组(以默认格式pcapng格式保存即可)

参考csdn五个wireshark课程:
wireshark抓包实战
Wireshark抓包入门到精通实战教程
2019版抓包分析-Wireshaek从入门到精通【基础班】
2019版抓包分析-Wireshark从入门到精通【进阶版】
网络技术从零开始学Wireshark抓包-协议分析与故障排除教程【完整版】

ps:

不建议详细看和记录每条指令,跳着看看大概wireshark有什么功能,如捕获方式,如显示过滤和捕获过滤就OK。不要一次性记细节,像哪个选项实现什么功能、哪条命令有什么作用等不需要记。只要有个模糊的印象,随用随查就行。

我有个习惯,遇到新领域会先查所有有关的博客、视频、官方文档等教程,
这些视频是找到所有相关的,不是推荐。

笔记

为了快一些,没有记详细笔记。这个软件本身也很好上手。
一些笔记太乱也放在草稿箱里补贴出来了,这些是整理的一部分。

计算机网络

抓取数据包涉及到 计算机网络 这门课,我又回顾了一些这门课的概念:

  • 计算机网络:通过传输线路把终端节点(PC)和网络节点(路由器、交换机)连接起来,实现资源共享

  • 协议:不同层通讯的语言 (RFC规范),对网络故障分析就是分析协议是否正常

  • 数据:物理层叫比特流,数据链路层叫帧,网络层叫报

  • 不同层协议:

  • 一个讲计算机网络挺好的专栏

  • MAC地址和IP地址的区别
    MAC地址又被称为物理地址、硬件地址;网络层加IP首部,数据链路层加MAC首部

  • 数据链路层

  • 网络适配器(网卡)

  • 抓取的是网卡上的流量,wireshark的作用是将 网卡上的 机器语言0/1 组装成我们能看懂的样子

  • 交换机/路由器等无法安装wireshark的器件抓包:

    嗅探器抓包方法:
    ① PC中网卡混杂模式
    ② 利用集线器进行嗅探抓取
    ③ 交换机sw moniter技术
    ④ 路由器 Netflow技术、高端自带wireshark

  • 关于IP数据报:
    计算机网络第24讲-IPv4数据报的首部(计算机网络简明教程及仿真实验)
    这个视频讲得很好

    全世界最常使用的网络是互联网,互联网采用TCP/IP协议发送数据

    TCP/IP协议将 网络层 -> 网际层 因为IP协议又被称为网际协议
    网际层中加入的数据首部即为IP首部
    为了仅在网际层就可以互联各种不同种类的网络,将下两层的数据链路层和物理层封装为网络接口层
    用户的数据都被封装进IP数据报,

  • IPv4(最常用)数据格式:

  • 域名

  • 端口:标识主机多个进程中的某一个进程,将数据包特别地传给它

  • URL ip地址 域名 域名解析DNS hosts

  • FTP:文件传输协议

  • Telnet:远程登录协议

  • https就相当于对http协议(应用层)进行了加密保护,更安全

  • 关于私网和公网:
    公网IP全世界唯一,一个网络设备一个
    私网IP是由路由器分配给内部使用的IP地址,私网内的所有用户都通过一个公网IP上网
    私网的IP地址每个人都不一样,Internet上的用户无法直接访问私网和私网用户
    例子,公网IP显示了我在整个互联网上的地址,相当于小区地址;
    私网IP显示了我在局域网中的地址,相当于小区内的几栋几楼几号房子

  • cmd命令
    ncpa.cpl :查看当前网卡配置
    netstat -ab :查看监听端口及监听它的程序

    如第一行,135端口在被svchost.exe这个端口监听
    所以关于135端口,可以找svchost.exe程序解析

  • OSI协议 vs TCP/IP协议

  • 数据层的封装与解封装伴随在数据传输的整个过程

  • 包头封装方式:Ethernet IEEE802-3

wireshark

  • 目前流行的抓包软件为 tcpdump OmniPeek Wireshark
    其中,tcpdump 为 命令行程序,后二者拥有图形化界面

  • 数据包嗅探器(即抓包)工作原理:
    ① 收集(收集原始的二进制数)
    ② 转换(将收集的二进制数转换成可读形式)
    ③ 分析(对捕获和转换后的数据进行真正的深入分析)

  • wireshark主要有两种过滤器,
    ① 捕获过滤器:只抓满足某种条件的包,如port = 80,UDP协议的包【用于明确地知道哪种包有问题时】【语法是libpca/winpca库中tcpdump中的语法 BPF语法】

    ② 显示过滤器:所有包都抓,之后可以在所有包中搜索符合某种条件的包【用于不知道哪种包有问题时,自己手动再过滤】【常用】【语法在捕获过滤器语法若干年后定义,两套语法不同】

    常用命令
    捕获过滤器 | 数据链路层第二层

    捕获过滤器 | 网际层第三层
    捕获过滤器常用命令

    显示过滤器

  • wireshark命令行抓包:

    先查看本地接口,我连的是5

    抓包:

  • 分析包时,一般看报头就行(最多80个字节),后面的data数据看了也没用
    分析网络故障控制抓数据包的长度在 80B左右 即可
    如果抓出来的数据做流量分析,就不要控制长度,全抓出来就行了

  • wireshark中有一些流量分析、protocol分析、conversion分析工具,甚至graph可视化的statistic工具,太乱了记得,也不详细,就不贴出来了。知道有这些工具,自己按需所搜就行了

以上是关于Dapp区块链 | wireshark抓包的主要内容,如果未能解决你的问题,请参考以下文章

区块链DApp从零开始学 | DApp抓包

区块链DApp从零开始学 | 超详细 DApp创建 | 发行代币token | 宠物领养

区块链报错4 | 区块链玄学 | truffle unbox下载downloading步骤失败

区块链报错3 | truffle unbox 报错 | downloading失败 | unbox failed

区块链报错 5 | Contract has not been deployed to detect network (network/artifact mismatch)

区块链报错6 | Failed to load resource: the server responded with a status of 404 (Not Found)