标签: tunnel

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

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

python java networking tcp tunnel

5
推荐指数
1
解决办法
2579
查看次数

tun/tap 接口与物理设备通信

我不清楚tun/tap界面是如何工作的。从维基百科,我得到了这个:

操作系统通过 TUN/TAP 设备发送的数据包被传送到用户空间程序,该程序将自身附加到设备上。用户空间程序也可以将数据包传递到 TUN/TAP 设备中。在这种情况下,TUN/TAP 设备将这些数据包传送(或“注入”)到操作系统网络堆栈,从而模拟它们从外部源的接收。

现在,让我们假设我tunIP12.12.12.1创建了一个。如果这台机器上我有两个网卡,我将能够与这种沟通tun(对12.12.12.1IP来自外部机器(比方说12.12.12.2))无论什么NIC设备的第二机器连接到(假设eth0eth1) ?

换句话说,tun网卡和网卡是相互独立的,还是需要tun通过特定的网卡与网卡通信?

欢迎提供有关主题的 NB 链接!

networking tunnel

5
推荐指数
1
解决办法
4469
查看次数

iOS 9 中的数据包隧道提供程序

iOS 9 添加了 Packet Tunnel Provider 来实现自定义 VPN 协议。但是没有任何可用的信息。有没有人遇到过使用这个隧道提供者的实现?

provider tunnel packet ios9

5
推荐指数
1
解决办法
5633
查看次数

使用 SSH 隧道接受传入连接

我试图使用 SSH 隧道来完成一些事情,但我尝试在谷歌上搜索“SSH 隧道”并找到有关各种不同场景的讨论,但不是我的场景。

我正在计算机 A 上工作。我可以通过 SSH 访问计算机 B。我希望计算机 B 运行需要连接到计算机 A 上的端口 40000 的程序 X。问题是,计算机 B 应用了严格的防火墙,而我没有不想修改。我想要的是利用我的能力,轻松地从计算机 A 到计算机 B 连接 SSH,使从 B 到 A 的连接成为可能。

这就是我的设想:我在计算机 A 上运行的程序 Y,它通过 SSH 连接到计算机 B,然后在计算机 B 上侦听端口 40000 上的连接,并通过 SSH 连接将它们转发到端口 40000然后我在计算机 B 上配置程序 X 来尝试连接到计算机 B 上的端口 40000,然后它实际上连接到计算机 A 上的端口 40000。

是否有现有的程序/SSH 配方可以执行此操作?

ssh networking firewall tunnel

5
推荐指数
1
解决办法
369
查看次数

尝试启动 TunnelProvider 网络扩展时出现 NEVPNErrorDomain 错误 1

我正在尝试通过从 TunnelProvider 的 XCode 模板开始,然后将代码添加到主机应用程序来配置并启动它来制作自定义 TunnelProvider 网络扩展。

我正在使用 NETunnelProviderManager 的实例来配置它,当我调用 saveToPreferencesWithCompletionHandler: 时,我获得成功(错误 = 0)。但是,当我在(非零)连接上调用 startVPNTunnelAndReturnError: 时,我总是收到以下错误:

错误域=NEVPNErrorDomain代码=1“(空)”

我已经阅读了所有相关的Apple文档,并尝试使我的程序看起来尽可能接近SimpleTunnel测试程序,但是我无法确定为什么我得到这个“1”(这似乎表明配置问题) 。

我在网上的帖子中看到其他一些人也遇到了同样的问题,但没有解决方案。

我有所需的特殊权利,我知道这不是问题,因为使用正确的配置文件后,我能够看到弹出窗口,确认我要在运行应用程序时添加 VPN,然后将其添加到 VPN 下的“设置”中。

这是我的代码,以防相关:

NETunnelProviderManager * man = [[NETunnelProviderManager alloc] init];       
NETunnelProviderProtocol *protocol = [[NETunnelProviderProtocol alloc] init];

[protocol setServerAddress:@"aaa.bbb.ccc.ddd"]; // not actual value
[protocol setUsername:@"testuser"];

NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];

NSData *data = [[NSData alloc] init];
[dictionary setObject:@"UUID" forKey:(id)kSecAttrService];
[dictionary setObject:data forKey:(id)kSecValueData];
[dictionary setObject:(__bridge id)kSecAttrAccessibleAlways forKey:(id)kSecAttrAccessible];
[dictionary setObject:(__bridge id)kSecClassGenericPassword forKey:(id)kSecClass];
[dictionary setObject:(__bridge id)kCFBooleanTrue forKey:(id)kSecReturnPersistentRef];

CFTypeRef passwordRef = nil; …
Run Code Online (Sandbox Code Playgroud)

tunnel ios ios-extensions ios9 networkextension

5
推荐指数
1
解决办法
5616
查看次数

