标签: miniupnpc

使用Open.NAT打开端口/端口转发

我正在尝试创建一个简单的程序,只需单击一下即可打开/转发某些端口,而无需每次都在控制台中进行操作。

好吧,我知道两个不同的项目可以打开端口,第一个叫做“ upnpc”-> http://miniupnp.free.fr/files/,但是必须为每个端口手动完成,第二个则是可以打开的lib在C#-> https://github.com/lontivero/Open.NAT中使用

第一种方法是创建脚本并使用C#调用它,但我认为这不是一个好主意。

upnpc-shared -a 192.168.1.12 6622 6622 TCP
Run Code Online (Sandbox Code Playgroud)

第二个带有lib的东西,无法弄清为什么不起作用。

这是我的代码,应该打开/转发3个端口,但只有最后一个有效。附言:我认为它一个接一个地打开了端口,但由于某种原因,只有最后一个似乎起作用,其他端口停止了。

public static void Main()
{
    OpenPort().Wait();

    Console.WriteLine("\nPress any key to exit...");
    Console.ReadKey();
}

private static async Task OpenPort()
{
    var nat = new NatDiscoverer();
    var cts = new CancellationTokenSource(5000);
    var device = await nat.DiscoverDeviceAsync(PortMapper.Upnp, cts);
    var ip = await device.GetExternalIPAsync();

    Console.WriteLine("Your IP: {0}", ip);

    await device.CreatePortMapAsync(new Mapping(Protocol.Tcp, 6622, 6622, 0, "port 6622"));
    await device.CreatePortMapAsync(new Mapping(Protocol.Tcp, 6625, 6625, 0, "port 6625"));
    await device.CreatePortMapAsync(new Mapping(Protocol.Tcp, 6626, …
Run Code Online (Sandbox Code Playgroud)

c# port upnp portforwarding miniupnpc

5
推荐指数
0
解决办法
1428
查看次数

如何使用libminiupnpc设置端口转发

我想使用libminiupnpc (github)来查找设备并进行TCP端口转发/映射.但是,我找不到一个体面的文档或示例代码来说明如何使用miniupnpc API.

有人知道一个好的文档或示例代码,显示如何使用此库?

我现在拥有的是:

#include <miniupnpc/miniupnpc.h>
...
int error = 0;
UPNPDev *dev = upnpDiscover(2000, nullptr, nullptr, 0, 0, &error);
Run Code Online (Sandbox Code Playgroud)

...似乎正确地返回我的路由器上的信息:

2014-09-08 11:36:17.417132 debug  - UPnP ERROR: 0
2014-09-08 11:36:17.417394 debug  - UPnP device:
    url: http://192.168.1.1:5431/dyndev/uuid:207605a3-efd0-d0ef-a320-162376a3d04000
    st:  urn:schemas-upnp-org:device:InternetGatewayDevice:1
    buf: http://192.168.1.1:5431/dyndev/uuid:207605a3-efd0-d0ef-a320-162376a3d04000
Run Code Online (Sandbox Code Playgroud)

问题upnpDiscover()不仅仅是不明显需要接下来要做什么.

linux upnp miniupnpc

0
推荐指数
1
解决办法
4787
查看次数

标签 统计

miniupnpc ×2

upnp ×2

c# ×1

linux ×1

port ×1

portforwarding ×1