<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic How-to fetch endpoint forensics reports on R80.20 programmatically in Endpoint</title>
    <link>https://community.checkpoint.com/t5/Endpoint/How-to-fetch-endpoint-forensics-reports-on-R80-20/m-p/58517#M3267</link>
    <description>&lt;P&gt;Fetching packet captures and reports via API is a feature supported in R80.10 JHF 112 and 121 only. The feature is expected in R80.10 JHF 169 and R80.20 JHF 47.&lt;/P&gt;
&lt;P&gt;For those who simply cannot wait, I present the following stopgap solution:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Authenticate to the smartlog server service listening on localhost to obtain an "FWMToken" value&lt;LI-CODE lang="c"&gt;[Expert@stack-mgmt-a0:0]# netstat -antp |grep 18242
tcp        0      0 127.0.0.1:18242             0.0.0.0:*                   LISTEN      3247/smartlog_serve
[Expert@stack-mgmt-a0:0]#​&lt;/LI-CODE&gt;&lt;LI-CODE lang="c"&gt;# authenticate and obtain FWMToken value
curl_cli -v -d @fwm-login.xml '&lt;A href="http://127.0.0.1:18242/login" target="_blank"&gt;http://127.0.0.1:18242/login&lt;/A&gt;' --user-agent "Apache-HttpClient/4.3.1 (java 1.5)" -H "RflId: 52ff49cf-6ef8-40df-a968-a1a9863b0a2b" -o fwm-login-resp.xml
fwm_token=`xmllint --format --shell fwm-login-resp.xml &amp;lt;&amp;lt;&amp;lt; "cat //root/token/text()" |tail -n +2 |head -n -1`​&lt;/LI-CODE&gt;Content of fwm-login.xml:&lt;LI-CODE lang="markup"&gt;&amp;lt;login&amp;gt;&amp;lt;user&amp;gt;&amp;lt;![CDATA[admin]]&amp;gt;&amp;lt;/user&amp;gt;&amp;lt;magic_number&amp;gt;&amp;lt;![CDATA[CP_Etude_2055]]&amp;gt;&amp;lt;/magic_number&amp;gt;&amp;lt;password&amp;gt;&amp;lt;![CDATA[admin123]]&amp;gt;&amp;lt;/password&amp;gt;&amp;lt;sso_token&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/sso_token&amp;gt;&amp;lt;get_all_columns_def /&amp;gt;&amp;lt;/login&amp;gt;&lt;/LI-CODE&gt;&lt;/LI&gt;
&lt;LI&gt;Authenticate using mgmt_cli to obtain a "CPMToken" value&lt;LI-CODE lang="c"&gt;# authenticate and obtain CPMToken value
cpm_token=`mgmt_cli login -u admin -p admin123 --port 4434 |grep sid |awk -F ': ' '{print $2}' |sed 's:"::g'`&lt;/LI-CODE&gt;&lt;/LI&gt;
&lt;LI&gt;Fetch an XML report blog from the smartlog server service&lt;LI-CODE lang="c"&gt;uid=A8571015-BF9A-492B-81D0-1D9EBCD6EB3F
timestamp=`date -d '07/09/2019 12:00:00' +"%s"`&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="c"&gt;# $1 - report uid
# $2 - date - a unix timestamp that equals noon on the same day the event was created
# fetch the XML report blob
export FETCH_PCAP_COOKIE="FWMToken=$fwm_token&amp;amp;CPMToken=$cpm_token"
curl_cli -v '&lt;A href="http://127.0.0.1:18242/packet_capture?session_id=0&amp;amp;product=Forensics&amp;amp;module_name=stack-mgmt-a0&amp;amp;incident_uid='&amp;quot;$1&amp;quot;'&amp;amp;date='&amp;quot;$2&amp;quot;'&amp;amp;service=ignore&amp;amp;log_server=10.0.0.14" target="_blank"&gt;http://127.0.0.1:18242/packet_capture?session_id=0&amp;amp;product=Forensics&amp;amp;module_name=stack-mgmt-a0&amp;amp;incident_uid='"$1"'&amp;amp;date='"$2"'&amp;amp;service=ignore&amp;amp;log_server=10.0.0.14&lt;/A&gt;' --user-agent
 "Apache-HttpClient/4.3.1 (java 1.5)" -H "RflId: 52ff49cf-6ef8-40df-a968-a1a9863b0a2b" --cookie "${FETCH_PCAP_COOKIE}" -o $1.xml&lt;/LI-CODE&gt;
