如何阻止与特定FTP服务器的连接

如何阻止与特定FTP服务器的连接,ftp,connection,keylogger,Ftp,Connection,Keylogger,我正在考虑编写一个反键盘记录器/防鼠应用程序。基本上,我想要它做的是: 监控传出ftp流量(可能会监控所有传出流量,并有一个通过ftp进行过滤的选项) 分析标题以找到潜在的键盘记录者/老鼠 嗅出任何此类连接的FTP地址 阻止(或允许用户选择阻止)到这些地址的连接 我想我可以处理步骤1-3,我知道我可以阻止所有的FTP通信,但是我如何才能阻止特定的地址呢 顺便提一句,有人能推荐一些使步骤1-3更容易的库吗?或者,如果存在第4步的藏书库。我不介意编写针对多个操作系统的代码。允许您监控传入/传出流量,

我正在考虑编写一个反键盘记录器/防鼠应用程序。基本上,我想要它做的是:

  • 监控传出ftp流量(可能会监控所有传出流量,并有一个通过ftp进行过滤的选项)
  • 分析标题以找到潜在的键盘记录者/老鼠
  • 嗅出任何此类连接的FTP地址
  • 阻止(或允许用户选择阻止)到这些地址的连接
  • 我想我可以处理步骤1-3,我知道我可以阻止所有的FTP通信,但是我如何才能阻止特定的地址呢


    顺便提一句,有人能推荐一些使步骤1-3更容易的库吗?或者,如果存在第4步的藏书库。我不介意编写针对多个操作系统的代码。

    允许您监控传入/传出流量,并根据文件中指定的一组规则工作。一旦您使用snort检测到具有特定IP/端口/主体的流量流出,请与防火墙一起使用以阻止该IP/端口的流量。

    @Jonatan我希望它对操作系统不敏感。但我想我可以检测OS,然后使用IPTABS/NETS/IPFW,这是很好的,但是我正在编写我想部署到其他机器的软件,所以我不能依赖其他应用程序。尽管有C++库(LIbpCAP)允许你从接口捕获流量,这些库在操作系统上工作,当您看到数据包时,它已经被发送/接收。在任何情况下,你都将不得不操纵操作系统的路由表/防火墙,如果你想在多个平台上运行,你必须编写操作系统特定的例程来修改这些资源,这与SnortSAM已经做的非常相似。嗯,这正是我想做的。捕获ftp流量,找到键盘记录器,获取其地址,并阻止该地址以备以后使用,这样就不会发送更多的数据包。基本上,如果您将snort和snortSAM结合起来。好吧,这两者结合起来可以做的一小部分。我想这个问题应该用“如何/哪些库将有助于以编程方式访问/更改多个平台的防火墙规则”来表达,不确定是否有专门为此设计的库-您使用的是什么语言?我冒昧地说,您最好的选择是编写特定于平台的bash/ksh脚本,将IP添加到平台的防火墙,然后从您的应用程序调用这些脚本。我不知道。我想我会用C++写的,但我并不在乎。也许我会把大部分内容写在C语言甚至Python中,然后在C++中编写一些棘手的东西,然后把它包起来。不过,bash这件事听起来是个不错的主意。那我当然得修改一下我的bash技巧。。