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

发布于 2025-01-04 18:52:53 字数 579 浏览 1 评论 0原文

(我使用 Ubuntu)

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

我已经使用了 gufw,但在添加规则之前我必须知道端口/IP,所以它不是我想要的那样。由于 Firestarter 的最后一个版本是在 2005 年发布的,所以我也试图远离 Firestarter。所以我决定编写自己的版本。

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

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

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

(I Use Ubuntu)

I'm looking for some pointers for writing a firewall program which denies every port/ip at first and creates rules by asking you whenever a program wants to access the internet, much like the discontinued product Kaspersky Anti Hacker for Windows. I especially want to use it on web browsing. So if my web browser wants to access stackoverflow.com the program should ask me if it should make a connection to stackoverflow.com's ip address, or when torrent client wants to connect a peer It should ask to either allow that port or allow that ip/port only.

I have used gufw but I have to know the port/ip before adding the rules so it isn't as I want it to be. I'm also trying to stay out of Firestarter since the last release was in 2005. So I have decided to write my own.

I just need some pointers on this subject. It can be a terminal command to see the connections I make with other computers, or a way to prompt before making connections, an open source project that sounds like this, or a c++ library/shell program that I can use to write a program for this... Any lead at all would suffice.

If you could point me in the right direction, I would appreciate it.

PS. I am familiar with c++ and shell and php but that's irrelevant.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浅唱々樱花落 2025-01-11 18:52:53

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

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

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

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

Hmm, you seem to be interested in Windows only. If so, you might wish to look at Windows Layered Socket Providers (LSP) infrastructure.

In short, you can write DLL, which would be automatically loaded into any application that uses Winsock. This DLL can intercept calls to any Winsock function like connect(), send() and etc. When such call is intercepted you can show user some window asking if he wish to connect to this address.

So, this can be used to build such firewall application you are thinking of.

There should be a lot of documentation on how to create LSP's on Microsoft site, but i remember especially nice example by Komodia company - http://www.komodia.com/lsp/lsp-sample.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文