问题标签 [tunnel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Java Ganymed ssh 隧道...如何检查隧道是否仍然打开?
我有一个使用 Ganymed 的 LocalPortForwarder 类创建的 ssh 隧道。它工作正常。问题是如何(以 Java 编程方式)检查隧道是否仍处于打开状态且处于活动状态?
作为参考,这里是创建隧道的代码片段(为简洁起见,删除了错误检查):
python - 用于 MSSQL 的 Python 客户端,具有加密连接?
我正在寻找一个用于 MSSQL 的 Python 客户端,但它支持与远程 MSSQL 服务器的加密连接。
有人可以推荐一种使用 Python 通过加密连接从 MSSQL 读取的技术吗?
java - HttpClient:如何从现有连接中获取底层套接字?
我正在使用 HttpClient 4.02 通过代理创建连接(使用 CONNECT 方法)以隧道连接到远程服务器。HttpClient 对此非常方便,但我是 API 新手,看不到如何获取Socket
隧道连接的底层。
这很好地建立了连接,但是有没有办法获得底层Socket
以便我使用自定义协议与 target.server.net 上的服务器通信?
php - PHP远程过程调用
我在 PHP 上有两台服务器需要通信,互相调用远程方法。PHP 的 XML-RPC 不是很好的解决方案,因为它很慢,而且我不能在一个请求中调用多个方法。
ssh - 通过隧道连接到网关后面的内部公司 SSH 服务器
我正在尝试执行以下操作。我有一个内部 ssh 服务器在工作(例如 internal@192.168.1.13)。此服务器位于网关 (external@gateway.work.com) 后面。
我想从我的家用机器 ssh 到 internal@internal-ssh.work.com。为此,我首先使用 ssh 登录外部网关,然后从那里登录内部机器。两个系统上的帐户名称不同。
我想知道这是否可以通过某种类型的 SSH 隧道一步完成。我尝试了一些方法来适应我在不同地方看到的内容,但不断收到错误消息。
vmware - VMWare融合NAT+主机隧道;从虚拟机访问
我无法从 vm 访问我的 OSX 主机上的端口。
我在 VMware fusion 中使用 NAT。在我的(OSX 主机)主机文件中,我将 vmnet8 的 IP 地址映射到“mac”。
在我的 vm 中,我可以使用 'ssh user@mac' 并且它按预期工作:我已登录到主机。所以,我的主机文件正在工作。
我有一条从我的 OSX 主机到工作中的 Oracle 服务器的隧道。我可以使用来自主机的隧道(localhost:6004)没问题。但是,如果我尝试使用名称“mac”而不是“localhost”,这将不起作用。结果,我也无法从 vm 访问隧道。(显然,我不能使用 vm 中的 localhost 名称)。
为什么不能使用“mac”访问隧道,而 ssh 工作正常?
security - 病毒如何通过安装在中断处理程序中绕过检测?
有人可以简单地解释一下隧道是如何工作的吗?病毒如何将自己安装在中断处理程序链中以避免扫描程序?
python - Paramiko SSH 隧道关闭问题
我正在编写一个 python 脚本,以每隔一段时间通过已建立的 ssh 隧道查询一些远程数据库。我对 paramiko 库相当熟悉,所以这是我选择的路线。我更愿意将它保存在完整的 python 中,这样我就可以使用 paramiko 来处理关键问题,以及使用 python 来启动、控制和关闭 ssh 隧道。
这里有一些关于这个主题的相关问题,但大多数问题的答案似乎都不完整。我下面的解决方案是我迄今为止找到的解决方案的组合。
现在解决问题:我可以很容易地创建第一个隧道(在一个单独的线程中)并执行我的 DB/python 工作,但是当尝试关闭隧道时,本地主机不会释放我绑定到的本地端口。下面,我在流程的每个步骤中都包含了我的来源和相关的 netstat 数据。
虽然我最终将使用 stopTunnel() 类型的方法,但我意识到代码并不完全正确,但更多的是尝试让隧道正确关闭并测试我的结果的实验。
当我第一次调用创建 DBTunnel 对象并调用 startTunnel() 时,netstat 产生以下结果:
一旦我调用了 stopTunnel(),甚至删除了 DBTunnel 对象本身……我就留下了这个连接,直到我一起退出 python,我假设的垃圾收集器会处理它:
弄清楚为什么这个打开的套接字独立于 DBConnect 对象,以及如何在我的脚本中正确关闭它,这将是一件好事。如果我在完全退出 python 之前尝试使用相同的本地端口将不同的连接绑定到不同的 IP(time_wait 不是问题),那么我会得到臭名昭著的 bind err 48 地址在使用中。提前致谢 :)
ruby - 使用 ruby 的动态 SSH 隧道
我想将此 unix 命令转换为 ruby 脚本
这是为了让我的所有网络流量都可以在 ssh 隧道中加密。
我尝试使用 net-ssh 库但没有成功。
编辑:
这是我尝试过的:
这是 Net:SSH http://net-ssh.rubyforge.org/ssh/v1/chapter-6.html#s4的文档 我认为,我应该使用 Direct Channels 而不是 Local-to-Remote。但是方法 session.forward.direct_channel 没有实现。
感谢您的回答!
tunnel - pjsip 上的 HTTP 隧道
我开发了一个 VOIP 应用程序,它使用 PJSip 通过 SIP 通道进行通信。我想要做的是创建一个 HTTP 隧道,以便系统即使在 VOIP 被阻止的区域也能正常工作。使用 PJSip 实现此目的的方法是什么,或者如果有一些外部方法,那么它如何与 PJSip 合并?