摘要:
     
使用uPnP方式在TP-Link上映射端口,配合WCF定时发送动态拨号IP实现远程访问与管理。

需求:
     A客户使用拨号上网,IP经常变,有套系统刚部署经常要连过去更新程序与数据库,每次叫A总QQ远程相当不便,
当然直接在路由器上建立端口映射那是最方便,但是A总是刚伤人A企业的总经理,A企业的A网管对新上的系统有抵触(内中缘于大家都懂),
于是乎只能另辟蹊径,好在发现该企业http://192.168.1.1 可以访问到,并且是传说中的TP-Link,当然密码是拿不到地。

过程:

首先想到的是mgen兄的一片文章( http://www.cnblogs.com/mgen/archive/2013/02/03/2890987.html)
下载代码后运行报upnpnat.StaticPortMappingCollection;这句引用为空,检测发现是未开启xp系统的upnp,于是俺资料去开启
结果发现根本没装组件,安装组件时有发现没光盘---都是ghost版的,这年头那来的XP安装盘啊.
纠结中想到,你路由器上的端口映射为什么要电脑上装组件呢,于是在google C# upnp实现端口映射,果然找到2篇相关资料,发现在路由器上添加映射只需要调用路由器的ipc接口,调用是基于http的soap操作,到这里总算不用找xp安装盘了,遗憾的是那两篇资料下载的代码不能执行通过。
不过思路是有了,登录自家的路由器打开uPnP菜单,华丽的发现PPLive已经神奇般的映射4条记录,禁用uPnp,过一会再次打开UPnP,发现PPLive总能再我开启uPnP后顽强的添加一条TCP一条UDP映射^_^,到这里事情就简单了。

打开俺的HttP  Analyzer ,一跟踪,SOAPAction:....AddProtMapping就呈现在眼前,于是马上打开VS2010写下

            WebClient wc=new WebClient();wc.Headers.Add("User-Agent", "OS/version, UPnP/1.0, MiniUPnPc/version");wc.Headers.Add("SOAPAction", @"""urn:schemas-upnp-org:service:WANIPConnection:1#AddPortMapping""");wc.Headers.Add("Content-Type", "text/xml");var url=string.Format("http://192.168.1.1:1900/ipc",firewallAddress);byte[] data=Encoding.Default.GetBytes(xml);wc.UploadData(url, "POST", data);MessageBox.Show("zhong bu zhong ???")

执行完毕刷新路由器中的uPnP列表,果然一条本机3389端口到外网26691的TCP 映射成功添加.....
程序截图:

端口问题解决了,接下来就是使用WCF动态发送拨号获取的IP了,这个就比较简单,俺自己有个网站,租用了空间,在上面放个WCF服务页,客户电脑上安装个小程序定时请求下指定页面,就可以获取客户的公网IP了,WCF中代码入下

public string  RegIp(string clientNo)
        {
            var properties = OperationContext.Current.IncomingMessageProperties;
            var endPoint = properties[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty;
            var ip= endPoint.Address;
            ..................
WCF部分代码到:http://www.cnblogs.com/wdfrog/archive/2013/04/12/3016184.html下载
上面那个端口映射程序的代码需要的留下Email,回家统一发个^_^!

转载于:https://www.cnblogs.com/wdfrog/archive/2013/04/15/3021892.html

使用uPnP在路由器上映射端口相关推荐

  1. 如何在路由器上做端口映射

    假设现在外网有一台ADSL直接拨号上网的电脑,所获得的是公网IP.然后它想访问局域网内的电脑上面的网站,那么就需要在路由器上做端口映射.在路由器上做端口映射的具体规则是:将所有发向自己端口的数据,都转 ...

  2. 不在路由器上做端口映射,如何访问局域网内网站

    假设现在外网有一台ADSL直接拨号上网的电脑,所获得的是公网IP.然后它想访问局域网内的电脑上面的网站,那么就需要在路由器上做端口映射.在路由器上做端口映射的具体规则是:将所有发向自己端口的数据,都转 ...

  3. 端口映射的作用?如何在路由器上做端口映射

    一.端口映射作用 路由器中设置端口映射的主要作用,就是让Internet上的其他用户,可以访问你路由器下面电脑中的数据(软件.文件). 当家里的电脑使用路由器上网后,在Internet下的其它电脑.手 ...

  4. 路由器上端口转发_如何在路由器上转发端口

    路由器上端口转发 Although modern routers handle most functions automatically, some applications will require ...

  5. 光猫+路由器如何映射端口

    https://bbs.csdn.net/topics/391053743 家里网络结构如下图所示: 我想将公网IP的60000端口映射到192.168.10.100上. 目前已试过以下方法: 1. ...

  6. 各品牌路由器更改设置端口映射实现外网访问内网点(如:OA)的方法

     各品牌路由器更改设置端口映射实现外网访问内网点晴OA的方法 先在OA服务器的IIS中增加OA访问端口:/mis/bbs/showbbs.asp?id=8178 下面假设已经在IIS中增加了一个访问点 ...

  7. 【JD资讯】什么是端口映射?路由器如何设置端口映射?

    [JD资讯]什么是端口映射?路由器如何设置端口映射? 不少朋友问到什么是端口端射?在项目中我们经常会遇到,这个功能也是非常实用的,可以解决一些远程控制访问,很多朋友对这个设置一直都了解不多.那么如何设 ...

  8. 关于TP-LINK宽带路由器上的“转发规则”功能用途及设置办法

    关于TP-LINK宽带路由器上的"转发规则"功能用途及设置办法 现在TP-LINK的家用宽带路由器由于价格便宜,性能也还过的去,市场占有率相当高,TP-LINK的家用路由器里有项功 ...

  9. 宽带路由器上的“转发规则”功能用途及设置办法 -- LAN与WAN通信的IP转换

    wo zhuan zai de zuo zhe mei you zhu ming zhuan zai di zhi 现在TP-LINK的家用宽带路由器由于价格便宜,性能也还过的去,市场占有率相当高,T ...

最新文章

  1. 可见的轮廓线用虚线绘制_为什么你用SketchUp没有别人“快”?
  2. php+json对象格式,PHP 创建对象来输出 JSON 格式
  3. P1912-[NOI2009]诗人小G【四边形不等式,单调队列】
  4. eclipse中查看某个方法(函数)被谁调用
  5. 美国款游戏计算机,美国一程序员设计计算机游戏 悼念早逝爱子(图)
  6. 二级省市联动下拉菜单
  7. linux多进程介绍和示例
  8. MySql Workbench常用快捷键修改MySqlWorkBench快捷键
  9. postgresql查看表的创建者和表的权限
  10. 打破多项存储世界记录,宏杉科技表示很淡定
  11. 小象机器学习(邹博老师)学习笔记
  12. 蓝桥ROS机器人之CoppeliaSim_Edu_V4_2_0
  13. R语言使用survival包的Surv函数创建生存对象、建立Cox回归模型(包含所有协变量)比较不同治疗方法生存率的差异、使用predict函数对cox模型进行新数据的预测和推理(预测死亡风险)
  14. 免费翻译英文文献自动生成PDF双语文档小技巧
  15. Vue生命周期,mounted,destory,beforedestory,updated,
  16. jsp text边框_CSS设置DIV边框实例
  17. esp32cam.cpp:30:3: error: ‘camera_sensor_info_t’ was not declared in this scope camera_sensor_info_t
  18. 网站建设学习(二)---内网穿透
  19. 数据字典模板_C++ 模板元编程:一种屠龙之技
  20. <C语言>如何使用C语言代码打印“心形”图案?

热门文章

  1. 组会 | RELAXLOSS: DEFENDING MEMBERSHIP INFERENCE ATTACKS WITHOUT LOSING UTILITY
  2. Spring Cloud 五大组件
  3. 同花顺模拟炒股软件 v8.40.29 官方版
  4. 微信小程序weui-form表单的使用
  5. dataframe两个表合并_Spark实战第二版(涵盖Spark3.0)第三章 宏伟的角色dataframe
  6. Ribo-seq的下游分析方法1-ORFquant以及RiboQC
  7. 武魂优化游戏引擎 视觉效果全新进化
  8. linux学习计划书
  9. 王宝强代言计算机学校,《破晓屠龙》王宝强代言传奇游戏电脑手机都能玩
  10. i5-8500 搭配 RTX3090 算不算奇葩