1.安装虚拟机软件
VMware16下载地址:https://pan.baidu.com/s/14tM3ApjTBXTA80aqmsbUnw?pwd=adc8
激活码的话上网搜有很多
安装好的界面是这样的:

Ubuntu 下载
两种方式:
(1)官网下载
https://ubuntu.com/download
点击Ubuntu 24.04.1 LTS即可开始下载

最新版 Ubuntu 24.04.1 LTS 大小为 5.8 GB,由于官网是从国外服务器下载,速度比较慢。
这里推荐另外一种下载方式:
(2)清华镜像网站下载
点击清华大学开源软件镜像站 - Ubuntu 24.04.1页面中的ubuntu-24.04.1-desktop-amd64.iso

创建虚拟机
1、打开VMware Workstation软件,点击**"创建新的虚拟机"。(或者点击左上角“文件 -> 新建虚拟机”**)

2、进入导向窗口,选择**“自定义”**选项,进入下一步

3、点击下一步
**注:**选项 硬件兼容性(H),这里选择默认值即可,进入下一步(系统会显示与你的选择相兼容的VMware产品及版本的列表,以及你的选择所具有的限制和不可用的功能)

4、选择**“安装程序光盘映像文件”,点击输入框旁边的“浏览”**按钮。找到自己前边下载好的镜像,双击选择。
如果能看到如图标注的小字**“已检测到Ubuntu 64 位 24.04.1”,说明安装包是对的,并且可以正常安装,这时点击“下一步”**

5、设置安装信息:全名和密码随便写,用户名只能用小写字母、数字和破折号,输入完毕后,点击**“下一步”**

6、虚拟机名称为“Ubuntu24.04.1_64 位”(这个根据个人习惯,随便写),虚拟机的路径自定义,根据自己的实际情况修改,它关系到硬盘空间的大小,建议选择可用空间比较大的盘符。点击**“下一步”**

7、 设置处理器参数,选处理器数量和内核数量建议根据自身处理器情况来。这里处理器数量我设置为4,内核数量为2。点击**“下一步”**
注:每个处理器的内核数量一定要修改成 2。

8、 内存选择建议 4 GB,单击“下一步”。

9、网络类型这里,使用网络地址转换(NAT)(E)
10、SCSI 控制器类型选择推荐的**“LSI Logic”,点击“下一步”**

11、虚拟磁盘类型选择推荐的**“SCSI”,点击“下一步”**

12、选择**“新建虚拟磁盘”,点击“下一步”**

13、设置磁盘容量,并选择“将虚拟磁盘拆分成多个文件”。(这里磁盘大小看个人需求,大于等于推荐的大小)容量默认是 20 GB,这里建议弄大一点,不然空间不够,单击**“下一步”**。

14、磁盘文件命名。(自行修改或默认命名)单击**“下一步”**。

15、到这一步虚拟机已经创建完成!可以直接点击“完成”,也可以点击“自定义硬件”,修改内存大小、处理器内核等设置。

16、自定义硬件,可自行修改

