批量获取FreeSWITCH所有分机号及其密码

简介: 批量获取FreeSWITCH所有分机号及其密码

前言

有次项目上需要获取所有FreeSWITCH注册分机的分机号和密码,就用python写了个小脚本来获取。

可以先把freeswitch/conf/directory/default/目录下的所有xml文件拷到一个临时空文件夹,避免操作失误影响生产业务。

将编辑好的python脚本放到同一目录下执行即可。

执行完成后会生成一个名为password1.txt文件,其中包含了分机号与密码。

当时写的比较粗糙,只是能用,有待改善。

python脚本

# 此脚本用于解析当前文件夹分机号的xml文件,并提取出用户名和密码
# 需要python3
# 需要pip安装lxml
# version: 1.1
import os
from lxml import etree
# import sys
def getFilelist():
    filenames = os.listdir()
    return filenames
def parseXML(filename):
    '''解析xml文件,并返回字符串'''
    with open(filename,'r',encoding="utf-8") as f:
        content = f.read()
        xmlc = etree.XML(content)
        user = xmlc.xpath('//user/@id')[0]
        passwd = xmlc.xpath('//params/param/@value')[0]
        user_pwd = user + "," + passwd
        return user_pwd
def savetest(alist):
    '''保存'''
    with open("password1.txt","a",encoding="utf-8") as f_obj:
        f_obj.write(alist)
        f_obj.write('\n')
        f_obj.close()
if __name__ == "__main__":
    filenames = getFilelist()
    for filename in filenames:
        # usernum = int(filename.split(".")[0])
        try:
            if filename.split(".")[1] != "xml":
                print(filename)
            else:
                user_pwd = parseXML(filename)
                userNum = int(user_pwd.split(",")[0])
                savetest(user_pwd)
                # if userNum >= 1400 and userNum <= 2000:
        except:
            pass
相关文章
freeswitch 默认拨号方案(下)
freeswitch默认拨号方案中(conf/dialplan/default.xml)设置了一些基本的测试功能和PBX电话系统功能 包含了分机互拨及简单IVR功能
|
9月前
|
Ubuntu Shell Linux
Shell批量SSH免交互登录认证
Shell批量SSH免交互登录认证
|
存储 缓存 网络安全
OpenLDAP集成sssd同步用户并集成SSH登录
OpenLDAP集成sssd同步用户并集成SSH登录
531 2
|
Unix 数据安全/隐私保护
更改FusionCompute8.0 Web端管理系统密码(修改VRM节点的root帐户密码)
更改FusionCompute8.0 Web端管理系统密码(修改VRM节点的root帐户密码)
1020 0
更改FusionCompute8.0 Web端管理系统密码(修改VRM节点的root帐户密码)
|
网络协议 Unix
Freeswitch 控制台与命令客户端
Freeswitch 控制台与命令客户端
|
XML 5G 数据格式
freeswitch 默认拨号方案(上)
freeswitch默认拨号方案中(conf/dialplan/default.xml)设置了一些基本的测试功能和PBX电话系统功能 包含了分机互拨及简单IVR功能
|
Web App开发 数据库 数据安全/隐私保护
|
数据安全/隐私保护 分布式计算 Hadoop