首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java + ServerSocket +防火墙

Java + ServerSocket +防火墙
EN

Stack Overflow用户
提问于 2012-08-26 04:19:33
回答 1查看 3K关注 0票数 0

我有一个用Java写的带有ServerSocket的服务器。

我有一个客户端,它越过了一个企业防火墙,阻止了除公共端口以外的所有东西。

我已经在SMTP端口(#25)上启动了服务器。

有防火墙的用户连接到它,到目前为止一切正常。

然后,服务器处理ServerSocket.accept()。据我所知,它会在一个随机端口上创建一个套接字(每次端口号都不同)。并且因为防火墙而失败。

我的问题是-如何让ServerSocket.accept()从我的白名单中为套接字选择端口?我知道它不适合海量在线,但我想让一个我的朋友,以便能够连接到我的服务器。

有可能吗?又是如何做到的?

EN

回答 1

Stack Overflow用户

发布于 2012-08-26 04:34:49

服务器套接字不会随机选择端口。是客户端套接字选择了随机端口。我的猜测是你的防火墙是智能的,它知道检测连接是否被某种dpi (深度包检测)批准。

如果你想误导它,你可以尝试在前2-3个包中运行看起来像smtp的数据,然后切换到你的协议。

另一种选择是在系统外部使用一种连接器,在这种情况下,两台机器都是通过第三个客户端连接的客户端(有许多这样的代理)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12125339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档