让我感到困惑的是,据我所知,在我的程序中使用套接字通常是客户端从操作系统获取其端口号,而只有当你有一台服务器时,才绑定你的套接字到一个不同的端口,对吗?
在我的文献以及网络上的教程和代码片段中,我没有找到客户端应该使用固定端口号的任何线索。
那么现实情况如何?我可能错过了一点吗? 是否有使用固定端口的客户端应用程序? 用防火墙阻止远程端口实际上是有用吗? 如果是的话,这给你带来了多大程度的增加安全性?
感谢事先的启发......
答案 0 :(得分:0)
在发送之前未明确绑定到一个地址和/或端口时,总是会得到一个随机地址和/或端口。
守护进程通常绑定到固定端口,因此:
是否有使用固定端口的客户端应用程序?
有些可以像BIND9那样进行配置。
是否可以阻止带防火墙的远程端口?
不,因为你的同伴可能会选择他的任何一个端口。阻止他,你会失去一个客户,可以这么说。
答案 1 :(得分:0)
虽然默认API允许网络堆栈为客户端连接选择本地端口,但客户端可能出于各种原因指定固定端口。