注意,到这一步只是把 Ubuntu 的虚拟机创建好了,并不是把 [Ubuntu 系统](https://so.csdn.net/so/search?q=Ubuntu 系统&spm=1001.2101.3001.7020)安装了,正式的安装需要启动虚拟机。
五、Ubuntu 系统安装过程的配置
虚拟机创建好后,可以通过点击下图中两个按钮中的任意一个启动虚拟机

启动虚拟机后出现如下界面,即可进入安装界面,由于博主英文水平有限,这里博主选择了中文(简体),各位英语大神们可以选择英文。

保持默认即可,点击**“下一步”**

这里我们选择交换安装(交互安装,系统会对我们进行引导安装),相信看到博主这篇文章的朋友应该对这部分知识也不是很懂,那我们就按照引导逐步安装吧~

保持默认选项,点击**“下一步”**

注意这里,*不用勾选*,对于初学者来说,我们暂时用不到那么多内容

选择安装方式,保持默认即可,点击**“下一步”**

设置账户信息

选择地区,时区选择**“shanghai”**

确认安装信息,点击**“安装”**

接下来就是等待安装完成后
点击账号图标,输入密码,即可进入

2.安装Docker
- Ubuntu 22.04
- linux内核版本 6.8(版本不低于3.10)
更新ubuntu
$ sudo apt update $ sudo apt upgrade $ sudo apt full-upgrade
添加docker库
1 安装docker的必要依赖
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release
2 添加docker GPG密钥
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
这里选择从阿里云上docker密钥添加,官方密钥存在网络问题,添加命令会不成功,成果了之后也下载不了docker。 这里会将密钥写入ubuntu密钥环中(/etc/apt/trusted.list)
3 添加docker仓库
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
这里也是选择阿里的镜像源。
更新apt
sudo apt update
安装docker
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
验证Docker安装
使用以下命令验证Docker是否安装成功:
sudo docker --version
你应该会看到Docker的版本信息。
运行Docker Hello World容器
运行一个简单的Hello World容器以确保Docker正常工作:
sudo docker run hello-world
正常情况下,会看到Docker成功下载Hello World镜像并运行的输出

拉镜像大概率会出错,因为从官网上拉取存在网络问题(搞不懂墙这个干啥
修改“/etc/docker/daemon.json”文件(如果没有,可以手动创建),在该文件内添加如下内容:
#使用vim打开daemon.json文件
sudo vim /etc/docker/daemon.json
#向文件中添加如下内容
{
"registry-mirrors": [ "https://你的地址.mirror.swr.myhuaweicloud.com" ]
}
按“Esc”,输入:wq保存并退出。
目前各大镜像站都挂掉很多了,我目前在用的镜像站为"https://dockerpull.org"
附件:目前国内可用Docker镜像源汇总(截至2024年11月) - CoderJia
重启docker测试拉取是否成功
项目实现
相关资料
- Lua-devp2p-wireshark-dissector: GitHub链接
- PYDEVP2P: GitHub链接
- Lunatic-Python: GitHub链接
- Go-Ethereum: GitHub链接
- GETH-Docker: GitHub链接
1 安装Wireshark和特定版本的LUA
linux的python版本要为3.10
sudo apt-get update && sudo apt-get upgrade sudo apt-get install lua5.2 liblua5.2-dev wireshark python3.10
2 更改权限并复制Lunatic Python LUA ⇔ Python桥接二进制文件
python.so为文章最开始编译得来的
sudo chmod +x python.so cp python.so /usr/local/lib/lua/5.2/
关于python.so是从哪来的:
python在linux编译后的文件为.so这个由编译Lunatic-Python得到 不会编译的可以找我要我编译好的(
link python.so, https://short-link.me/OIk7, https://pic3.zhimg.com/80/v2-58b297e0356a934ce8595de873e5b70e_720w.webp
要自己编译的话见项目文档Lunatic-Python
link python.so, https://github.com/jmkemp20/lunatic-python, https://pic1.zhimg.com/80/v2-593dd0a3b84d023b3827b97e81e0242a_720w.webp
3 克隆LUA解码器和PYDEVP2P项目
git clone https://github.com/jmkemp20/lua-devp2p-wireshark-dissector.git git clone https://github.com/jmkemp20/pydevp2p.git
4 安装PYDEVP2P PIP包
cd pydevp2p pip install -e . sudo pip install -e .
5 创建Wireshark插件目录(本地用户和root)
mkdir -p ~/.local/lib/wireshark/plugins sudo mkdir -p /usr/local/lib/wireshark/plugins
6 符号链接或复制.lua解码器文件到Wireshark插件目录
ln -s <location of cloned dissector>/rlpx.lua ~/.local/lib/wireshark/plugins/rlpx.lua ln -s <location of cloned dissector>/discovery.lua ~/.local/lib/wireshark/plugins/discovery.lua sudo ln -s <location of cloned dissector>/rlpx.lua /usr/local/lib/wireshark/plugins/rlpx.lua sudo ln -s <location of cloned dissector>/discovery.lua /usr/local/lib/wireshark/plugins/discovery.lua
其实可以直接复制这些.lua文件到wireshark插件目录下
7 Live GETH Docker Startup
Step 1) 确保Docker和Docker Compose已安装并正在运行
检查Docker版本:
docker --version

检查Docker Compose版本:
docker-compose --version

Step 2) 克隆GETH-Docker存储库
git clone https://github.com/jmkemp20/geth-docker.git cd geth-docker
Step 3) 构建自定义docker镜像
./build-dockers.sh
在这一步会遇到go语言依赖无法拉取的情况
解决方法是在dockerfile.manual的第10行中添加go代理如下:

Step 4) 启动路由器容器
docker-compose up -d bridge-router
Step 5) 打开Wireshark并连接到网络接口
sudo wireshark

会有几个br网桥,进入10.1.X.X网络
Step 6) 依次启动每个GETH节点/客户端容器
docker-compose up -d geth-ubuntu-bootnode docker-compose up -d geth-client-1 docker-compose up -d geth-client-2 docker-compose up -d geth-client-3
运行结果如下:

开始捕获rlpx和devP2P网络
link 本文档历史版本, https://zhongye1.github.io/posts/cc887582.html, https://pic1.zhimg.com/80/v2-593dd0a3b84d023b3827b97e81e0242a_720w.webp
er>