c++ - 用于查看互联网连接和构建防火墙的 Shell 脚本或 C++ 库

标签 c++ security shell ubuntu firewall

(我使用 Ubuntu)

我正在寻找编写防火墙程序的一些指导,该程序首先拒绝每个端口/ip,并通过在程序想要访问互联网时询问您来创建规则,就像已停产的产品 Kaspersky Anti Hacker for Windows。我特别想在浏览网页时使用它。因此,如果我的网络浏览器想要访问 stackoverflow.com,程序应该询问我是否应该连接到 stackoverflow.com 的 ip 地址,或者当 torrent 客户端想要连接对等点时,它应该询问允许该端口还是允许该 ip/仅端口。

我使用过 gufw,但在添加规则之前我必须知道端口/IP,所以它不是我想要的那样。自上次发布是在 2005 年以来,我也试图远离 Firestarter。所以我决定自己编写。

我只需要一些关于这个主题的建议。它可以是一个终端命令来查看我与其他计算机建立的连接,或者是一种在建立连接之前进行提示的方式,一个听起来像这样的开源项目,或者一个 c++ 库/shell 程序,我可以用它来编写程序这...任何线索都足够了。

如果您能指出正确的方向,我将不胜感激。

附言。我熟悉 c++、shell 和 php,但这无关紧要。

最佳答案

嗯,您似乎只对 Windows 感兴趣。如果是这样,您可能希望查看 Windows 分层套接字提供程序 (LSP) 基础结构。

简而言之,您可以编写 DLL,它会自动加载到任何使用 Winsock 的应用程序中。此 DLL 可以拦截对任何 Winsock 函数的调用,如 connect()send() 等。当此类调用被拦截时,您可以向用户显示一些窗口,询问他是否愿意连接到这个地址。

因此,这可用于构建您正在考虑的防火墙应用程序。

Microsoft 网站上应该有很多关于如何创建 LSP 的文档,但我记得 Komodia 公司的一个特别好的例子 - http://www.komodia.com/lsp/lsp-sample .

关于c++ - 用于查看互联网连接和构建防火墙的 Shell 脚本或 C++ 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9257420/

相关文章:

linux - 如何从特定行启动 shell 脚本?

c++ - 使用 CreateProcess 函数

C++ 对象的前向声明

c++ - 如何在 code::blocks 中更改构建选项?

security - *intranet* REST API 调用应该如何保护?

ruby - 在 Ruby shell 脚本中运行 OS X `say` 命令而不退出

linux - Shell脚本从5个不同的目录获取数据

c++ - C++中的静态结构和静态全局变量

java - 自定义登录表单 - Spring Security

security - Inkscape 的 --vacuum-defs 是否使 SVG 真正安全?