Skip to main content

Python library for crafting SAP's network protocols packets

Project description

pysap - Python library for crafting SAP's network protocols packets

Build and test pysap Latest Version Documentation Status

SECUREAUTH LABS. Copyright (C) 2021 SecureAuth Corporation. All rights reserved.

Version 0.1.19 (April 2021)

Overview

SAP Netweaver and SAP HANA are technology platforms for building and integrating SAP business applications. Communication between components uses different network protocols and some services and tools make use of custom file formats as well. While some of them are standard and well-known protocols, others are proprietaries and public information is generally not available.

pysap is an open source Python 2 library that provides modules for crafting and sending packets using SAP's NI, Diag, Enqueue, Router, MS, SNC, IGS, RFC and HDB protocols. In addition, support for creating and parsing different proprietary file formats is included. The modules are built on top of Scapy and are based on information acquired at researching the different protocols, file formats and services.

Features

  • Dissection and crafting of the following network protocols:

    • SAP Network Interface (NI)
    • SAP Diag
    • SAP Enqueue
    • SAP Router
    • SAP Message Server (MS)
    • SAP Secure Network Connection (SNC)
    • SAP Internet Graphic Server (IGS)
    • SAP Remote Function Call (RFC)
    • SAP HANA SQL Command Network (HDB)
  • Client interfaces for handling the following file formats:

    • SAP SAR archive files
    • SAP Personal Security Environment (PSE) files
    • SAP SSO Credential (Credv2) files
    • SAP Secure Storage in File System (SSFS) files
  • Library implementing SAP's LZH and LZC compression algorithms.

  • Automatic compression/decompression of payloads with SAP's algorithms.

  • Client, proxy and server classes implemented for some of the protocols.

  • Example scripts to illustrate the use of the different modules and protocols.

Installation

To install pysap simply run:

$ pip install pysap

pysap is compatible and tested with Python 2.7. A Python 2/3 compatible version is in the workings but it's not finalized yet.

Documentation

Documentation is available at Read the Docs.

License

This library is distributed under the GPLv2 license. Check the COPYING file for more details.

Disclaimer

The spirit of this open source initiative is hopefully to help the community to alleviate some of the hindrances associated with the implementation of networking protocols and stacks, aiming at speeding up research and educational activities. By no means this package is meant to be used in production environments / commercial products. If so, we would advise to include it into a proper SDLC process.

Authors

The library was designed and developed by Martin Gallo from SecureAuth's Innovation Labs team, with the help of a large number of contributors.

Contributors

Contributions made by:

Contact

Whether you want to report a bug or give some suggestions on this package, drop us a few lines at oss@secureauth.com or contact the author email mgallo@secureauth.com.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pysap, version 0.1.19
Filename, size File type Python version Upload date Hashes
Filename, size pysap-0.1.19-cp27-cp27m-macosx_10_14_x86_64.whl (146.6 kB) File type Wheel Python version cp27 Upload date Hashes View
Filename, size pysap-0.1.19-cp27-cp27m-win_amd64.whl (139.0 kB) File type Wheel Python version cp27 Upload date Hashes View
Filename, size pysap-0.1.19.zip (11.0 MB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page