步骤 1: 获取 python
在 Windows 上安装 python 时, 请确保启用 "将 python.exe 添加到路径"
- OSX Mac: Python 2.7.x 已安装。转到步骤 2。
- Linux: Python 已安装(通常为 2.7.x)。转到步骤 2。
步骤 2: 获取泛型 python
转到 https://github.com/kevinsteves/pan-python/releases
- 窗口: 下载源代码 (.zip)
- Mac OSX 和 Linux:下载泛蛇 - x. x. x.tar.gz 并解压缩文件。
步骤 3: 打开终端- 窗口: 按温基® R 。 。在"运行"对话框中,键入"cmd",然后按 Enter
- Mac OSX :导航到应用程序 - >公用事业 - >终端
- Linux: 大多数发行版都有一个可以运行的终端程序。
第 4 步:在终端导航到泛蛇
在终端中,使用"cd"命令导航到您之前未压缩的新目录中的"bin"目录。
例如 :cd c:\用户<username>\[下载]泛巨蛇-x.x.*bin</username>
步骤 5:为连接到该步骤时生成 API 密钥 firewall
PAN-OS API ,该连接必须包括用于 API firewall 验证连接来自特定管理员的密钥。在此示例中,我们将 API 为默认管理员用户生成密钥。
在终端中运行此命令, API 为管理员用户生成密钥。在此示例中," firewall 管理 IP "为 10.1.1.5, firewall 凭据为用户名管理员和密码管理员。
python panxapi.py -h 10.1.1.5 -l admin:admin -k
keygen: success
API key: "LUFRPT14MW5xOEo1R09KVlBZNnpnemh0VHRBOWl6TGM9bXcwM3JHUGVhRlNiY0dCR0srNERUQT09"
记录输出的 API 键。它将用于 所有 后续 API 呼叫。
第 6 步: API 拨打几个电话
API 具有许多功能,包括提取统计数据、修改配置和检索日志、报告和 pcap 的能力。下面是一些你可以 API 在任何测试的示例调用 firewall 。在每个 API 呼叫中,您都会将 API 密钥、操作类型以及告诉检索或执行操作的命令或 xpath 传递给脚本 firewall 。
示例 1:获取界面统计
python panxapi.py -h 10.1.1.5 -K "LUFRPT14MW5xOEo1R09KVlBZNnpnemh0VHRBOWl6TGM9bXcwM3JHUGVhRlNiY0dCR0srNERUQT09" -x -o "<show><counter><interface>ethernet1/1</interface></counter></show>"
示例2:获取 firewall "主机名"
python panxapi.py -h 10.1.1.5 -K "LUFRPT14MW5xOEo1R09KVlBZNnpnemh0VHRBOWl6TGM9bXcwM3JHUGVhRlNiY0dCR0srNERUQT09" -xr -s "/config/devices/entry/deviceconfig/system/hostname"
示例 3: 获取所有地址对象
python panxapi.py -h 10.1.1.5 -K "LUFRPT14MW5xOEo1R09KVlBZNnpnemh0VHRBOWl6TGM9bXcwM3JHUGVhRlNiY0dCR0srNERUQT09" -xr -s "/config/devices/entry/vsys/entry/address"
示例 4: 使用 IP 5.5.5.5 创建称为"测试对象"的新地址对象
python panxapi.py -h 10.1.1.5 -K "LUFRPT14MW5xOEo1R09KVlBZNnpnemh0VHRBOWl6TGM9bXcwM3JHUGVhRlNiY0dCR0srNERUQT09" -xr -S "<ip-netmask>5.5.5.5</ip-netmask>" "/config/devices/entry/vsys/entry/address/entry[@name='testobject']"
示例 5: 提交
python panxapi.py -h 10.1.1.5 -K "LUFRPT14MW5xOEo1R09KVlBZNnpnemh0VHRBOWl6TGM9bXcwM3JHUGVhRlNiY0dCR0srNERUQT09" -xr --sync -C "<commit></commit>"
步骤 7: 了解更多内容
- 请参阅"其他信息"部分中的链接。
- 在LIVE社区的 API 讨论领域 发布问题或进行讨论。