[问答] 行动网络的三向交握

楼主: TEMU2000   2014-12-28 23:04:24
最近在开发APP应用,使用TCP Socket做Server与Client通讯
遇到了一些状况,使用netcat搭配Wireshark来做测试
在Server没有打开某个port的情况下
理论上发送SYN封包过去因该会被主机以RST,ACK回绝的
可是在中华3G/4G网络的情况下,居然可以正常建立Socket连线(SYN,ACK)
但无法进行任何互动
上网找资料找了很久,有看到一篇外国讨论区文章提到电信公司可能会针对行动网络
自动对SYN封包回复SYN,ACK,以节省网络负载量或防止port scan
请问有人遇到这种状况吗?
被这问题弄得蛮烦恼的...(Server根本没开还可以成立连线)
PS:测试方式,在一般固网的环境使用nc连结某台主机某个未使用port应该会立即断线
如果切到3G网络后nc却不会直接断线,就是这个状况
作者: danny8376 (钓到一只猴子@_@)   2014-12-29 00:43:00
也不一定会RST啊 防火墙也可能直接DROP到好奇你到底是要做什么 一定要收到RST
楼主: TEMU2000   2014-12-29 13:29:00
我自己的Server目前是把防火墙关闭的,目前设计的程式如果连线失败会尝试别的服务器,但如果遇到这种状况就会卡在那边了,设定timeout的话又会产生其他问题
作者: asdfghjklasd (好累的大一生活)   2014-12-29 16:09:00
简单啊.不要看这个啊..只要没看到data就换台
楼主: TEMU2000   2014-12-29 18:37:00
这样要设定timeout的是timeout太短在网络繁忙时会有问题timeout太长又会导致使用者等太久orz
作者: deadwood (T_T)   2014-12-29 20:28:00
判断有没有收到特定封包(能确认是server发的)应该可以吧
作者: asdfghjklasd (好累的大一生活)   2014-12-29 20:36:00
设2-3秒最多5秒

Links booklink

Contact Us: admin [ a t ] ucptt.com