本地DNS防火墙

dns-firewall的Python项目详细描述


DownloadsLatest VersionLicenseSupported Python implementations

DNS防火墙

用于检查和混合本地生成的DNS查询的代理。 可选托盘图标GTK接口。

基本原理

检查和过滤桌面应用程序生成的dns流量可能很棘手。 tcpdump之类的工具无法判断哪个运行进程生成了dns查询。 此外,netfilter无法按域名过滤流量,许多域解析为经常更改的IP地址。

一个典型的用例是监视浏览器、浏览器插件和扩展,以发现可疑的家庭呼叫或恶意/跟踪javascript,或通过dns查询泄漏数据的其他应用程序。

dns防火墙充当转发dns解析器。它在端口53上本地侦听,并只将允许的查询转发给外部解析器。

它检测试图解析域名的进程的名称,并基于此应用筛选规则。

功能

  • 按应用程序和域阻止DNS查询,或返回可配置的IP地址
  • 带有活动指示灯的托盘图标
  • 查看最近活动的日志窗口
  • 可以选择使用Tor网络解析名称

使用量

从conf.yaml.example创建conf.yaml

需要绑定到udp端口53。您可以以根用户身份运行该进程或安装 并配置authbind:

sudo apt-get install authbind
sudo touch /etc/authbind/byport/53
authbind --depth 2 ./dns_firewall/main.py conf.yaml

# or

sudo ./dns_firewall/main.py conf.yaml

添加-托盘以启用托盘图标和GTK界面。左键单击托盘图标以显示日志窗口。

用“nameserver 127.0.0.1”更新/etc/resolv.conf

发展状况

正在开发中。欢迎测试和贡献!

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在数据库中存储工作日数据以及开始时间和结束时间?   mysql Java JPA内部联接查询不起作用   java MQ消息在不同的客户端应用程序中显示不同   javascript如何在xPage上提高typeAhead性能?   java在尝试保存EditText时无法暂停   mongodb“未能使用带参数的构造函数NO_构造函数实例化java.util.List”,   java如何修改使IllegalArgumentException:列“\u id”不存在的游标   转换Android。网Uri到Java。伊奥。输入流   java NetBeans RCP居中弹出窗口无法按预期工作   java将sql开发人员与netbeans连接起来   带有xmldsig签名的java JAXB编组   java ORACLE JDBC批处理执行不会返回受影响行的实际计数   java无法理解如何在由swagger自动生成的jaxrs服务器中访问请求头   java如何处理漏洞CVE20181258,同时将Spring安全版本5与外部客户端(最新版本)一起使用?   JavaSpring数据JPA存储库多租户单模式技术