当前位置: 首页 > 工具软件 > Tamarin > 使用案例 >

记搭建Tamarin-prover过程中遇到的一些问题以及相应的解决方法

司寇灵均
2023-12-01

近几天帮女朋友搭建一个Tamarin工具,遇到了很多问题,在debug的过程中也学到了不少,这里简单记录一下遇到了哪些问题以及相应的解决方法

  1. 下载并安装Tamarin

    • 首先下载过程中就遇到一系列问题,女朋友电脑是装的ubuntu16.04,并且tamarin要求用homebrew下载,brew也需要换源,而且换源方式跟apt和pip还不太一样。另外brew在下载到其中一个包是总是报错链接github443错误,在网上查了很多资料都没有用,后来尝试性的在主机安装了clash,并设置虚拟机端口转发,让虚拟机也能走主机代理,再次brew install竟然可以了。

    • 安装过程中报错,看了下错误日志怀疑是gcc的问题,由于gcc真的是牵一发动全身,在得知要安装的tamarin与ubuntu版本关联不大后,遂决定抛弃16.04安装更加稳定的20.04版本,经历过漫长的下载,安装,换源后,重新安装tamarin,发现直接安装成功。

    • 对应参考博文:
      1.homebrew安装、换源
      2.解决Ubuntu 20.04无法与主机复制粘贴问题
      3.too many open files(打开的文件过多)解决方法

  2. 使用Tamarin

  3. 将tamarin的交互页面映射到主机,以方便查看

    • 装完之后女朋友神奇发问,这个交互页面在虚拟机中页面实在是太小了,要是能在主机中访问就好了,我一想有道理,遂在网上一边查一边造,大多数人给的解决方案是,将虚拟机的相应服务端口(这里是3001)映射到主机的任意端口(x),然后主机通过访问 127.0.0.1:x 即可,但是试验不成功,有尝试过关闭主机or虚拟机防火墙、更改nat为桥接模式…后来在自己的电脑的vm中起了一个django服务,发现也遇到同样的问题,但是ssh服务竟然可以访问,这就说明不是网络的问题是项目本身的问题,下载了 apache2 并启动,发现主机可以直接访问(apache2默认启动在80端口),并发现django可以把服务设为 0.0.0.0:8000 端口以便让外网访问,进一步验证了这个结论。然而Tamarin提供的只是个交互页面,不能像django这种网络服务让外网访问,后面经过搜索发现ssh工具有一个正向代理的功能,可以把服务端某端口的服务转发到主机端从而让主机端访问 ssh -L [port]:localhost:[port] user@ip,这样就可以在本地访问虚拟机的交互页面了,像jupter这种工具也可以通过这种方式操作。
    • 对应参考博文:
      1.在服务器上运行tamarin
      2.windows宿主机ssh连接vmware ubuntu虚拟机
      3.VMWare虚拟机局域网网络配置,主机访问虚拟机上的网站(端口映射)
      4.UFW防火墙
      5.SSH 命令的三种代理功能(-L/-R/-D)和外网访问隐私数据库的示例
 类似资料: