标签: tunnel

如何与Linux tun驱动程序进行交互

我很难解决这个问题 - 我正在尝试编写一个与Linux隧道驱动程序交互的程序.在最基本的层面上,我只想创建一个能够通过网络隧道传输数据的应用程序.但是,我完全不知道如何正确设置隧道驱动程序以实现此目的.

我在Ubuntu 9.04上开发,我加载了隧道驱动程序内核模块.

存在设备/dev/net/tun,但是没有/dev/tunX设备.我无法使用创建这些设备ifconfig- /sbin/ifconfig tun0 up例如,每当我运行时,我都会收到以下错误:

获取接口标志时的tun0:ERROR:没有这样的设备.

如果我尝试查看/dev/net/tun设备,则会出现以下错误:

cat:/ dev/net/tun:文件描述符处于错误状态.

尝试/dev/tunX通过一个小程序打开,基本上,简单

tun_fd = open( "/dev/tun0", O_RDWR )
Run Code Online (Sandbox Code Playgroud)

返回-1:应用程序以root身份运行,但仍无法打开此隧道设备.可以打开/dev/net/tun,但这似乎不会生成/dev/tunX要使用的新设备.

总而言之 - 如何编写希望使用Linux隧道驱动程序的应用程序?任何见解将不胜感激.

谢谢; 〜罗伯特

c driver tunnel tun

16
推荐指数
2
解决办法
3万
查看次数

Java中的简单SSH隧道

我想用Java创建一个SSH隧道.我在另一篇文章中发现了不少Java SSH库.在深入研究每个选项之前,也许有人可以给我一些他们如何做到的代码片段,或者至少告诉我哪个客户端库最有效.

我只需要隧道.我不需要文件传输,终端仿真等等.是否有一些简单的代码行可以转发服务器上的端口以在我的客户端的localhost适配器上工作?理想情况下,客户端和服务器都是Java,但我现在只会满足于客户端.

java ssh tunnel

15
推荐指数
2
解决办法
4万
查看次数

python bind socket.error:[Errno 13]权限被拒绝

