是否可以在heroku上使用openVPN设置VPN以保持暂存环境的私密性?如果是这样,任何人都有写或链接?
很多时候,当我通过断开远程网络来更改VPN状态时,我的VS实例会立即崩溃.
这是我在事件日志中找到的最接近的东西.有人对此有什么想法吗?
Exception: System.Net.NetworkInformation.NetworkInformationException
Message: Invalid access to memory location
StackTrace: at System.Net.NetworkInformation.SystemNetworkInterface.GetAdaptersAddresses(AddressFamily family, FixedInfo fixedInfo)
at System.Net.NetworkInformation.SystemNetworkInterface.PostWin2KGetNetworkInterfaces(AddressFamily family)
at System.Net.NetworkInformation.SystemNetworkInterface.GetNetworkInterfaces(AddressFamily family)
at System.Net.NetworkInformation.SystemNetworkInterface.InternalGetIsNetworkAvailable()
at System.Net.NetworkInformation.NetworkChange.AvailabilityChangeListener.ChangedAddress(Object sender, EventArgs eventArgs)
at System.Net.NetworkInformation.NetworkChange.AddressChangeListener.AddressChangedCallback(Object stateObject, Boolean signaled)
at System.Threading._ThreadPoolWaitOrTimerCallback.PerformWaitOrTimerCallback(Object state, Boolean timedOut)
我有一个VPN连接,我一直在丢失,我需要连接到我们的数据库服务器,但每个第二或第三个连接都失败,因为我丢失了VPN连接.在继续尝试数据库连接之前,我想添加somde代码 - 仅用于DEBUG配置 - 检查VPN连接并在必要时重新连接.
我觉得这里像个白痴.我在Azure中设置了一个简单的Windows虚拟机,需要通过VPN访问12个远程用户(他们都在家工作)才能访问共享驱动器.我认为这将是非常容易的,但我花了几天时间试图解决这个问题.
我有服务器设置,我现在已经意识到(经过几天的搜索)使用RRAS的传统PPTP或L2TP VPN无法正常工作,因为Azure框架会阻止这些协议.我也从帖子中看到过这样一个说使用Azure Connect的帖子,它应该可以满足我们的需求.但是,该文章中对Herve Roggero博客甚至微软自己的Azure支持网站的引用都谈到了我无法使用的功能,屏幕截图看起来与我在Azure控制台上看到的不同.实际上,Microsoft站点帮助文档的使用时间为2到2.5年.认真MS ...更新你的文档!
我的控制台看起来像这个图像(来自Google搜索的示例图像......不是我的真实界面)
但是,文章引用了看起来像这个图像的控制台
我没有使用正确的Azure版本吗?他们是否更新了界面而没有更新文档?底线,如何(使用我拥有的Azure界面)可以使用Azure Connect?我尝试创建虚拟网络,但没有任何内容可以选择使用Windows Azure Connect安装本地端点.我是白痴还是我在这里错过了什么?
存在这个问题的变体,但我似乎无法理解某些东西.
如果您在ICS/4.0中的功能结束时阅读,请注意
企业还可以利用平台内置的标准VPN客户端来访问L2TP和IPSec协议.
我的假设是,因为它不在"开发人员"部分下,所以我们没有获得除VpnService API之外的开发人员API访问.我看过ToyVPN,这只是无用的,因为我需要一个真正的IPSec IKEv1 XAuth连接来连接到企业防火墙.
我找到了几个需要root和VPNCilla的解决方案,虽然我没有能够成功建立连接但显然没有.
这是否意味着除非我们在Java中实现协议或使用NDK(如StrongSwan与IKEv2一样),否则实际上无法以编程方式为IPSec IKEv1 XAuth网关/防火墙创建配置文件或连接到IPSec IKEv1 XAuth网关/防火墙?
我正在探索Android的VpnService的功能.目前,我通过在用户空间重建IP堆栈构建了一个非常基本的请求转发器:我从VpnService的输入流中读取IP数据包,解析它们,对于我不想转发的连接,我尝试重新创建那些VPN连接外部的套接字连接.
我已经明白最后一点是通过VpnService.protect()以下方式实现的:
Socket socket = new Socket();
vpnService.protect(socket);
socket.connect(new InetSocketAddress(
header.getDestinationAddress(), // From my IP datagram header
body.getDestinationPort())); // From the TCP datagram header
Run Code Online (Sandbox Code Playgroud)
不幸的是,这种方法导致VPN接口的环回.
虽然上面的代码只是阻塞并最终超时,但我通过Socket.connect(InetSocketAddress)从一个单独的线程调用来观察环回; 连接直接返回到我的VpnService的输入流,并重复该过程.
不用说,这会导致循环.我觉得这样做的原因是在创建套接字时(以及随后的调用VpnService.protect(Socket)),我还没有设置目标IP和端口.
这似乎确实如此,因为通过覆盖VpnService.protect(Socket)和 VpnService.protect(int)我的VpnService实现并在两种情况下调用超级都返回false.
如何正确保护套接字连接?
sockets vpn android packet-capture android-4.0-ice-cream-sandwich
至今:
我找到了以下解决方案
广播接收器已从ICS弃用
这肯定会花费很多时间而且效率不高
这肯定会花费很多时间而且效率不高
即使根据网络连接不会花费太多时间,它也可能会有所不同
我的结论:
到目前为止,我发现的所有解决方案要么效率不高,要么不那么可靠.
我的问题:
如果VPN在Android设备中连接,那么android OS必须知道它.
是否有任何公共的android框架API来读取它,因为在本地查找是最有效和最可靠的解决方案?
有没有其他有效和可靠的方法来实现它(比如将C或C plus plus库与NDK集成)?
注意:
我也找不到OpenVPN for Android的任何自定义广播发件人/ AIDL
我正在创建一个模拟VPN(实际上并不创建与服务器的真实连接)来获取所有传入和传出的网络字节(信息).
现在我可以获取数据包并解析它们.我得到的例子:
IP版本:4标题长度:20总长度:60协议:6源IP:10.0.2.0目标IP:5.20.5.59主机名:clients4.google.com
我想知道我应该怎么做以及如何建立与网站/应用程序的连接(现在它没有连接).
在这个网站:http://www.thegeekstuff.com/2014/06/android-vpn-service/写道,需要做出这些步骤:
在第2步,我从数据包中获取信息.但是不要轻视它应该如何进一步完成.也许有人可以详细解释我.另外,也许可以告诉我如何获得目的地港口,当我有其IP地址.还有代码:
public class VPN extends VpnService implements Handler.Callback, Runnable {
private static final String TAG = "VpnService";
private String mServerAddress = "127.0.0.1";
private int mServerPort = 55555;
private Handler mHandler;
private Thread mThread;
private ParcelFileDescriptor mInterface;
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if (mHandler == null) {
mHandler = new Handler(this);
}
if (mThread != null) {
mThread.interrupt();
}
mThread = new …Run Code Online (Sandbox Code Playgroud) 我有以下WinRT代码,可以很好地发现活动的VPN配置文件:
VpnManagementAgent vpn;
auto profiles = vpn.GetProfilesAsync().get();
wprintf(L"Found %d profiles\n", profiles.Size());
for (auto vp : profiles)
{
wprintf(L"Found profile %s\n", vp.ProfileName().c_str());
}
Run Code Online (Sandbox Code Playgroud)
我想检查ConnectionStatus,但这在IVpnProfile接口上不可用。我尝试添加以下内容无济于事,因为具体的VpnPlugInProfile和VpnNativeProfile类中的ConnectionStatus可用:
VpnPlugInProfile pp = vp.as<VpnPlugInProfile>();
if (pp != nullptr)
wprintf(L"ConnectionStatus = %d\n", pp.ConnectionStatus());
Run Code Online (Sandbox Code Playgroud)
这只是给出一个无效的句柄错误。
有没有办法从IVpnProfile获取ConnectionStatus?
我正在尝试在我的iOS应用程序中创建IPSEC VPN连接.
我设置配置的代码如下所示:
-(void)setUpConfig
NEVPNManager *manager = [NEVPNManager sharedManager];
int status = manager.connection.status;
if (status == NEVPNStatusConnected) {
manager.connection stopVPNTunnel];
} else {
[manager loadFromPreferencesWithCompletionHandler:^(NSError *error) {
NSError *startError;
if (error) {
NSLog(@"Load config failed [%@]", error.localizedDescription);
return;
}
NEVPNProtocolIPSec *p = (NEVPNProtocolIPSec *)self.manager.protocol;
if (!p) {
p = [[NEVPNProtocolIPSec alloc] init];
}
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"base64_encoded_cert" ofType:@"txt"];
NSString *certBase64String = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:NULL];
NSString *certPassword = @"cert_import_password";
NSString *vpnUsername = @"myUsername";
NSString *vpnPassword = @"myPassword";
NSString …Run Code Online (Sandbox Code Playgroud) vpn ×10
android ×4
ipsec ×2
.net ×1
aidl ×1
android-4.0-ice-cream-sandwich ×1
android-ndk ×1
azure ×1
c# ×1
c++-winrt ×1
cloud ×1
crash ×1
enterprise ×1
frameworks ×1
heroku ×1
ios8 ×1
ip ×1
java ×1
objective-c ×1
openvpn ×1
parsing ×1
sockets ×1
uwp ×1
windows-7 ×1
xauth ×1