开始与 API

开始与 API

83584
Created On 09/25/18 19:30 PM - Last Modified 03/26/21 16:51 PM


Symptom


  • 首次 API 用户开始尝试的基本知识 PAN-OS API
  • 利用泛蛇 SDK 从使用的基本示例开始 API


Environment


  • PAN-OS


Resolution


步骤 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 讨论领域 发布问题或进行讨论。


Additional Information




Actions
  • Print
  • Copy Link

    https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000ClZLCA0&lang=zh_CN&refURL=http%3A%2F%2Fknowledgebase.paloaltonetworks.com%2FKCSArticleDetail

Choose Language