您好,堆栈溢出社区,
我最近是在c Sharp中工作的.net开发人员。现在,我正在尝试编写一组单元测试来测试mysql数据库的安全性。测试套件的一部分是确保mysql数据库不能接受来自某些IP地址的连接。我一直在尽力找到一种测试方法。到目前为止的想法是:
模拟我当前拥有的IP地址,以便我建立的连接认为它来自另一个IP地址
SSH进入具有不可接受的IP地址之一的远程服务器,并执行shell命令以建立与mysql服务器的连接
我还没有找到手动更改发送到mysql服务器的IP地址的方法。我正在使用MySql.Data.MySqlClient程序集中的MySqlConnection类。据我的研究表明,这是不可能的。 (这可能是一件好事)
通过研究,我了解到.Net没有本地SSH库,并且该项目无法实现,这使我无法执行#2的能力。
因此,我对如何继续感到困惑。有没有人在模拟数据库连接和控制原始ip方面有任何经验? (或与此有关的任何其他信息)?
任何帮助或资源,我们将不胜感激。
谢谢
最佳答案
对于那个特定的任务来说,这可能算是太过分了,但是我的看法是这样。
您需要一个代理服务器,其IP地址在您的MySQL实例上被禁止。
然后测试连接是否成功,只需直接从您的计算机连接到MySQL(它应该可以正常连接)。
然后测试失败的情况,通过代理重定向请求(我希望MySQLClient允许,无论如何您都可以自己创建一个简单的代理)。在这种情况下,连接应失败。
关于c# - 远程Mysql连接.NET C的模拟IP地址,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18390399/