我有几个关于通过Tcp进行通信的C#.NET客户端/服务器应用程序的问题。
如何从缓冲区溢出攻击中最好地保护我的Tcp侦听器?我想象它发生在我读取与给定TcpClient的NetworkStream相关联的StreamReader的一行,但我不知道具体细节。
有人会指点我用一个非常好的TcpClient .NET和SSL(通过SslStream我猜)教程或文档吗?
谢谢你们。
答案 0 :(得分:2)
如果您尝试编写外部缓冲区,.NET会抛出异常。
这是一个非常广泛的问题。您只需使用SslStream包装NetworkStream并作为客户端或服务器进行身份验证。
示例:
var secureStream = new SslStream(tcpClient.GetStream());
MSDN得到了一个例子:http://msdn.microsoft.com/en-us/library/system.net.security.sslstream.aspx