&lt;P&gt;&lt;SPAN style="font-size: 18px;"&gt;The complete request parameters:&lt;/SPAN&gt;&lt;/P&gt;
&lt;LI-CODE lang="c"&gt;'?session_id=0&amp;amp;product=Forensics&amp;amp;module_name=stack-mgmt-a0&amp;amp;incident_uid='"$1"'&amp;amp;date='"$2"'&amp;amp;service=ignore&amp;amp;log_server=10.0.0.14'&lt;/LI-CODE&gt;
&lt;P&gt;&lt;SPAN style="font-size: 18px;"&gt;Note: Pay attention to the parameters that must be modified to match a different management server.&lt;/SPAN&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;Extract and decode XML report blob content&lt;LI-CODE lang="c"&gt;# extract the XML report blob and decode it
xmllint --nocdata --format --shell $1.xml &amp;lt;&amp;lt;&amp;lt; "cat //blob/text()" |tail -n +2 |head -n -2 |base64 -d |base64 -d &amp;gt; $1.zip&lt;/LI-CODE&gt;&lt;/LI&gt;
&lt;/OL&gt;</description>
    <pubDate>Mon, 22 Jul 2019 17:10:36 GMT</pubDate>
    <dc:creator>Dana_Traversie</dc:creator>
    <dc:date>2019-07-22T17:10:36Z</dc:date>
    <item>
      <title>How-to fetch endpoint forensics reports on R80.20 programmatically</title>
      <link>https://community.checkpoint.com/t5/Endpoint/How-to-fetch-endpoint-forensics-reports-on-R80-20/m-p/58517#M3267</link>
      <description>&lt;P&gt;Fetching packet captures and reports via API is a feature supported in R80.10 JHF 112 and 121 only. The feature is expected in R80.10 JHF 169 and R80.20 JHF 47.&lt;/P&gt;
