Security 防火墙中的远程端口阻塞?

Security 防火墙中的远程端口阻塞?,security,firewall,ports,Security,Firewall,Ports,有些人在他们的笔记本电脑上使用防火墙,它不仅会阻止他们自己的本地传入端口(应用程序所需的端口除外),还会阻止消息,除非消息是从不同的端口号发出的。我们谈论的是一个本地UDP服务器,它正在收听UDP广播。 问题是远程客户端使用一个随机端口,比如1024,除非他们告诉防火墙接受它,否则该端口将被阻止 让我困惑的是,据我在程序中使用套接字所知,客户端通常从操作系统获取端口号,而只有当您有服务器时,才将套接字绑定到不同的端口,对吗 在我的文献、教程和web上的代码片段中,我没有发现任何线索表明客户端应该

有些人在他们的笔记本电脑上使用防火墙,它不仅会阻止他们自己的本地传入端口(应用程序所需的端口除外),还会阻止消息,除非消息是从不同的端口号发出的。我们谈论的是一个本地UDP服务器,它正在收听UDP广播。 问题是远程客户端使用一个随机端口,比如1024,除非他们告诉防火墙接受它,否则该端口将被阻止

让我困惑的是,据我在程序中使用套接字所知,客户端通常从操作系统获取端口号,而只有当您有服务器时,才将套接字绑定到不同的端口,对吗

在我的文献、教程和web上的代码片段中,我没有发现任何线索表明客户端应该使用固定端口号

那么这在现实中是怎样的呢?我可能遗漏了一点吗? 是否有使用固定端口的客户端应用程序? 使用防火墙阻止远程端口是否真的有用? 如果是,这会给您带来什么级别的附加安全性


感谢您事先的启发…

如果在发送之前没有明确绑定到一个地址和/或端口,您总是会得到一个随机地址和/或端口

守护进程通常绑定到固定端口,以便:

  • 您实际上可以联系他们,而不必尝试所有可能的端口或使用辅助解析器(还记得SUNRPC端口映射垃圾吗?)
  • 由于TCP套接字未绑定到端口时不允许侦听(),因此IIRC
是否有使用固定端口的客户端应用程序

有些可以这样配置,比如BIND9

使用防火墙阻止远程端口是否有用


不,因为你的同伴可以选择他的任何端口。可以说,阻止他,您将失去一个客户。

尽管默认API允许网络堆栈为客户端连接选择本地端口,但客户端可能会出于各种原因指定固定端口

  • 某些规范(FTP)指定客户端的固定端口。大多数服务器都不关心客户机是否正确获取了此信息
  • 一些客户机使用固定的端口池从LAN出口到Internet。这允许防火墙规则更完全地锁定出站流量
  • 源端口有时被用作弱类型的“隐蔽安全”

谢谢你,达伦。给你一个更详细的图片:客户端是嵌入式设备,笔记本电脑来自服务部门,偶尔会连接到这些设备。我正在编写客户的软件。所以我担心的是,我必须以某种方式告诉我的套接字类绑定到一个端口号,我很不愿意这样做,因为我觉得这很不寻常。或者我需要告诉操作系统/网络堆栈缩小可用端口的范围。关于服务器/deamons,很明显,否则将如何连接它们。;-)好的,我刚刚读了一些关于“端口敲门”的文章,这是非常有趣的东西,但似乎只针对非常专业的客户机/服务器对。我只是想知道为什么编程教程中没有提到“具有固定端口的客户端套接字”这一点。如果我知道这是“网络世界”中的一个选项,我不会感到惊讶。这就是为什么我问是否真的这样做了。(请参阅我对达伦回答的评论)