近几天帮女朋友搭建一个Tamarin工具,遇到了很多问题,在debug的过程中也学到了不少,这里简单记录一下遇到了哪些问题以及相应的解决方法
-
下载并安装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(打开的文件过多)解决方法
-
-
使用Tamarin
- tamarin是干嘛的我也不懂,在csdn上查怎么使用的过程中,误在
/etc/profile
文件添加了环境变量,后面重启后发现一直循环登录,后面发现这个文件不能随便改动。 - 对应参考博文:
1.Ubuntu修改vim /etc/profile环境变量后导致开机不能登录!
- tamarin是干嘛的我也不懂,在csdn上查怎么使用的过程中,误在
-
将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)和外网访问隐私数据库的示例
- 装完之后女朋友神奇发问,这个交互页面在虚拟机中页面实在是太小了,要是能在主机中访问就好了,我一想有道理,遂在网上一边查一边造,大多数人给的解决方案是,将虚拟机的相应服务端口(这里是3001)映射到主机的任意端口(x),然后主机通过访问