&lt;P&gt;For those who simply cannot wait, I present the following stopgap solution:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Authenticate to the smartlog server service listening on localhost to obtain an "FWMToken" value&lt;LI-CODE lang="c"&gt;[Expert@stack-mgmt-a0:0]# netstat -antp |grep 18242
tcp        0      0 127.0.0.1:18242             0.0.0.0:*                   LISTEN      3247/smartlog_serve
[Expert@stack-mgmt-a0:0]#​&lt;/LI-CODE&gt;&lt;LI-CODE lang="c"&gt;# authenticate and obtain FWMToken value
curl_cli -v -d @fwm-login.xml '&lt;A href="http://127.0.0.1:18242/login" target="_blank"&gt;http://127.0.0.1:18242/login&lt;/A&gt;' --user-agent "Apache-HttpClient/4.3.1 (java 1.5)" -H "RflId: 52ff49cf-6ef8-40df-a968-a1a9863b0a2b" -o fwm-login-resp.xml
fwm_token=`xmllint --format --shell fwm-login-resp.xml &amp;lt;&amp;lt;&amp;lt; "cat //root/token/text()" |tail -n +2 |head -n -1`​&lt;/LI-CODE&gt;Content of fwm-login.xml:&lt;LI-CODE lang="markup"&gt;&amp;lt;login&amp;gt;&amp;lt;user&amp;gt;&amp;lt;![CDATA[admin]]&amp;gt;&amp;lt;/user&amp;gt;&amp;lt;magic_number&amp;gt;&amp;lt;![CDATA[CP_Etude_2055]]&amp;gt;&amp;lt;/magic_number&amp;gt;&amp;lt;password&amp;gt;&amp;lt;![CDATA[admin123]]&amp;gt;&amp;lt;/password&amp;gt;&amp;lt;sso_token&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/sso_token&amp;gt;&amp;lt;get_all_columns_def /&amp;gt;&amp;lt;/login&amp;gt;&lt;/LI-CODE&gt;&lt;/LI&gt;
&lt;LI&gt;Authenticate using mgmt_cli to obtain a "CPMToken" value&lt;LI-CODE lang="c"&gt;# authenticate and obtain CPMToken value
cpm_token=`mgmt_cli login -u admin -p admin123 --port 4434 |grep sid |awk -F ': ' '{print $2}' |sed 's:"::g'`&lt;/LI-CODE&gt;&lt;/LI&gt;
&lt;LI&gt;Fetch an XML report blog from the smartlog server service&lt;LI-CODE lang="c"&gt;uid=A8571015-BF9A-492B-81D0-1D9EBCD6EB3F
timestamp=`date -d '07/09/2019 12:00:00' +"%s"`&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="c"&gt;# $1 - report uid
# $2 - date - a unix timestamp that equals noon on the same day the event was created
# fetch the XML report blob
export FETCH_PCAP_COOKIE="FWMToken=$fwm_token&amp;amp;CPMToken=$cpm_token"
curl_cli -v '&lt;A href="http://127.0.0.1:18242/packet_capture?session_id=0&amp;amp;product=Forensics&amp;amp;module_name=stack-mgmt-a0&amp;amp;incident_uid='&amp;quot;$1&amp;quot;'&amp;amp;date='&amp;quot;$2&amp;quot;'&amp;amp;service=ignore&amp;amp;log_server=10.0.0.14" target="_blank"&gt;http://127.0.0.1:18242/packet_capture?session_id=0&amp;amp;product=Forensics&amp;amp;module_name=stack-mgmt-a0&amp;amp;incident_uid='"$1"'&amp;amp;date='"$2"'&amp;amp;service=ignore&amp;amp;log_server=10.0.0.14&lt;/A&gt;' --user-agent
 "Apache-HttpClient/4.3.1 (java 1.5)" -H "RflId: 52ff49cf-6ef8-40df-a968-a1a9863b0a2b" --cookie "${FETCH_PCAP_COOKIE}" -o $1.xml&lt;/LI-CODE&gt;
&lt;P&gt;&lt;SPAN style="font-size: 18px;"&gt;The complete request parameters:&lt;/SPAN&gt;&lt;/P&gt;
&lt;LI-CODE lang="c"&gt;'?session_id=0&amp;amp;product=Forensics&amp;amp;module_name=stack-mgmt-a0&amp;amp;incident_uid='"$1"'&amp;amp;date='"$2"'&amp;amp;service=ignore&amp;amp;log_server=10.0.0.14'&lt;/LI-CODE&gt;
&lt;P&gt;&lt;SPAN style="font-size: 18px;"&gt;Note: Pay attention to the parameters that must be modified to match a different management server.&lt;/SPAN&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;Extract and decode XML report blob content&lt;LI-CODE lang="c"&gt;# extract the XML report blob and decode it
xmllint --nocdata --format --shell $1.xml &amp;lt;&amp;lt;&amp;lt; "cat //blob/text()" |tail -n +2 |head -n -2 |base64 -d |base64 -d &amp;gt; $1.zip&lt;/LI-CODE&gt;&lt;/LI&gt;
&lt;/OL&gt;</description>
      <pubDate>Mon, 22 Jul 2019 17:10:36 GMT</pubDate>
      <guid>https://community.checkpoint.com/t5/Endpoint/How-to-fetch-endpoint-forensics-reports-on-R80-20/m-p/58517#M3267</guid>
      <dc:creator>Dana_Traversie</dc:creator>
      <dc:date>2019-07-22T17:10:36Z</dc:date>
    </item>
  </channel>
</rss>

