Skip to content
  • Категории
  • Последние
  • Метки
  • Популярные
  • Пользователи
  • Группы
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • По умолчанию (Нет скина)
  • Нет скина
Collapse

Networks Engineering

  1. Главная
  2. Информационная безопасность
  3. Сетевая безопасность
  4. Stealtwatch SMC: ошибка REST API Invalid JSON

Stealtwatch SMC: ошибка REST API Invalid JSON

Запланировано Прикреплена Закрыта Перенесена Сетевая безопасность
6 Сообщения 0 Posters 0 Просмотры
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Ответить
  • Ответить, создав новую тему
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • M Не в сети
    M Не в сети
    mofnoc
    написал в отредактировано
    #1

    Здравствуйте, команда!
    Когда я выполняю POST (PowerShell), SMC возвращает ошибку: {
    "errors" : [ {
    "code" : 5060,
    "message" : "The Request received is invalid"
    }, "Invalid JSON." ]
    } Вот часть скрипта PowerShell, который я использую: # JSON query body
    $body = '{
    "startDateTime": "2026-02-10T08:00:00Z",
    "endDateTime": "2026-02-10T08:05:00Z",
    "recordLimit": 10,
    "subject": {
    "orientation": "CLIENT",
    "ipAddresses": {
    "includes": ["192.168.0", "10.20"]
    }
    },
    "peer": {
    "ipAddresses": {
    "includes": ["192.168.0", "10.20"]
    },
    },
    "flow": {
    "tcpUdpPorts": {
    "includes": ["80-9000/tcp", "67-68/udp"]
    },
    "flowDirection": "BIDIRECTIONAL",
    }' # POST query
    curl.exe -k -X POST "https://{smc-address}/sw-reporting/v2/tenants/{tenant-id}/flows/queries" -H "Cookie: stealthwatch.jwt=$JWT"
    -H "X-XSRF-TOKEN: $XSRF_TOKEN" -H "Content-Type: application/json"
    -d $body Идентификатор арендатора и теги (имя, ID) извлечены успешно
    Все, что я делаю, соответствует этой документации:
    https://developer.cisco.com/docs/stealthwatch/enterprise/reporting-api-version-2/ Возможно, я что-то упустил в своем json Версия
    Stealthwatch — 7.5.3

    1 ответ Последний ответ
    0
    • M Не в сети
      M Не в сети
      mofnoc
      написал в отредактировано
      #2

      Привет,
      Jesus.
      Я пробовал с запятой и без запятой — результат тот же.
      Проверил свой запрос с помощью jsonlint, он был зеленый.
      Вставил этот запрос после флага -d, но ничего не изменилось, та же ошибка. curl.exe -k -X POST "https://{scm-address}/sw-reporting/v2/tenants/{tenant-id}/flows/queries" -H "Cookie: stealthwatch.jwt=$JWT" -H "X-XSRF-TOKEN: $XSRF_TOKEN" -H "Content-Type: application/json" -d '{ "startDateTime": "2026-02-18T08:00:00Z", "endDateTime": "2026-02-18T08:36:00Z", "recordLimit": 50
      }' Я запустил этот скрипт из Linux (преобразовал в bash), и он работает как ожидалось curl -k -X POST "https://{scm-address}/sw-reporting/v2/tenants/{tenant-id}/flows/queries" \ -H "Cookie: stealthwatch.jwt=$JWT" \ -H "X-XSRF-TOKEN: $XSRF_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "startDateTime": "2026-02-18T08:00:00Z", "endDateTime": "2026-02-18T08:36:00Z", "recordLimit": 50
      }' На данный момент я решил использовать Linux для этой задачи, поэтому эта тема для меня больше не актуальна.
      Я обсудил эту проблему со своим коллегой-администратором Windows, но он тоже не смог мне помочь.
      Мы думаем, что PowerShell каким-то образом неявно изменяет запрос json, и SMC не может его понять
      . Спасибо.

      1 ответ Последний ответ
      0
      • J Не в сети
        J Не в сети
        Jesus Illescas
        написал в отредактировано
        #3

        Я не знаю Stealthwatch, но поскольку ошибка связана с недействительным json, я проверил vscode json linter и увидел ошибку в запятой после «BIDIRECTIONAL». "flowDirection"
        :
        "BIDIRECTIONAL"
        ,
        <

        This comma at the end Исходя из опыта работы с json, запятая нужна только в том случае, если в списке/объекте есть несколько элементов. Удалите запятую и попробуйте еще раз. ![JesusIllescas_0-1770985778168.png]

        1 ответ Последний ответ
        0
        • M Не в сети
          M Не в сети
          mofnoc
          написал в отредактировано
          #4

          Это не помогло, та же ошибка.
          Я даже упростил запрос, но проблема осталась. # JSON query body
          $body = @{ "startDateTime" = "2026-02-01T08:00:00Z" "endDateTime" = "2026-02-10T08:50:00Z"
          } $jsonBody = $body | ConvertTo-Json -Compress # POST query
          curl.exe -k -X POST "https://{scm-address}/sw-reporting/v2/tenants/{tenant-id}/flows/queries" -H "Cookie: stealthwatch.jwt=$JWT" -H "X-XSRF-TOKEN: $XSRF_TOKEN" -H "Content-Type: application/json" -d $jsonBody

          1 ответ Последний ответ
          0
          • J Не в сети
            J Не в сети
            Jesus Illescas
            написал в отредактировано
            #5

            Привет
            [, @mofnoc] попробуй следующее: $body = @{ "startDateTime" = "2026-02-01T08:00:00Z", "endDateTime" = "2026-02-10T08:50:00Z"
            } Я добавил запятую, учитывая, что у вас два элемента. Я предлагаю использовать json linter, чтобы исключить ошибки из-за пропущенных элементов. Я использую vscode, но есть и онлайн-инструменты, такие как
            https://jsonlint.com/.
            Просто убедитесь, что вы не размещаете в Интернете конфиденциальные данные. Если linter даст зеленый свет, то я бы пока отбросил переменные и вставил простой текст json прямо в флаг -d curl.

            1 ответ Последний ответ
            0
            • J Не в сети
              J Не в сети
              Jesus Illescas
              написал в отредактировано
              #6

              Спасибо, что поделились тем, что сработало для вас
              [, @mofnoc.]
              Я не пользователь Windows, поэтому для меня это странно. Я отмечу ваш последний комментарий как решение.

              1 ответ Последний ответ
              0

              Здравствуйте! Похоже, вам интересна эта беседа, но у вас пока нет учетной записи.

              Вы устали просматривать одни и те же посты каждый раз, когда заходите на сайт? После регистрации, вам не придётся искать обсуждения в которых вы принимали участие, настройте уведомления о новых сообщениях так как вам это удобно (по электронной почте или уведомлением). У вас появится возможность сохранять закладки и ставить лайки постам, чтобы выразить свою благодарность другим участникам сообщества.

              С вашими комментариями этот пост может стать ещё лучше 💗

              Зарегистрироваться Войти
              Ответить
              • Ответить, создав новую тему
              Авторизуйтесь, чтобы ответить
              • Сначала старые
              • Сначала новые
              • По количеству голосов


              • Войти

              • Нет учётной записи? Зарегистрироваться

              • Login or register to search.
              • Первое сообщение
                Последнее сообщение
              0
              • Категории
              • Последние
              • Метки
              • Популярные
              • Пользователи
              • Группы