我有一个python脚本从远程机器获取数据包并将它们(os.write(self.tun_fd.fileno(),'..join(packet)))写入tun接口gr3:

Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
inet addr:10.0.0.6  P-t-P:10.0.0.8  Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
RX packets:61 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500 
RX bytes:5124 (5.0 KiB)  TX bytes:0 (0.0 b)
Run Code Online (Sandbox Code Playgroud)

我想通过单独的pong脚本接收这些数据包,如下所示:

import threading, os, sys, fcntl, struct, socket
from fcntl import ioctl
from packet import Packet

HOST = '10.0.0.6'
PORT = 111
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
conn, addr = s.accept()
print 'Connected by', addr
while 1:
    data = conn.recv(1024) …
Run Code Online (Sandbox Code Playgroud)

python tunnel

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

在Java中通过SSH隧道连接到mongo数据库

修复(编辑代码以反映我所做的更改)

我正在尝试使用java通过ssh隧道连接到mongo数据库.

我正在使用mongo驱动程序3.0.2和jcraft(Jsch)来创建一个ssh隧道.我的想法是:

  • 通过ssh连接到托管mongo db安装的机器
  • 设置从本地端口到远程mongodb端口的端口转发
  • 远程连接到mongodb

我的代码看起来像这样:

// forwarding ports
private static final String LOCAL_HOST = "localhost";
private static final String REMOTE_HOST = "127.0.0.1";
private static final Integer LOCAL_PORT = 8988;
private static final Integer REMOTE_PORT = 27017; // Default mongodb port

// ssh connection info
private static final String SSH_USER = "<username>";
private static final String SSH_PASSWORD = "<password>";
private static final String SSH_HOST = "<remote host>";
private static final Integer SSH_PORT = 22;

private static Session SSH_SESSION; …
Run Code Online (Sandbox Code Playgroud)

java ssh tunnel mongodb

14
推荐指数
1
解决办法
6136
查看次数

反向SSH隧道监视器

我已经使用PuTTY设置了一个反向ssh隧道,允许我将VNC转换为家用计算机而无需启用NAT端口转发.效果很好,没问题.

我想将隧道设置为"持久服务",它将在启动时连接并在删除时重新连接.PS.这是在Windows上.

详尽的谷歌搜索发现了一些产品,但许多似乎已被抛弃,似乎没有一个主要的"街头信誉".

有没有人有这种类型的东西或任何这些产品的经验?我不需要所有的花里胡哨,只需要可靠性.

windows ssh monitoring tunnel

12
推荐指数
1
解决办法
6351
查看次数

从家里连接到公司防火墙后面的SVN服务器

如何配置TortoiseSVN连接到家庭公司防火墙后面的SVN服务器?

这是我很难找到答案的问题.这是我没有的东西:

  1. 官方 VPN访问企业内部网.
  2. 控制SVN服务器.
  3. 对Intranet的任何控制.
  4. IT部门的合作.

这是我DO有:

  1. 完全控制我办公室办公桌上的电脑.
  2. 意志

这是我尝试的一个镜头,似乎是不成功的(人和地方和机器的名称已被改变,以保护无辜):

失败的甜网络图http://i48.tinypic.com/or1a3b.png

  1. 我正在使用Wippien从我的家用电脑(NG-ATHOME)到我办公桌上的工作电脑设置零配置VPN.这有效,我可以从两台机器进行全面的网络访问.
  2. 我在NG-WORKBOX上运行OpenSSH for Windows.
  3. 我在NG-ATHOME上安装了PuTTY,连接到NG-WORKBOX,通过1080端口动态隧道.SOCKS代理工作正常,因为我可以通过任何网络浏览器验证.我可以自信地说这不是场景中的问题.
  4. 我在NG-ATHOME上使用TortoiseSVN配置为在127.0.0.1:1080上使用代理.当我尝试点击"svn:// NG-SOURCE/PonyRepository"时,我收到错误:无法连接到主机.我可以ping NG-SOURCE.

SVN为什么不工作?

嗯,我怀疑SVN不喜欢SOCKS.有人有建议吗?

svn tortoisesvn proxy putty tunnel

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

如何为ngrok打开我的端口80

我刚刚在本地机器上安装了ngrok,跑了

ngrok http 80
Run Code Online (Sandbox Code Playgroud)

照常.

但是当我尝试访问端口80时

localhost:80 
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息

与http://*******.ngrok.io的连接已成功通过隧道连接到您的ngrok客户端,但客户端无法建立与本地地址localhost:80的连接.

我真的不确定为什么会这样,并浏览stackoverflow,但我不太明白我读到的答案.希望从这里重新诊断并建立理解.

操作系统是Mac OS.

tunnel port80 ngrok

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

通过SSH隧道连接到gitosis服务器

我的macbook上有一个SSH隧道设置,就像这样......

$ ssh -o ServerAliveInterval=3 -N -L 22222:gitosis-server:22 user@firewall.domain.com

所以我可以ssh到localhost:22222并最终将防火墙后面的gitosis服务器.

我创建了一个本地id_rsa.pub文件,将其复制到gitosis服务器(运行Centos5),然后使用...将其导入gitosis.

# sudo -H -u gitosis gitosis-init 

It was successful as I can see the public key in /var/lib/gitosis/.ssh/authorized_keys.

Back on my macbook I setup a ~/.ssh/config file with the following...

Host gitosis-server
Hostname localhost
HostKeyAlias gitosis-server.domain.com
  Port 22222

所以...我认为这个命令应该有效......

$ git clone gitosis@gitosis-server:gitosis-admin.git

然而,它不会因为它要求输入密码....当公钥应该工作时.

Initialized empty Git repository in /Users/USER/Development/gitrepo/gitosis-admin/.git/
gitosis@localhost's password: 

关于让git工作到防火墙后面的gitosis服务器的任何想法?

谢谢,
马特


编辑 - 从SSH尝试添加调试

我做了这个命令,'ssh -vvv gitosis @ gitosis-server'.我得到了一些调试,它似乎不喜欢我的身份.

debug2: key: /Users/USER/.ssh/id_rsa.gitosis (0x1019b0)
debug1: Authentications …

git ssh firewall tunnel gitosis

10
推荐指数
1
解决办法
9096
查看次数

有没有好的通用PHP MySQL HTTP隧道?

许多Windows MySQL工具(如Navicat或EMS)都有这个功能 - 您只需将PHP文件放在共享主机上,即可通过该php文件公开的Web服务将本地运行程序连接到Web上的远程MySQL服务器.

是否有任何流行的免费解决方案将完整的MySQL作为使用PHP的Web服务公开?

php mysql web-services tunnel

10
推荐指数
2
解决办法
2万
查看次数

如何正确运行localtunnel v2

我正在使用localtunnel v1.但是我发现v2允许你自定义子域,我需要这个功能.

我跟着介绍的教程README资源库,但它让我感到困惑的几个部分,并在结束时,它没有工作.

第一步是在端口号上运行一些web-app:checked.8000.

然后,它说了一些关于主机名的内容:

Localtunnel使用主机名执行一些操作,因此您需要设置两个主机名.一个用于localtunnel注册,一个用于本地隧道.通常它需要一个通配符,但我们只是硬编码这个示例隧道的主机名.

example.localtunnel.local - > 127.0.0.1
localtunnel.local - > 127.0.0.1

您可以在/ etc/hosts中执行此操作或使用该奇特的ghost实用程序.

我迷路了,但我仍然编辑了我/etc/hosts:

127.0.0.1   localhost
127.0.1.1   my-pc-name
127.0.0.1   example.localtunnel.local
127.0.0.1   localtunnel.local
Run Code Online (Sandbox Code Playgroud)

下一步...

现在您可以启动服务器了.它基于config目录中的配置文件.您可以创建自己的,但是这个配置为在端口9999上运行服务器并且期望​​主机名localtunnel.local

ginkgo config/default.conf.py

哪一个?无论如何......我根据localtunnel repo的目录中的文件创建了myconfig.conf.py /deploy:

port = 9999
hostname = 'localtunnel.local'
service = 'localtunnel.server.TunnelBroker'
Run Code Online (Sandbox Code Playgroud)

但是,当我跑:

lt --broker 127.0.0.1:9999 --name example 8000
Run Code Online (Sandbox Code Playgroud)

我有:

Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/gevent/greenlet.py", line 390, in run
  result = self._run(*self.args, **self.kwargs)
File "/usr/local/lib/python2.7/dist-packages/localtunnel/client.py", line 53, in …
Run Code Online (Sandbox Code Playgroud)

python networking tunnel

10
推荐指数
1
解决办法
4536
查看次数

标签 统计

tunnel ×10

ssh ×4

java ×2

python ×2

c ×1

driver ×1

firewall ×1

git ×1

gitosis ×1

mongodb ×1

monitoring ×1

mysql ×1

networking ×1

ngrok ×1

php ×1

port80 ×1

proxy ×1

putty ×1

svn ×1

tortoisesvn ×1

tun ×1

web-services ×1

windows ×1