局域网TCP服务器,需要外网能访问,怎么做?

不借助第三方软件,不做路由端口映射,有没办法实现?我之前的想法是,用类似UDP的办法,先从TCP服务器上向外网的指定IP的客户端发一个包,申明我的路由IP及申请到的端口号... 不借助第三方软件,不做路由端口映射,有没办法实现?
我之前的想法是,用类似UDP的办法,先从TCP服务器上向外网的指定IP的客户端发一个包,申明我的路由IP及申请到的端口号。
然后客户端再依这个IP和端口号TCP连接我处于内网的服务器。
我是用的socket来做,但我发现一个socket在connect出去以后,就不能listen。
如果断开connect再listen的话,那从路由申请到的端口号就不能用了。

再申明一遍:不能借助第三方软件(花生壳之类不要提了),不做路由端口映射。不过可以借助外网的HTTP服务(仅HTTP,不能扩展)。

有代码可参考的就贴下代码,没有的,说下思路也行。
刚查到一篇文章,发现和我的想法是一样的。
大家帮忙看看有没可行性?一直都只知道UDP打洞,TCP打洞还是头一次听说。
看了他的文章后我才知道我的socket不能转为listen状态是因为没有设置SO_REUSEADDR - -!
http://www.vckbase.com/document/viewdoc/?id=1773
展开
 我来答
Storm代理 2023-05-30
展开全部
StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP纯净高匿;2、覆盖全球200+的国家与地区,超7000万住宅IP。3、高可靠性,24小时稳定运行,平均99.99%的可用率;4、性价比更高,便宜好用,单个IP也能享受最优价格,没有额外费用;5、易于使用,支持HTTP/HTTPS/SOCKS5协议,提供多种API参数,网络集成更快捷;6、客服全天在线为您排忧解难,并可根据您的业务需求制定更合适的代理…
jz256
推荐于2018-04-06 · TA获得超过102个赞
知道小有建树答主
回答量:281
采纳率:0%
帮助的人:259万
展开全部
首先你要明白路由是不是共享式NAT上网的,也就是说router port nat出去的数据是一直堆叠或者持续变动的,而不做端口映射基本没有实现的可能!

当然如果是静态NAT,那么直接做静态NAT就可以了!

如楼上灰鸽子,是直接通过本地服务端(中灰鸽子端)连接广域网客户端(控制端),然后服务端和建立的联系。如通过80端口出数据,穿透防火墙等等。

你可以尝试修改数据包出去的port,同时在两个端进行修改!
-------------
抓取到数据包的时候注意地址段,关键在于让路由到router nat到数据包的时候,能找到你的主机A或者W。
你可以参照一些三层更新之类的软件。
北京智和信通
2023-07-25 广告
SNMP(Simple Network Management Protocol)是一种用于网络管理的协议,它允许网络设备商开发网管软件来监控和管理网络设备。目前,市面上有很多支持SNMP协议的网管软件,其中一些可以支持国产软硬件。具体来说,... 点击进入详情页
本回答由北京智和信通提供
topcol
2009-12-15 · TA获得超过1977个赞
知道大有可为答主
回答量:1213
采纳率:0%
帮助的人:547万
展开全部
另加个辅助连接的服务器,远程控制软件TeamViewer就是这样做的;路由器上的UPnP功能也可以啊,迅雷上就可以开启UPnP自动映射端口功能
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bin091214
2009-12-14
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
【我是楼主,修改不了了,新开个号来说明下】

我有认真看了那篇文章。说下我的具体实现思路吧:
W为WEB服务器,提供HTTP
S为位于NAT下的TCP服务器
A为需要连接S的TCP客户端

首先,S用TCP方式登录W,W记录下S的外口IP及端口
A想要向S发起TCP连接,那么A先用TCP方式向W发起HTTP请求,W把S的外口IP及端口反馈给A,并记录下A的IP及端口
W通知S“A要对你进行连接”,并把A的外口IP及端口发送给S
S接收到通知后,向A发起一次TCP连接,并转为监听状态,同时告诉W“我准备好接受连接了”
W再通知A“可以进行连接”
最后,A向S发起TCP连接请求

整个就是UDP打洞的原理。只是之前一直没想到TCP也可以这么干。大家说说看这样能不能实现?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
兔磴洋柿子
2009-12-14 · 独树非凡 惊艳万千 简单显眼
兔磴洋柿子
采纳数:624 获赞数:2262

向TA提问 私信TA
展开全部
这是一条动态的 端口影射 在 PAT 路由上
192.168.0.2 11111 10.0.0.2 22222

HTTP 保留 10.0.0.2 22222 载把这个消息 告诉 A A拿这个 连接能连接么?

一个TCP 连接的 三握手 怎么 搭建 ?

UDP 的我感觉可以。

不过 这样的技术确实存在 。迅雷 就是很典型的 是么? 共同学习吧 。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
卡卡多多120
2009-12-14 · TA获得超过340个赞
知道答主
回答量:325
采纳率:100%
帮助的人:186万
展开全部
1 把你的计算机做成服务器
2 装黑客软件
友情提示:单开FTP文件传输协议很危险
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式