Softpedia
 


LINUX CATEGORIES:



GLOBAL PAGES >>
NEWS ARCHIVE >>
SOFTPEDIA REVIEWS >>
MEET THE EDITORS >>
WEEK'S BEST
  • Linux Kernel 3.9.6 / 3....
  • Linux Kernel 3.0.82 LTS...
  • KDE Software Compilatio...
  • PulseAudio 4.0
  • Wireshark 1.10.0
  • NetworkManager 0.9.8.2
  • LibreOffice 3.6.6 / 4.0...
  • SystemRescueCd 3.7.0
  • Linux Kernel 3.10 RC6
  • Ubuntu Tweak 0.8.5
  • Home > Linux > Internet > Proxy

    pymiproxy 1.0

    Download button

    No screenshots available
    Downloads: 215  View global page NEW!  Tell us about an update
    User Rating:
    Rated by:
    NOT RATED
    0 user(s)
    Developer:

    License / Price:

    Last Updated:

    Category:
    Nadeem Douba | More programs
    Other/Proprietary Li... / FREE
    July 21st, 2012, 04:23 GMT
    ROOT / Internet / Proxy

     Read user reviews (0)  Refer to a friend  Subscribe

    pymiproxy description

    Python Micro Interceptor Proxy

    pymiproxy is a small and sweet man-in-the-middle proxy capable of doing HTTP and HTTP over SSL.

    Introduction

    pymiproxy is a small, lightweight, man-in-the-middle proxy capable of performing HTTP and HTTPS (or SSL) inspection. The proxy provides a built-in certificate authority that is capable of generating certificates for SSL-based destinations. Pymiproxy is also extensible and provides two methods for extending the proxy: method overloading, and a pluggable interface. It is ideal for situations where you're in dire need of a cool proxy to tamper with out- and/or in-bound HTTP data.

    Installation

    Just run the following command at the command prompt:

     sudo python setup.py install

    Usage

    The module offers a few examples in the code. In brief, pymiproxy can be run right-away by issuing the following command at the the command-prompt:

     python -m miproxy.proxy

    This will invoke pymiproxy with the DebugInterceptor plugin which simply outputs the first 100 bytes of each request and response. The proxy runs on port 8080 and listens on all addresses. Go ahead and give it a try.
    Extending or Implementing pymiproxy

    There are two ways of extending the proxy:

    - Develop and register an Interceptor plugin; or
    - Overload the mitm_request, and mitm_response methods in the ProxyHandler class.

    The decision on which method you choose to use is entirely dependant on whether or not you wish to push the data being intercepted through a set of interceptors or not.

    Interceptor Plugins

    There are currently two types of interceptor plugins:

    - RequestInterceptorPlugins: executed prior to sending the request to the remote server; and
    - ResponseInterceptorPlugins: executed prior to sending the response back to the client.

    The following flow is taken by pymiproxy in this mode:

    1. Client request received
    2. Client request parsed
    3. Client request processed/transformed by Request Interceptor plugins
    4. Updated request sent to remote server
    5. Response received by remote server
    6. Response processed/transformed by Response Interceptor plugins
    7. Updated response sent to client

    You can register as many plugins as you wish. However, keep in mind that plugins are executed in the order that they are registered in. Take care in how you register your plugins if the result of one plugin is dependent on the result of another.

    The following is a simple code example of how to run the proxy with plugins:

    from miproxy.proxy import RequestInterceptorPlugin, ResponseInterceptorPlugin, AsyncMitmProxy

    class DebugInterceptor(RequestInterceptorPlugin, ResponseInterceptorPlugin):

     def do_request(self, data):
     print '>> %s' % repr(data[:100])
     return data

     def do_response(self, data):
     print '> %s' % repr(data[:100])
     return data

     def mitm_response(self, data):
     print '

    Product's homepage

    Requirements:

    · Python
    · pyOpenSSL

      


    TAGS:

    HTTP proxy | HTTPS proxy | HTTP | HTTPS | proxy

    Go to top

    WindowsGamesDriversMacLinuxScriptsMobileHandheldNews

    SUBMIT PROGRAM   |   ADVERTISE   |   GET HELP   |   SEND US FEEDBACK   |   RSS FEEDS   |   UPDATE YOUR SOFTWARE   |   ROMANIAN FORUM