有没有办法获取 iPhone 上启动的 VPN 隧道的套接字描述符,以便我可以在 C++ 库中使用它

在苹果提供的simpleTunnel示例应用程序中,容器应用程序和数据包隧道提供商使用 IPC 进行通信。

每当启用连接切换按钮时,都会调用startVPNTunnel() API,并且操作系统会启动数据包隧道提供程序,该提供程序又会调用重写的方法startTunnelWithOptions()。这是我们开始连接 VPN 服务器的地方。startTunnelWithOptions依次调用startTunnel,startTunnel调用createTCPConnectionToEndpoint ( connection =provider.createTCPConnectionToEndpoint(endpoint,enableTLS:false, TLSParameters:nil,delegate:nil) )

我们如何从该连接获取套接字描述符(以便我可以在另一个发送 SSL 和其他自定义消息的 C++ 库中使用它)?( connnection 是类NWTCPConnection的实例,但NWTCPConnection似乎不包含套接字描述符)

sockets vpn tcp tunnel ios

5
推荐指数
1
解决办法
1196
查看次数

尝试通过 ssh 隧道访问远程 jupyter 笔记本

我需要一些帮助来访问远程 jupyter 笔记本实例

通常,当我尝试访问在我的 Mac 上的远程服务器上运行的 jupyter 笔记本时,我将在终端窗口中编写以下内容来创建隧道

ssh -NL $local_port_number:localhost:$remote_port_number $my_username@$remote_server

之后,我通常可以通过http://localhost:local_port_number访问 jupyter 服务器

我如何在 Windows 上的 Putty 中执行此操作?我知道连接>>ssh>>隧道中有一些选项可以执行此操作,但到目前为止我无法使配置正常工作。

ssh putty tunnel jupyter-notebook

5
推荐指数
1
解决办法
1万
查看次数

sshfs 尝试后未配置设备

在 Mac 上使用 sshfs 后,我无法再看到我的用户目录。

当我打开终端窗口时,我看到以下内容:

Last login: Mon May 22 10:54:30 on ttys003
mkdir: /Users/<username>/.bash_sessions: Device not configured
-bash: /Users/<username>/.bash_profile: Device not configured
touch: /Users/<username>/.bash_sessions/35166655-583B-47CC-9BCF-5E785DD5E46E.historynew: Device not configured
Run Code Online (Sandbox Code Playgroud)

有没有什么办法解决这一问题?

干杯保罗

tunnel user-profile ssh-tunnel macos-sierra

5
推荐指数
1
解决办法
4462
查看次数

Minikube 隧道不断要求 sudo

当我使用时minikube tunnel,我遇到一个问题,它不断询问我 sudo 密码。

它每隔约 5 秒就会询问一次密码。如果我不输入密码,则会出现错误退出。如何避免重复的密码问题?

以下日志显示了我的问题(首先输入密码 --> 没有错误,5 秒后我没有输入任何密码 --> 错误)

minikube tunnel
[sudo] Password for user: 
Status:
        machine: minikube
        pid: 31390
        route: 10.96.0.0/12 -> 192.168.39.82
        minikube: Running
        services: []
    errors: 
                minikube: no errors
                router: no errors
                loadbalancer emulator: no errors
Status:
        machine: minikube
        pid: 31390
        route: 10.96.0.0/12 -> 192.168.39.82
        minikube: Unknown
        services: []
    errors: 
                minikube: error getting host status for minikube: getting connection: getting domain: error connecting to libvirt socket.: virError(Code=45, Domain=60, Message='Authentifikation gescheitert: access …
Run Code Online (Sandbox Code Playgroud)

tunnel kubernetes minikube

5
推荐指数
1
解决办法
2455
查看次数

MySQL与nodejs的“隧道跳转”连接

这可能是重复的,但我找不到该用例的任何内容。


设置:

  • MySQL 实例 - 只有白名单上的 IP 可以通过 ip/user/pass 连接。没有操作系统/SSH 访问权限。

  • 授权服务器 - 我有 root 访问权限。位于 MySQL 实例的白名单中。可以通过 mysql -h -u -p 进入MySQL实例。

  • 开发笔记本电脑 - Windows 笔记本电脑。无法列入动态 dhcp 的白名单。可以通过 SSH 连接到授权服务器。

这是所有 IT 基础设施,无法更改。


  • 我使用 DBeaver 并设置“使用 SSH 隧道”通过授权服务器隧道进入 MySQL 实例,没有问题。

  • 我也可以使用适用于 Windows 的 git bash 从开发笔记本电脑隧道进入授权服务器。(但这对我没有任何帮助)

    ssh -L 3306:localhost:3306 Authorized_Server

Dev Laptop 如何在 MySQL 实例上运行 nodejs mysql 查询?

谢谢你,

瑞安

mysql ssh tunnel node.js

5
推荐指数
1
解决办法
176
查看次数