dnsdist 控制台的 Python 客户端
项目描述
dnsdist 控制台的 Python 客户端
从 Python 与 dnsdist 控制台交互的工具。
目录
安装
该模块可以从pypi网站安装
pip install dnsdist_console
生成控制台密钥
您必须将 dnsdist 负载均衡器配置为接受与控制台的远程连接。该模块可用于生成密钥,如下所示。
一行命令
python3 -c "from dnsdist_console import Key;print(Key().generate())"
OTgmgAR6zbrfrYlKgsAAJn+by4faMqI1bVCvzacXMW0=
/etc/dnsdist/dnsdist.conf
使用setKey
指令将其保存在您的中。
controlSocket('0.0.0.0:5199')
setKey("GQpEpQoIuzA6kzgwDokX9JcXPXFvO1Emg1wAXToJ0ag=")
生成哈希密码
您可以使用此模块为您的 dnsdist 的网络服务器生成哈希。从 1.7.0 开始,密码应该被散列和加盐。
一行命令
python3 -c "from dnsdist_console import HashPassword as H;print(H().generate(\"bonjour\"))"
$scrypt$ln=10,p=1,r=8$SZmi+pjuZ4u7L4jhXIkLww==$VRW7BuYUjSVjkjDIK6J1VB/RWx2s4gbz+YXgflWspf8=
运行命令
使用 dnsdist 的 IP 地址和 TCP 端口以及关联的密钥配置客户端。如果提供的密钥不正确,则会引发异常。
from dnsdist_console import Console
console_ip = "127.0.0.1"
console_port = 5199
console_key = "GQpEpQoIuzA6kzgwDokX9JcXPXFvO1Emg1wAXToJ0ag="
console = Console(host=console_ip,
port=console_port,
key=console_key)
有关所有可用命令,请参阅dnsdist 文档。
o = console.send_command(cmd="showVersion()")
print(o)
dnsdist 1.4.0
获取统计信息
使用此模块提取有关 dnsdist 负载平衡器的一些统计信息。统计信息存储在 python 字典中。
from dnsdist_console import Statistics
s = Statistics(console=console)
print(s["global"]["queries"])
3993
# get top queries
print(s["top-queries"])
[
{'entry': 'www.apple.com.', 'hits': '9'},
{'entry': 'www.facebook.com.', 'hits': '3'},
{'entry': 'www.microsoft.com.', 'hits': '3'}
]
# get top nx domain
print(s["top-nxdomain"])
[
{'entry': 'www.nxdomain.com.', 'hits': '1'}
]
# get top clients
print(s["top-clients"])
[
{'entry': '127.0.0.1', 'hits': '21'}
]
显示基本仪表板
您可以使用此客户端从命令行显示 dnsdist 的仪表板。仪表板每秒更新一次。
from dnsdist_console import Dashboard
Dashboard(console=console)
运行您的脚本,您将看到如下所示的内容。
Dashboard for dnsdist
Global:
Uptime (seconds): 47735
Number of queries: 0
Query per second: 0
ACL drops: 0
Dynamic drops: 0
Rule drops: 0
CPU Usage (%s): 2.8
Cache hitrate: 0
Backends:
#0 / 10.0.0.140:53 / -- / dns_others
Number of queries: 0
Query per second: 0.0
Number of drops: 0
#1 / 10.0.0.55:53 / -- / dns_internal
Number of queries: 0
Query per second: 0.0
Number of drops: 0
#2 / 8.8.8.8:53 / -- / dns_internet
Number of queries: 0
Query per second: 0.0
Number of drops: 0
#3 / 1.1.1.1:53 / dns_1 / --
Number of queries: 0
Query per second: 0.0
Number of drops: 0
Ctrl+C to exit
项目详情
关
dnsdist_console -1.4.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3e1a3b66c806c63484caa1a024641db60e22042c5aeecb672d94cc22b08d7aa3 |
|
MD5 | 04b0bfc46be662f54b74e6959cddce41 |
|
布莱克2-256 | 3c4c12998cfc472a7e52695e410c25afa8cbca0a2cb9332626d8d77b6e70c239 |
关
dnsdist_console -1.4.1-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 58ac5142e247794d3d5d5cf7ba0201d1d828f88aa79851cbf215d226caced4f5 |
|
MD5 | 5657f34c23a0da7cbe2e56aaf91bf340 |
|
布莱克2-256 | 627dc9c17e2c1d19f765943cfd42de122012a4e0e834b594d0df411905ce15b4 |