TcpListener 侦听本地网络设备

TcpListener listening to local network devices

提问人:Idra 提问时间:8/10/2023 更新时间:8/10/2023 访问量:24

问:

不确定我是否真的在这里使用了正确的术语。

我正在用 C# 编写一个简单的服务器,并使用 TcpListener 来侦听连接请求。我只想允许来自 (1) 我自己的电脑和 (2) 与我的电脑连接到同一路由器的设备发出的连接请求。

是否有任何已经这样做的东西,或者我必须自己实现它?(我没有设法找到任何已经实现的东西。

如果我必须自己实现这一点,一种方法是首先计算有效的 IP,然后监听这些 IP(也许在设备连接和断开网络连接时每隔一段时间更新一次侦听器)。另一种方法是简单地侦听 IPAddress.Any,当侦听器返回新的 TcpClient 时,只需验证其 IP(如果它无效,则关闭它)。

我倾向于第二种方法,因为它对我来说似乎要简单得多。然而,我想这容易受到某种形式的攻击。

去哪里的正确方式是什么?

C# TCP 局域网 TCPlistener

评论

0赞 Denis Schaf 8/10/2023
Consinder 只是使用 en 加密连接来确保其安全
0赞 Idra 8/10/2023
你能详细说明一下吗?我该怎么做呢?
0赞 Idra 8/10/2023
只需快速阅读有关此内容的信息,似乎您可以使用 SslStream 来做到这一点。但是,我认为我目前不会使用它,因为这并不是为了超级安全。所以我又回到了我最初的问题。
0赞 jdweng 8/10/2023
您要执行的操作称为端口转发。端口转发需要将多路复用器和解复用器数据连接到一个端口的两端。防火墙通常具有此功能。路由器没有该选项。
1赞 JonasH 8/10/2023
考虑使用更高级别的协议,tcp 是一种低级协议,需要您在上面定义自己的协议。使用现有的高级协议更容易,因为您可以使用现有的库和工具,并且许多库和工具都包含身份验证、加密和安全功能。静态限制对服务的访问是防火墙的用途。

答: 暂无答案