【发布时间】:2020-03-15 02:56:21
【问题描述】:
对不起,这是一个菜鸟问题,但我不明白端口是如何工作的。 我认为当我通过服务器上的 TcpListener 在 C# 中打开一个 tcp 端口时,任何人都可以连接到它。但是,我只希望我的应用程序客户端连接到端口并发送我的预定义数据包。任何人都可以连接到端口并发送可能会损害我的计算机的数据吗?还是只是可以发送随机数据,然后我的数据包处理程序错误地解释了这些数据?
我希望我能清楚地表达我的问题。提前致谢
【问题讨论】:
-
我猜你说的是服务器端,但如果你可以编辑你的帖子来澄清这一点,那就太好了。
-
您可以采取一些预防措施来拒绝您知道有效的客户以外的客户。在应用层,您可以应用 IP 限制(检查远程 IP 并根据您在配置中保留的 IP 地址白名单进行验证)、客户端证书等。
-
网络层还有一些其他的措施。防火墙可以阻止除明确允许通过的连接之外的所有连接,或者您的应用程序运行的服务器只能通过租用线路等访问。但默认情况下,当您开始侦听端口时,没有限制谁将连接到它。
标签: c# security tcp network-programming tcpclient