0

我正在尝试使用 Nitro 在我的 NetScaler 上获取 ns.log 文件的内容。这是代码

$URL = 'https://$NSIP/nitro/v1/config/systemfile/ns.log?args=filelocation:%2fvar%2Flog'
$varlog = Invoke-WebRequest -Method Get -uri $URL  -UseDefaultCredentials | ConvertFrom-Json

我得到了文件本身的详细信息(下面的输出),但它缺少文件内容部分

filename : ns.log filelocation : /var/log fileencoding : BASE64 fileaccesstime : Wed Apr 26 01:00:01 2017 filemodifiedtime : Wed Apr 26 07:19:23 2017

事实上,当我尝试获取 var/log 文件夹中任何文件的内容时,我遇到了同样的问题。当我在任何其他文件夹上尝试此操作时,它工作得很好。当我使用 Putty 时,我可以很好地阅读这些文件。

我发现一篇 Citrix 文章说文件大小限制为 2MB(不确定限制是什么)但我的 ns.log 文件只有 49kB

有谁知道在 NetScaler 上使用 nitro 的任何其他限制,或者找到了获取文件内容的方法

4

1 回答 1

0

有一个 GUI 功能可以做到这一点。它在 System - Auditing 下,选择“Recenet Audit Messages”。从这里我相信您能够使用开发人员工具来分析有效负载。使用的特定命令属于 rapi 而不是 NITRO api,因此您不会找到任何文档。

Request URL: http://hostname/rapi/remote_shell
payload:object: {"params":{"warning":"YES"},"remote_shell":{"command":"show audit messages -logLevel ALL -numOfMesgs 20","prompt":">show audit messages -logLevel ALL -numOfMesgs 20","target":"cli"}}
于 2020-04-22T13:29:31.107 回答