cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Former Member
Not applicable
Report Inappropriate Content
Message 1 of 2

Unable to send deserialized data to a Web API (ipsGetAlertPacket)

I am trying to get packet data using ipsGetAlertPacket (API for SIEM version 10.1.4) with following code block.

 

import SIEMAuth
import requests
alert_id = '144116287822364672|12101929' query_params = {"id": alert_id, "format": {"format": 0}} print(requests.post(SIEMAuth.url + 'ipsGetAlertPacket', json=query_params, headers=SIEMAuth.session_headers, verify=False).text)

 

 

I have several other API calls working file like caseGetCaseDetail, caseGetCaseList, ipsGetAlertData etc.

but in "ipsGetAlertPacket" having following error

Can not construct instance of com.mcafee.siem.api.data.alert.EsmPacketFormat: no suitable constructor found, can not deserialize from Object value (missing default constructor or creator, or perhaps need to add/enable type information?)
 at [Source: java.io.StringReader@1bdc707; line: 1, column: 2]

my SIEMAuth 

esmhost = "SERVER_IP"
user = "test"
passwd = "test"
url = 'https://{}/rs/esm/v2/'.format(esmhost)
login_url = '{}{}'.format(url, 'login')
b64_user = base64.b64encode(user.encode('utf-8')).decode()
b64_passwd = base64.b64encode(passwd.encode('utf-8')).decode()
params = {"username": b64_user,
          "password": b64_passwd,
          "locale": "en_US",
          "os": "Win32"}
params_json = json.dumps(params)
v10_login_headers = {'Content-Type': 'application/json'}
login_response = requests.post(login_url,
                               params_json,
                               headers=v10_login_headers,
                               verify=False)
cookie = login_response.headers.get('Set-Cookie')

jwttoken = re.search('(^[A-Za-z0-9-_=]+\.[A-Za-z0-9-_=]+\.?[A-Za-z0-9-_.+/=]*)', cookie).group(1)
xsrf_token = login_response.headers.get('Xsrf-Token')
session_headers = {'Cookie': jwttoken,
                   'X-Xsrf-Token': xsrf_token,
                   'Content-Type': 'application/json'}

print(session_headers)
Tags (2)
1 Reply
LiamJ
Level 7
Report Inappropriate Content
Message 2 of 2

Re: Unable to send deserialized data to a Web API (ipsGetAlertPacket)

It's not your fault. From McAfee support:

That particular get is not meant to be used in the external API. It should only be used from the interface, and has been removed since the version of the ESM you are on. If you want to use that externally then you need to submit it as a per.

You Deserve an Award
Don't forget, when your helpful posts earn a kudos or get accepted as a solution you can unlock perks and badges. Those aren't the only badges, either. How many can you collect? Click here to learn more.

Community Help Hub

    New to the forums or need help finding your way around the forums? There's a whole hub of community resources to help you.

  • Find Forum FAQs
  • Learn How to Earn Badges
  • Ask for Help
Go to Community Help

Join the Community

    Thousands of customers use the McAfee Community for peer-to-peer and expert product support. Enjoy these benefits with a free membership:

  • Get helpful solutions from McAfee experts.
  • Stay connected to product conversations that matter to you.
  • Participate in product groups led by McAfee employees.
Join the Community
Join the Community