问一个 TCP 相关的问题

2020-10-24 13:23:19 +08:00
 FreeWong
如果你在一个有固定 IP 的计算机(没有 NAT 转换)上开发一个 TCP 客户端,并且这个 TCP 客户端使用固定的本机端口号(由于没有 NAT 转换所以每次都是固定的端口号去连接到服务器)去连接 TCP 服务器
穷尽你所有的想象,有没有可能服务端会看到多个相同 IP 地址及端口号的 TCP 客户端(我用一个数组来保存 TCP 客户端的信息)包括那些虚链接(死链接)
如果你认为有可能,能不能说下怎么重现此情景。。。
我自己来编码实现
多谢多谢
1632 次点击
所在节点    问与答
5 条回复
nccer
2020-10-24 15:54:53 +08:00
syn flood 攻击。
FreeWong
2020-10-24 16:15:06 +08:00
@nccer 多谢多谢
blackeeper
2020-10-24 17:39:03 +08:00
不可能,tcp 连接的四元组:服务端 IP+端口------客户端 IP+端口。
[客户端 IP+端口] 都不变的话,服务端只能看到一个的 [客户端 IP+端口] 连接的客户端。
这个 tcp 连接包可以发送多次,但是建立连接后只有一个。
ysc3839
2020-10-24 19:52:54 +08:00
不可能,TCP 协议栈实现正确的话,某个 IP 端口的客户端建立连接后,想重复建立连接会被拒绝的。
flynaj
2020-10-25 00:11:40 +08:00
客户端不可能端口一样的,每次连接都是不同的端口。我建议你还是先了解一下 TCP 基础知识。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/718147

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX