问题标签 [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.

0 投票
0 回答
241 浏览

svn - 'svn+ssh10401' 挂在普通 'ssh' 工作的地方,无法转到 'protocol 2.0'

在非标准端口上通过 ssh 建立隧道,因为我必须在端口 10401(它是“svnserve”)上的远程服务器上运行 svn,所以我在关于协议 2.0 的日志行应该是之前遇到了问题:

本地框 unname:Linux localbox 3.0.0-14-generic #23-Ubuntu SMP Mon Nov 21 20:28:43 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

Remote box unname (server name changed to 'foo'): Linux foo 2.6.32.27-grsec #5 SMP Thu Dec 30 01:24:01 PST 2010 i686 unknown unknown GNU/Linux

相比之下,一个普通的 ssh 到这个服务器会给出与上面相同的日志加上这个(还有更多,这里没有粘贴),就在日志挂在上面的位置:

由于'protocol 2.0'日志紧随其后,我想知道在svn+ssh下日志中提到的兼容模式是否有问题?如果是这样,如何解决这个问题?如果不是,可能是什么原因导致此挂起?

0 投票
1 回答
1971 浏览

ssh - Cygrunsrv & autossh:一种在命令行中嵌入远程命令的方法?

我在 Windows XP 上使用 cygrunsrv 和 autossh 来创建一个服务,建立一个到远程服务器的隧道,但我也想创建另一个从远程服务器到另一台服务器的隧道。

我可以用这个命令行来实现它:

但是当我想通过 cygrunsrv 在 cygwin 中设置它以使其作为服务工作时:

它没有完全工作。该服务正在正确地创建到 ServerA 的隧道,但它没有向 ServerA 发送 autossh 命令“autossh -M 4321 serverB -N”。我试图逃避报价,但我所有的努力都没有任何区别,而且我没有看到 autossh 日志中发送的任何命令。

我认为这个问题与不是通过 cygrunsrv 创建的伪终端有关。

我想知道是否有办法修复我的 cygrunsrv 命令行以使其正常工作,还是我应该考虑采用不同的方法?

0 投票
2 回答
2621 浏览

apache - Apache2 和 SSH。都在端​​口相同的IP和端口上

我的问题可能有点令人困惑,但无论如何。我的学校打算在单独的 IP 上为学生开放 WiFi DMZ,但他们说端口 80 将是唯一开放的端口。

我想要什么?好吧,我想通过我的家庭服务器传输我的流量,该服务器在 80 上运行 Apache2,在 21 上运行 SSH。这只是一个常规设置。因为它是一台生产机器,我希望客户端能够连接到端口 80,但我想连接到端口 80 来建立隧道。问题是:如何做到这一点?

可能的解决方案:放弃从学校IP连接到服务器上运行的网站并使用IPTABLES的可能性。如果源 ip == $school_ip && 端口 == 80:重定向到端口 21。完成。但我认为必须有另一个优雅的解决方案......难道不能实际使用 HTTP 传输进行 SSH 传输吗?我的意思是创建一个名为 ssh.mydomain.tld 的主机,并使用一些 apache 模块将服务器端重定向到端口 21,但仅限于该特定主机名?我能做些什么?

Box 正在运行 Debian GNU/Linux

谢谢你的帮助...

题外话:他们认为他们会阻止任何形式的非法操作。事实上,HTTP 可能是仅次于 BitTorrent 的第二大易受攻击的协议。为什么不把它也锁起来?如果没有开放端口,那将是绝对安全的,不是吗?我个人认为阻止 POP、IMAP、Jabber 等端口没有任何好处。如果他们甚至无法打开老师发给他们的邮件,我认为他们可能会严重激怒某人。哦,有网络邮件吗?不不不!SSL/TLS 在端口 443 上运行,记得吗?我认为阻止所有流量不会有任何好处。IMO 他们应该阻止未加密的 BitTorrent 并为未分类的传输应用低优先级 QoS。

0 投票
4 回答
2614 浏览

java - 通过我的程序路由所有数据包?

我想构建一个通过我的应用程序路由所有网络流量(不仅仅是 HTTP)的应用程序。基本上,我想要的是提供给我的应用程序的所有流量(它们永远不应该达到实际目标,我的应用程序应该处理这个),然后将其转发到服务器;输入也是如此,只是颠倒了(服务器->应用程序->想要答案的程序)。是否有任何库(或类似的东西)可以使创建应用程序更容易?我正在寻找可以从 Python 或 Java 中使用的东西,但如果真的需要,我可以学习另一种语言。

0 投票
2 回答
3736 浏览

python - 在 Python 中模拟 SSH 的 SOCKS 代理隧道

我曾经使用 SSH 服务器和 putty 在 Windows 客户端和 linux 服务器之间创建 SOCKS 连接。但是,客户端和服务器之间的防火墙现在能够识别 SSH 数据包并丢弃它们。

我想知道是否可以使用 python 模拟 SSH 隧道的这种行为?关于图书馆或阅读的任何建议?

提前致谢。

0 投票
1 回答
357 浏览

java - windows的网络适配器

我想通过安装网络适配器创建一些应该集成到 Windows 中的隧道软件。我找不到任何好的方法来开始这个话题。是否有可能在java中开发这样的adpater?

这些 cisco 解决方案通过只允许浏览器运行一些 java 应用程序来设法创建隧道,因此它必须是可能的。

任何朝着正确方向的想法或指示都将受到高度赞赏。

0 投票
0 回答
2644 浏览

java - socat:如何通过 UDP 创建双向 IP 隧道

我想解决以下问题:假设我有两台计算机,A 和 B。

机器 A 从一个接口(我假设一个“tun”接口)获取所有 IP 数据包,将其发送到 Java 进程(可能会修改数据),然后使用 UDP 将其发送到机器 B。在机器 B 上,内容再次提取并发送到接口。

例如,在机器 A 上,我会键入一个ping B命令,然后 Java 进程(包括 IP 标头)将接收 ping 请求,使用 UDP 发送到机器 B,发送到接口,然后通过接口发送回复同一个隧道。我不能只使用socat,因为我想对 Java 进程中的数据做一些事情。

我尝试的是(假设在机器 A 上):

所有流量(例如 ping 请求)都发送到端口 1234 上的本地 UDP 套接字。我的 Java 进程从该端口接收,将其发送到机器 B,然后在机器上发送到本地端口 1236。似乎 tun0 接口正确收到 ping。问题是两台机器之间的数据包循环,大概是因为第二个socat命令将数据包发送到 tun0,然后第一个命令又将数据包发送回 Java 等。

你知道如何在没有这个问题的情况下通过 Java 在 UDP 中传输 IP 吗?

0 投票
2 回答
570 浏览

apache - 如何限制 mod_proxy_connect 的主机?

我想通过端口 80(由 apache 侦听)来隧道化我的 ssh。mod_proxy & mod_proxy_connect 为我提供了AllowCONNECT指令,允许我使用CONNECT host:22 HTTP/1.1连接到我的 ssh 主机。但是CONNECT后面的主机不限,有解决办法吗?

0 投票
1 回答
2048 浏览

proxy - 如何制作两层 ssh 隧道进行浏览

我知道如何制作一层隧道:

然后localhost:9898在浏览器中添加一个 sockss 代理。

但是如何制作两层隧道?假设mymachine我不能直接访问,但另一台机器machineprime可以访问并且mymachine一旦我打开就可以访问machineprime。那么如何将我的所有浏览器请求重定向machineprimemymachine外部世界呢?

0 投票
3 回答
1706 浏览

sockets - SSH:有没有办法指定一个端口监听服务器,一个端口向服务器发送数据?

我了解到 TCP 需要两个端口才能工作:一个向服务器发送数据,一个从服务器接收数据。有没有办法指定——专门针对 ssh——这两个端口?我的印象是本地隧道方法是针对传出本地端口和传入服务器端口,而不是传入本地端口。