1

我试图找到一种telnet://A.B.C.D:xxx直接通过 MobaXterm 打开 EVE-NG 链接的方法(实际上,Putty 和 SecureCRT 在我的机器上工作正常)。

但是当我安装该软件时,我什至在默认应用程序窗口中看不到该选项(按协议选择默认应用程序,Windows 10)。因此,像 SecureCRT 一样,我创建了一个如下所示的 .reg 文件,

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Classes\MobaXterm.telnet]
@="telnet"

[HKEY_CURRENT_USER\SOFTWARE\Classes\MobaXterm.telnet\DefaultIcon]
@="C:\\Program Files (x86)\\Mobatek\\MobaXterm\\MobaXterm.exe, 0"

[HKEY_CURRENT_USER\SOFTWARE\Classes\MobaXterm.telnet\shell]

[HKEY_CURRENT_USER\SOFTWARE\Classes\MobaXterm.telnet\shell\open]

[HKEY_CURRENT_USER\SOFTWARE\Classes\MobaXterm.telnet\shell\open\command]
@="\"C:\\Program Files (x86)\\Mobatek\\MobaXterm\\MobaXterm.exe\" /T %1"

[HKEY_CURRENT_USER\SOFTWARE\MobaXterm]

[HKEY_CURRENT_USER\SOFTWARE\MobaXterm\Capabilities]

[HKEY_CURRENT_USER\SOFTWARE\MobaXterm\Capabilities\URLAssociations]
"telnet"="MobaXterm.telnet"

[HKEY_CURRENT_USER\SOFTWARE\RegisteredApplications]
"MobaXterm"="Software\\MobaXterm\\Capabilities"

然后,我可以在 Default Apps 中看到 MobaXterm 选项。更改默认程序后,点击浏览器上的EVE-NG图标即可立即调用新终端,但仍无法连接到正在运行的设备。也就是说MobaXterm可以自动弹出,但是我只能看到软件的启动界面,还是不能操作设备。

我不确定是否是因为添加到注册表项的参数不正确(如“/t、%h、%p”)。任何人都可以给我一些建议吗?

提前致谢!

4

1 回答 1

2

我对此也很感兴趣,并为此提出了解决方案。首先我分析了MobaXterm有哪些参数,在他们的官网找到:https ://blog.mobatek.net/post/mobaxterm-command-lines/

如果我们想在 MobaXterm 中打开一个新会话,我们应该使用 -newtab 参数,后跟我们要运行或连接的命令。对于 telnet,您应该使用如下命令:telnet -r {host} {port}。这里的问题是,当你在EVE-NG中点击主机时,它会调用telnet://host:port,所以我们不能直接使用它来调用MobaXterm。所以我创建了一个批处理脚本,它将拆分主机和端口并以正确的方式调用 MobaXterm。

以下是如何配置它的说明:

  1. 在 C:\Program Files\EVE-NG 中创建名为 start_mobaxterm.bat 的文件

  2. 将下一个代码粘贴到其中:

    @echo 关闭
    
     SET 输入=%1
     FOR /f "tokens=1,2,3 delims=:" %%a IN ("%input%") do SET host=%%b&SET port=%%c
    
     设置主机=%主机:~2%
     回显%主机%
     回显%端口%
    
     cd C:\Program Files (x86)\Mobatek\MobaXterm
     MobaXterm.exe -newtab "telnet -r %host% %port%"
     
  3. 创建一个名为 win10_64bit_MobaXterm.reg 的文件(或任何你喜欢的文件)

  4. 粘贴代码:

    Windows 注册表编辑器版本 5.00
    
     [HKEY_CURRENT_USER\SOFTWARE\Classes\MobaXterm.telnet]
     @="远程登录"
    
     [HKEY_CURRENT_USER\SOFTWARE\Classes\MobaXterm.telnet\DefaultIcon]
     @="C:\\Program Files (x86)\\Mobatek\\MobaXterm\\MobaXterm.exe, 0"
    
     [HKEY_CURRENT_USER\SOFTWARE\Classes\MobaXterm.telnet\shell]
    
     [HKEY_CURRENT_USER\SOFTWARE\Classes\MobaXterm.telnet\shell\open]
    
     [HKEY_CURRENT_USER\SOFTWARE\Classes\MobaXterm.telnet\shell\open\command]
     @="\"C:\\Program Files\\EVE-NG\\start_mobaxterm.bat\" %1"
    
     [HKEY_CURRENT_USER\SOFTWARE\MobaXterm]
    
     [HKEY_CURRENT_USER\SOFTWARE\MobaXterm\Capabilities]
    
     [HKEY_CURRENT_USER\SOFTWARE\MobaXterm\Capabilities\URLAssociations]
     "telnet"="MobaXterm.telnet"
    
     [HKEY_CURRENT_USER\SOFTWARE\RegisteredApplications]
     "MobaXterm"="软件\\MobaXterm\\功能"
    
     [HKEY_CURRENT_USER\SOFTWARE\Classes\telnet\shell]
    
     [HKEY_CURRENT_USER\SOFTWARE\Classes\telnet\shell\open]
    
     [HKEY_CURRENT_USER\SOFTWARE\Classes\telnet\shell\open\command]
     @="\"C:\\Program Files\\EVE-NG\\start_mobaxterm.bat\" %1"
    
     [计算机\HKEY_CLASSES_ROOT\telnet\shell\open\command]
     @="\"C:\\Program Files\\EVE-NG\\start_mobaxterm.bat\" %1"
     
  5. 重新启动计算机

现在,当您单击 EVE-NG 中的主机时,它将调用此脚本,该脚本将使用所需参数调用 MobaXterm。

PS如果重启后当你点击主机时它仍然在打开Putty,下一步:

  1. 转到 Windows“默认应用程序”
  2. 点击“按协议选择默认应用”
  3. 找到“TELNET”并选择“start_mobaxterm”
于 2020-11-12T13:43:10.180 回答