公网怎样主动连接局域网端

myusst 2005-07-30 10:50:18
知道局域网地址,和网关地址
公网上的一端怎么通过udp主动发送数据包给局域网内的机器,
或者通过tcp和局域网网内监听的机器建立连接。
...全文
199 点赞 收藏 13
写回复
13 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
df8327 2005-08-02
UDP数据包是可行的,现在网上UDP穿透NAT的文章到处都有,可以搜搜,或者来我的BLOG看看http://beast.blog.edu.cn

TCP不可行,除非是你的内网服务器主动连接你的外网客户端,不过也不是没有办法,现在网上有的是相关软件,你可以去申请一个域名,然后让外网的那端通过解析域名来连接,当然这需要一些软件支持:)
或者,最简单的方法,你从你内网的NAT网关那里搞一个端口绑定,也就是把它的某固定端口冲定向到你的机器上就行了,不过人家未必让你搞:)
回复
fairyprince 2005-08-02
除非以下两种,否则不可能实现

1、你内网机器有真IP (NAT 映射),那么你可以使用任何手段了
2、在你机器上有一个木马程序,主动向外面一台服务器UPD连接,并保持这个连接。这样你就在网关上一直留有你的端口映射。假如你想连接内网这台机器,可以从服务器上取出这个端口,进行直联。

除了以上两点,是不可能连上的。
回复
softrain 2005-08-01
1,如果可以手动在网关上添加静态端口影射,最好。
2,如果局域网的NAT类型是full cone,则局域网中的服务器自启动开始定时向任何一个有效公网地址发UDP包,实现网关上的端口映射。公网上的客户端就可以向网关发UDP包,端口号要靠猜测的。
3,如果服务器操作系统是XP,用路由器+ADSL上网,且路有器开通了UPNP功能,则可以在服务器启动时自动用UPNP功能在路由器上添加端口映射。一般监听端口和映射端口用同一个端口号,据说这样可以从外部用TCP连接进来,我还没有搭建过这个环境测试。
其它,用一个代理服务器做消息转发。服务器和客户端要都连上代理服务器。
回复
myusst 2005-08-01
有这方面资料和源码吗?
回复
亿云力科技 2005-08-01
很久以前想过这个问题,就是在家里想访问自己在公司的机器,后来觉得不可行
回复
playmud 2005-08-01
正常途径不可能实现!
除非你的局域网内部的机器上面有监听的东西,可以接受伪造的ip包。
1,能够伪造出来会话过程中的数据包。
2,客户端可以接受处理这个伪造的数据。
不满足上面2个条件,应该不可能实现。
回复
oyljerry 2005-07-31
服务端在内网中的代理服务器上做好了NAT后,需要采取一些手段通知外面的客户端
这就是所谓的反弹端口原理,
一般有些通过一些公开的个人空间等,服务端定时更新自己的信息,客户端定期去获取,然后客户端主动连接
回复
gohappy_1999 2005-07-31
既然都知道了局域网的IP,直接通信就行了?????
表示怀疑.直接通信应该是不行的.
回复
VCSQLVB 2005-07-31
surstar(断水流www.uisoft.net准备出本诗集叫《执着》售价13.1) 说得对,既然都知道了局域网的IP,直接通信就行了。
回复
surstar 2005-07-30
这个到没有弄过,不懂,有人说NAT 穿透,有的人 端口映射,学习
回复
myusst 2005-07-30
是服务器在里面,客户端在外面
回复
surstar 2005-07-30
我想你说的和外部网连接的问题

服务器端的IP你知道,客户方是在局域网内的机器

可以直接通信,根本不用思考这方面的问题

你可以写个程序试一下
回复
AntonlioX 2005-07-30
一个方法是使用代理。

还可以使用udp 打洞
回复
发帖
网络编程
创建于2007-09-28

1.8w+

社区成员

VC/MFC 网络编程
申请成为版主
帖子事件
创建了帖子
2005-07-30 10:50
社区公告
暂无公告