2025-12-25 upload
This commit is contained in:
175
venv/Lib/site-packages/pydivert-2.1.0.dist-info/DESCRIPTION.rst
Normal file
175
venv/Lib/site-packages/pydivert-2.1.0.dist-info/DESCRIPTION.rst
Normal file
@@ -0,0 +1,175 @@
|
||||
pydivert
|
||||
^^^^^^^^
|
||||
|
||||
|appveyor| |codecov| |latest_release| |python_versions|
|
||||
|
||||
Python bindings for WinDivert_, a Windows driver that allows user-mode applications to
|
||||
capture/modify/drop network packets sent to/from the Windows network stack.
|
||||
|
||||
Requirements
|
||||
------------
|
||||
|
||||
- Python 2.7 or Python 3.4+ (32 or 64 bit)
|
||||
- Windows Vista/7/8/10 or Windows Server 2008 (32 or 64 bit)
|
||||
- Administrator Privileges
|
||||
|
||||
Installation
|
||||
------------
|
||||
|
||||
You can install PyDivert by running
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
$ pip install pydivert
|
||||
|
||||
Starting with PyDivert 1.0.2, WinDivert_ is bundled with
|
||||
PyDivert and does not need to be installed separately.
|
||||
|
||||
|
||||
**WinDivert Version Compatibility**
|
||||
|
||||
================================= ===============
|
||||
PyDivert WinDivert
|
||||
--------------------------------- ---------------
|
||||
0.0.7 1.0.x or 1.1.x
|
||||
1.0.x (API-compatible with 0.0.7) 1.1.8 (bundled)
|
||||
2.0.x 1.1.8 (bundled)
|
||||
2.1.x 1.3 (bundled)
|
||||
================================= ===============
|
||||
|
||||
Getting Started
|
||||
---------------
|
||||
|
||||
PyDivert consists of two main classes: ``pydivert.WinDivert`` and ``pydivert.Packet``.
|
||||
First, you usually want to create a ``WinDivert`` object to start capturing network traffic and then
|
||||
call ``.recv()`` to receive the first ``Packet`` that was captured. By receiving packets, they are taken
|
||||
out of the Windows network stack and will not be sent out unless you take action.
|
||||
You can re-inject packets by calling ``.send(packet)``.
|
||||
The following example opens a WinDivert handle, receives a single packet, prints it, re-injects it,
|
||||
and then exits:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
import pydivert
|
||||
|
||||
# Capture only TCP packets to port 80, i.e. HTTP requests.
|
||||
w = pydivert.WinDivert("tcp.DstPort == 80 and tcp.PayloadLength > 0")
|
||||
|
||||
w.open() # packets will be captured from now on
|
||||
|
||||
packet = w.recv() # read a single packet
|
||||
print(packet)
|
||||
w.send(packet) # re-inject the packet into the network stack
|
||||
|
||||
w.close() # stop capturing packets
|
||||
|
||||
Packets that are not matched by the ``"tcp.DstPort == 80 and tcp.PayloadLength > 0"`` filter will not be handled by WinDivert
|
||||
and continue as usual. The syntax for the filter language is described in the `WinDivert documentation <https://reqrypt.org/windivert-doc.html#filter_language>`_.
|
||||
|
||||
Python Idioms
|
||||
-------------
|
||||
|
||||
``pydivert.WinDivert`` instances can be used as *context managers* for capturing traffic and as (infinite) *iterators* over
|
||||
packets. The following code is equivalent to the example above:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
import pydivert
|
||||
|
||||
with pydivert.WinDivert("tcp.DstPort == 80 and tcp.PayloadLength > 0") as w:
|
||||
for packet in w:
|
||||
print(packet)
|
||||
w.send(packet)
|
||||
break
|
||||
|
||||
Packet Modification
|
||||
-------------------
|
||||
|
||||
``pydivert.Packet`` provides a variety of properties that can be used to access and modify the
|
||||
packet's headers or payload. For example, you can browse the web on port 1234 with PyDivert:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
import pydivert
|
||||
|
||||
with pydivert.WinDivert("tcp.DstPort == 1234 or tcp.SrcPort == 80") as w:
|
||||
for packet in w:
|
||||
if packet.dst_port == 1234:
|
||||
print(">") # packet to the server
|
||||
packet.dst_port = 80
|
||||
if packet.src_port == 80:
|
||||
print("<") # reply from the server
|
||||
packet.src_port = 1234
|
||||
w.send(packet)
|
||||
|
||||
Try opening http://example.com:1234/ in your browser!
|
||||
|
||||
WinDivert supports access and modification of a variety of TCP/UDP/ICMP attributes out of the box.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
>>> print(packet)
|
||||
Packet({'direction': <Direction.OUTBOUND: 0>,
|
||||
'dst_addr': '93.184.216.34',
|
||||
'dst_port': 443,
|
||||
'icmpv4': None,
|
||||
'icmpv6': None,
|
||||
'interface': (23, 0),
|
||||
'ipv4': {'src_addr': '192.168.86.169',
|
||||
'dst_addr': '93.184.216.34',
|
||||
'packet_len': 81},
|
||||
'ipv6': None,
|
||||
'is_inbound': False,
|
||||
'is_loopback': False,
|
||||
'is_outbound': True,
|
||||
'payload': '\x17\x03\x03\x00$\x00\x00\x00\x00\x00\x00\x02\x05\x19q\xbd\xcfD\x8a\xe3...',
|
||||
'raw': <memory at 0x028924E0>,
|
||||
'src_addr': '192.168.86.169',
|
||||
'src_port': 52387,
|
||||
'tcp': {'src_port': 52387,
|
||||
'dst_port': 443,
|
||||
'syn': False,
|
||||
'ack': True,
|
||||
'fin': False,
|
||||
'rst': False,
|
||||
'psh': True,
|
||||
'urg': False,
|
||||
'header_len': 20,
|
||||
'payload': '\x17\x03\x03\x00$\x00\x00\x00\x00\x00\x00\x02\x05\x19q\xbd\xcfD\x8a\xe3...'},
|
||||
'udp': None})
|
||||
|
||||
Uninstalling PyDivert
|
||||
---------------------
|
||||
|
||||
You can uninstall PyDivert by running
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
$ pip uninstall pydivert
|
||||
|
||||
If the WinDivert driver is still running at that time, it will remove itself on the next reboot.
|
||||
|
||||
API Reference Documentation
|
||||
---------------------------
|
||||
|
||||
The API Reference Documentation for PyDivert can be found `here <https://ffalcinelli.github.io/pydivert/>`_.
|
||||
|
||||
.. |appveyor| image:: https://img.shields.io/appveyor/ci/ffalcinelli/pydivert/master.svg
|
||||
:target: https://ci.appveyor.com/project/ffalcinelli/pydivert
|
||||
:alt: Appveyor Build Status
|
||||
|
||||
.. |codecov| image:: https://img.shields.io/codecov/c/github/ffalcinelli/pydivert/master.svg
|
||||
:target: https://codecov.io/gh/ffalcinelli/pydivert
|
||||
:alt: Coverage Status
|
||||
|
||||
.. |latest_release| image:: https://img.shields.io/pypi/v/pydivert.svg
|
||||
:target: https://pypi.python.org/pypi/pydivert
|
||||
:alt: Latest Version
|
||||
|
||||
.. |python_versions| image:: https://img.shields.io/pypi/pyversions/pydivert.svg
|
||||
:target: https://pypi.python.org/pypi/pydivert
|
||||
:alt: Supported Python versions
|
||||
|
||||
.. _WinDivert: https://reqrypt.org/windivert.html
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
pip
|
||||
165
venv/Lib/site-packages/pydivert-2.1.0.dist-info/LICENSE.txt
Normal file
165
venv/Lib/site-packages/pydivert-2.1.0.dist-info/LICENSE.txt
Normal file
@@ -0,0 +1,165 @@
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
|
||||
This version of the GNU Lesser General Public License incorporates
|
||||
the terms and conditions of version 3 of the GNU General Public
|
||||
License, supplemented by the additional permissions listed below.
|
||||
|
||||
0. Additional Definitions.
|
||||
|
||||
As used herein, "this License" refers to version 3 of the GNU Lesser
|
||||
General Public License, and the "GNU GPL" refers to version 3 of the GNU
|
||||
General Public License.
|
||||
|
||||
"The Library" refers to a covered work governed by this License,
|
||||
other than an Application or a Combined Work as defined below.
|
||||
|
||||
An "Application" is any work that makes use of an interface provided
|
||||
by the Library, but which is not otherwise based on the Library.
|
||||
Defining a subclass of a class defined by the Library is deemed a mode
|
||||
of using an interface provided by the Library.
|
||||
|
||||
A "Combined Work" is a work produced by combining or linking an
|
||||
Application with the Library. The particular version of the Library
|
||||
with which the Combined Work was made is also called the "Linked
|
||||
Version".
|
||||
|
||||
The "Minimal Corresponding Source" for a Combined Work means the
|
||||
Corresponding Source for the Combined Work, excluding any source code
|
||||
for portions of the Combined Work that, considered in isolation, are
|
||||
based on the Application, and not on the Linked Version.
|
||||
|
||||
The "Corresponding Application Code" for a Combined Work means the
|
||||
object code and/or source code for the Application, including any data
|
||||
and utility programs needed for reproducing the Combined Work from the
|
||||
Application, but excluding the System Libraries of the Combined Work.
|
||||
|
||||
1. Exception to Section 3 of the GNU GPL.
|
||||
|
||||
You may convey a covered work under sections 3 and 4 of this License
|
||||
without being bound by section 3 of the GNU GPL.
|
||||
|
||||
2. Conveying Modified Versions.
|
||||
|
||||
If you modify a copy of the Library, and, in your modifications, a
|
||||
facility refers to a function or data to be supplied by an Application
|
||||
that uses the facility (other than as an argument passed when the
|
||||
facility is invoked), then you may convey a copy of the modified
|
||||
version:
|
||||
|
||||
a) under this License, provided that you make a good faith effort to
|
||||
ensure that, in the event an Application does not supply the
|
||||
function or data, the facility still operates, and performs
|
||||
whatever part of its purpose remains meaningful, or
|
||||
|
||||
b) under the GNU GPL, with none of the additional permissions of
|
||||
this License applicable to that copy.
|
||||
|
||||
3. Object Code Incorporating Material from Library Header Files.
|
||||
|
||||
The object code form of an Application may incorporate material from
|
||||
a header file that is part of the Library. You may convey such object
|
||||
code under terms of your choice, provided that, if the incorporated
|
||||
material is not limited to numerical parameters, data structure
|
||||
layouts and accessors, or small macros, inline functions and templates
|
||||
(ten or fewer lines in length), you do both of the following:
|
||||
|
||||
a) Give prominent notice with each copy of the object code that the
|
||||
Library is used in it and that the Library and its use are
|
||||
covered by this License.
|
||||
|
||||
b) Accompany the object code with a copy of the GNU GPL and this license
|
||||
document.
|
||||
|
||||
4. Combined Works.
|
||||
|
||||
You may convey a Combined Work under terms of your choice that,
|
||||
taken together, effectively do not restrict modification of the
|
||||
portions of the Library contained in the Combined Work and reverse
|
||||
engineering for debugging such modifications, if you also do each of
|
||||
the following:
|
||||
|
||||
a) Give prominent notice with each copy of the Combined Work that
|
||||
the Library is used in it and that the Library and its use are
|
||||
covered by this License.
|
||||
|
||||
b) Accompany the Combined Work with a copy of the GNU GPL and this license
|
||||
document.
|
||||
|
||||
c) For a Combined Work that displays copyright notices during
|
||||
execution, include the copyright notice for the Library among
|
||||
these notices, as well as a reference directing the user to the
|
||||
copies of the GNU GPL and this license document.
|
||||
|
||||
d) Do one of the following:
|
||||
|
||||
0) Convey the Minimal Corresponding Source under the terms of this
|
||||
License, and the Corresponding Application Code in a form
|
||||
suitable for, and under terms that permit, the user to
|
||||
recombine or relink the Application with a modified version of
|
||||
the Linked Version to produce a modified Combined Work, in the
|
||||
manner specified by section 6 of the GNU GPL for conveying
|
||||
Corresponding Source.
|
||||
|
||||
1) Use a suitable shared library mechanism for linking with the
|
||||
Library. A suitable mechanism is one that (a) uses at run time
|
||||
a copy of the Library already present on the user's computer
|
||||
system, and (b) will operate properly with a modified version
|
||||
of the Library that is interface-compatible with the Linked
|
||||
Version.
|
||||
|
||||
e) Provide Installation Information, but only if you would otherwise
|
||||
be required to provide such information under section 6 of the
|
||||
GNU GPL, and only to the extent that such information is
|
||||
necessary to install and execute a modified version of the
|
||||
Combined Work produced by recombining or relinking the
|
||||
Application with a modified version of the Linked Version. (If
|
||||
you use option 4d0, the Installation Information must accompany
|
||||
the Minimal Corresponding Source and Corresponding Application
|
||||
Code. If you use option 4d1, you must provide the Installation
|
||||
Information in the manner specified by section 6 of the GNU GPL
|
||||
for conveying Corresponding Source.)
|
||||
|
||||
5. Combined Libraries.
|
||||
|
||||
You may place library facilities that are a work based on the
|
||||
Library side by side in a single library together with other library
|
||||
facilities that are not Applications and are not covered by this
|
||||
License, and convey such a combined library under terms of your
|
||||
choice, if you do both of the following:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work based
|
||||
on the Library, uncombined with any other library facilities,
|
||||
conveyed under the terms of this License.
|
||||
|
||||
b) Give prominent notice with the combined library that part of it
|
||||
is a work based on the Library, and explaining where to find the
|
||||
accompanying uncombined form of the same work.
|
||||
|
||||
6. Revised Versions of the GNU Lesser General Public License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions
|
||||
of the GNU Lesser General Public License from time to time. Such new
|
||||
versions will be similar in spirit to the present version, but may
|
||||
differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Library as you received it specifies that a certain numbered version
|
||||
of the GNU Lesser General Public License "or any later version"
|
||||
applies to it, you have the option of following the terms and
|
||||
conditions either of that published version or of any later version
|
||||
published by the Free Software Foundation. If the Library as you
|
||||
received it does not specify a version number of the GNU Lesser
|
||||
General Public License, you may choose any version of the GNU Lesser
|
||||
General Public License ever published by the Free Software Foundation.
|
||||
|
||||
If the Library as you received it specifies that a proxy can decide
|
||||
whether future versions of the GNU Lesser General Public License shall
|
||||
apply, that proxy's public statement of acceptance of any version is
|
||||
permanent authorization for you to choose that version for the
|
||||
Library.
|
||||
218
venv/Lib/site-packages/pydivert-2.1.0.dist-info/METADATA
Normal file
218
venv/Lib/site-packages/pydivert-2.1.0.dist-info/METADATA
Normal file
@@ -0,0 +1,218 @@
|
||||
Metadata-Version: 2.0
|
||||
Name: pydivert
|
||||
Version: 2.1.0
|
||||
Summary: Python binding to windivert driver
|
||||
Home-page: https://github.com/ffalcinelli/pydivert
|
||||
Author: Fabio Falcinelli
|
||||
Author-email: fabio.falcinelli@gmail.com
|
||||
License: LGPLv3
|
||||
Download-URL: https://github.com/ffalcinelli/pydivert/releases/2.1.0
|
||||
Keywords: windivert,network,tcp/ip
|
||||
Platform: UNKNOWN
|
||||
Classifier: Development Status :: 4 - Beta
|
||||
Classifier: Environment :: Win32 (MS Windows)
|
||||
Classifier: Intended Audience :: Developers
|
||||
Classifier: Intended Audience :: System Administrators
|
||||
Classifier: Intended Audience :: Telecommunications Industry
|
||||
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)
|
||||
Classifier: Operating System :: Microsoft :: Windows :: Windows Vista
|
||||
Classifier: Operating System :: Microsoft :: Windows :: Windows Server 2008
|
||||
Classifier: Operating System :: Microsoft :: Windows :: Windows 7
|
||||
Classifier: Programming Language :: Python
|
||||
Classifier: Programming Language :: Python :: 2.7
|
||||
Classifier: Programming Language :: Python :: 3.4
|
||||
Classifier: Programming Language :: Python :: 3.5
|
||||
Classifier: Programming Language :: Python :: 3.6
|
||||
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
||||
Classifier: Topic :: System :: Networking :: Firewalls
|
||||
Classifier: Topic :: System :: Networking :: Monitoring
|
||||
Classifier: Topic :: Utilities
|
||||
Requires-Dist: win-inet-pton (>=1.0.1); python_version == "2.7" or python_version == "3.3"
|
||||
Requires-Dist: enum34 (>=1.1.6); python_version == "2.7" or python_version == "3.3"
|
||||
Provides-Extra: docs
|
||||
Requires-Dist: sphinx (>=1.4.8); extra == 'docs'
|
||||
Provides-Extra: test
|
||||
Requires-Dist: mock (>=1.0.1); extra == 'test'
|
||||
Requires-Dist: hypothesis (>=3.5.3); extra == 'test'
|
||||
Requires-Dist: pytest (>=3.0.3); extra == 'test'
|
||||
Requires-Dist: pytest-cov (>=2.2.1); extra == 'test'
|
||||
Requires-Dist: pytest-timeout (<2,>=1.0.0); extra == 'test'
|
||||
Requires-Dist: pytest-faulthandler (<2,>=1.3.0); extra == 'test'
|
||||
Requires-Dist: codecov (>=2.0.5); extra == 'test'
|
||||
Requires-Dist: wheel (>=0.29); extra == 'test'
|
||||
|
||||
pydivert
|
||||
^^^^^^^^
|
||||
|
||||
|appveyor| |codecov| |latest_release| |python_versions|
|
||||
|
||||
Python bindings for WinDivert_, a Windows driver that allows user-mode applications to
|
||||
capture/modify/drop network packets sent to/from the Windows network stack.
|
||||
|
||||
Requirements
|
||||
------------
|
||||
|
||||
- Python 2.7 or Python 3.4+ (32 or 64 bit)
|
||||
- Windows Vista/7/8/10 or Windows Server 2008 (32 or 64 bit)
|
||||
- Administrator Privileges
|
||||
|
||||
Installation
|
||||
------------
|
||||
|
||||
You can install PyDivert by running
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
$ pip install pydivert
|
||||
|
||||
Starting with PyDivert 1.0.2, WinDivert_ is bundled with
|
||||
PyDivert and does not need to be installed separately.
|
||||
|
||||
|
||||
**WinDivert Version Compatibility**
|
||||
|
||||
================================= ===============
|
||||
PyDivert WinDivert
|
||||
--------------------------------- ---------------
|
||||
0.0.7 1.0.x or 1.1.x
|
||||
1.0.x (API-compatible with 0.0.7) 1.1.8 (bundled)
|
||||
2.0.x 1.1.8 (bundled)
|
||||
2.1.x 1.3 (bundled)
|
||||
================================= ===============
|
||||
|
||||
Getting Started
|
||||
---------------
|
||||
|
||||
PyDivert consists of two main classes: ``pydivert.WinDivert`` and ``pydivert.Packet``.
|
||||
First, you usually want to create a ``WinDivert`` object to start capturing network traffic and then
|
||||
call ``.recv()`` to receive the first ``Packet`` that was captured. By receiving packets, they are taken
|
||||
out of the Windows network stack and will not be sent out unless you take action.
|
||||
You can re-inject packets by calling ``.send(packet)``.
|
||||
The following example opens a WinDivert handle, receives a single packet, prints it, re-injects it,
|
||||
and then exits:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
import pydivert
|
||||
|
||||
# Capture only TCP packets to port 80, i.e. HTTP requests.
|
||||
w = pydivert.WinDivert("tcp.DstPort == 80 and tcp.PayloadLength > 0")
|
||||
|
||||
w.open() # packets will be captured from now on
|
||||
|
||||
packet = w.recv() # read a single packet
|
||||
print(packet)
|
||||
w.send(packet) # re-inject the packet into the network stack
|
||||
|
||||
w.close() # stop capturing packets
|
||||
|
||||
Packets that are not matched by the ``"tcp.DstPort == 80 and tcp.PayloadLength > 0"`` filter will not be handled by WinDivert
|
||||
and continue as usual. The syntax for the filter language is described in the `WinDivert documentation <https://reqrypt.org/windivert-doc.html#filter_language>`_.
|
||||
|
||||
Python Idioms
|
||||
-------------
|
||||
|
||||
``pydivert.WinDivert`` instances can be used as *context managers* for capturing traffic and as (infinite) *iterators* over
|
||||
packets. The following code is equivalent to the example above:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
import pydivert
|
||||
|
||||
with pydivert.WinDivert("tcp.DstPort == 80 and tcp.PayloadLength > 0") as w:
|
||||
for packet in w:
|
||||
print(packet)
|
||||
w.send(packet)
|
||||
break
|
||||
|
||||
Packet Modification
|
||||
-------------------
|
||||
|
||||
``pydivert.Packet`` provides a variety of properties that can be used to access and modify the
|
||||
packet's headers or payload. For example, you can browse the web on port 1234 with PyDivert:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
import pydivert
|
||||
|
||||
with pydivert.WinDivert("tcp.DstPort == 1234 or tcp.SrcPort == 80") as w:
|
||||
for packet in w:
|
||||
if packet.dst_port == 1234:
|
||||
print(">") # packet to the server
|
||||
packet.dst_port = 80
|
||||
if packet.src_port == 80:
|
||||
print("<") # reply from the server
|
||||
packet.src_port = 1234
|
||||
w.send(packet)
|
||||
|
||||
Try opening http://example.com:1234/ in your browser!
|
||||
|
||||
WinDivert supports access and modification of a variety of TCP/UDP/ICMP attributes out of the box.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
>>> print(packet)
|
||||
Packet({'direction': <Direction.OUTBOUND: 0>,
|
||||
'dst_addr': '93.184.216.34',
|
||||
'dst_port': 443,
|
||||
'icmpv4': None,
|
||||
'icmpv6': None,
|
||||
'interface': (23, 0),
|
||||
'ipv4': {'src_addr': '192.168.86.169',
|
||||
'dst_addr': '93.184.216.34',
|
||||
'packet_len': 81},
|
||||
'ipv6': None,
|
||||
'is_inbound': False,
|
||||
'is_loopback': False,
|
||||
'is_outbound': True,
|
||||
'payload': '\x17\x03\x03\x00$\x00\x00\x00\x00\x00\x00\x02\x05\x19q\xbd\xcfD\x8a\xe3...',
|
||||
'raw': <memory at 0x028924E0>,
|
||||
'src_addr': '192.168.86.169',
|
||||
'src_port': 52387,
|
||||
'tcp': {'src_port': 52387,
|
||||
'dst_port': 443,
|
||||
'syn': False,
|
||||
'ack': True,
|
||||
'fin': False,
|
||||
'rst': False,
|
||||
'psh': True,
|
||||
'urg': False,
|
||||
'header_len': 20,
|
||||
'payload': '\x17\x03\x03\x00$\x00\x00\x00\x00\x00\x00\x02\x05\x19q\xbd\xcfD\x8a\xe3...'},
|
||||
'udp': None})
|
||||
|
||||
Uninstalling PyDivert
|
||||
---------------------
|
||||
|
||||
You can uninstall PyDivert by running
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
$ pip uninstall pydivert
|
||||
|
||||
If the WinDivert driver is still running at that time, it will remove itself on the next reboot.
|
||||
|
||||
API Reference Documentation
|
||||
---------------------------
|
||||
|
||||
The API Reference Documentation for PyDivert can be found `here <https://ffalcinelli.github.io/pydivert/>`_.
|
||||
|
||||
.. |appveyor| image:: https://img.shields.io/appveyor/ci/ffalcinelli/pydivert/master.svg
|
||||
:target: https://ci.appveyor.com/project/ffalcinelli/pydivert
|
||||
:alt: Appveyor Build Status
|
||||
|
||||
.. |codecov| image:: https://img.shields.io/codecov/c/github/ffalcinelli/pydivert/master.svg
|
||||
:target: https://codecov.io/gh/ffalcinelli/pydivert
|
||||
:alt: Coverage Status
|
||||
|
||||
.. |latest_release| image:: https://img.shields.io/pypi/v/pydivert.svg
|
||||
:target: https://pypi.python.org/pypi/pydivert
|
||||
:alt: Latest Version
|
||||
|
||||
.. |python_versions| image:: https://img.shields.io/pypi/pyversions/pydivert.svg
|
||||
:target: https://pypi.python.org/pypi/pydivert
|
||||
:alt: Supported Python versions
|
||||
|
||||
.. _WinDivert: https://reqrypt.org/windivert.html
|
||||
|
||||
|
||||
44
venv/Lib/site-packages/pydivert-2.1.0.dist-info/RECORD
Normal file
44
venv/Lib/site-packages/pydivert-2.1.0.dist-info/RECORD
Normal file
@@ -0,0 +1,44 @@
|
||||
pydivert-2.1.0.dist-info/DESCRIPTION.rst,sha256=d4NwUF7uiFrQ6DOQCeNlYqDGZJ_uw4e_tFLDLNOC4TQ,5739
|
||||
pydivert-2.1.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
pydivert-2.1.0.dist-info/LICENSE.txt,sha256=6or154nLLU6bELzjh0mCreFjt0m2v72zLi3yHE0QbeE,7650
|
||||
pydivert-2.1.0.dist-info/METADATA,sha256=GYaD1xFalM4JKlZXAD_0daOSYmh2tyk7DIK27METk48,8013
|
||||
pydivert-2.1.0.dist-info/RECORD,,
|
||||
pydivert-2.1.0.dist-info/WHEEL,sha256=BTHHj6QhsHpWhRUrxioIvCAgjx81u-a8gkPTO6bi_A0,116
|
||||
pydivert-2.1.0.dist-info/metadata.json,sha256=mtRWTAex3zqQncKxSWGXx3umnwhKzLSz7-8jXnhux6U,1911
|
||||
pydivert-2.1.0.dist-info/top_level.txt,sha256=Vv-QQPyLUfzJQ8abUKv8vDOpbMc_fmR6WwCjQtVVKLE,9
|
||||
pydivert/__init__.py,sha256=8wR3V7UzOMuV2tttrrYkawoZYSJJkWRPqAGfd5s1NNQ,1211
|
||||
pydivert/__pycache__/__init__.cpython-312.pyc,,
|
||||
pydivert/__pycache__/consts.cpython-312.pyc,,
|
||||
pydivert/__pycache__/util.cpython-312.pyc,,
|
||||
pydivert/__pycache__/windivert.cpython-312.pyc,,
|
||||
pydivert/consts.py,sha256=7Llgvnr7iSV84sasjK5WiS5kILB1nd3p3iqPYv2eOHU,2475
|
||||
pydivert/packet/__init__.py,sha256=oz44jBx8b8CS9F_7MD9c8fRwRiTmWuSl8RiDM3may1I,11253
|
||||
pydivert/packet/__pycache__/__init__.cpython-312.pyc,,
|
||||
pydivert/packet/__pycache__/header.cpython-312.pyc,,
|
||||
pydivert/packet/__pycache__/icmp.cpython-312.pyc,,
|
||||
pydivert/packet/__pycache__/ip.cpython-312.pyc,,
|
||||
pydivert/packet/__pycache__/tcp.cpython-312.pyc,,
|
||||
pydivert/packet/__pycache__/udp.cpython-312.pyc,,
|
||||
pydivert/packet/header.py,sha256=NguO7Q0aJwmp7Li8XlOklF0Y9eT8fb-7Dk6RNxt9duE,2705
|
||||
pydivert/packet/icmp.py,sha256=JrylSWbaixpgbqX0GgVkfuL6QHG2C8ohhNmyqhSwAI8,1454
|
||||
pydivert/packet/ip.py,sha256=kQxQnSOVMTCQNxkYZOYM1fgQi1ts9eGBKFcPAn4ePl4,6520
|
||||
pydivert/packet/tcp.py,sha256=bNvoLGhFy5iBQDLOaay5W9HWpZH9quzFHIGddal4QyE,2923
|
||||
pydivert/packet/udp.py,sha256=FF1WrOU8ZEUjVds6GuW3zQVH1UTYaMyfi8s1zTIODkU,1524
|
||||
pydivert/tests/__init__.py,sha256=PoOsKvFjuvJQlEIGEnVNA8pmZ8kYs6Y4BBijs_HxEtI,736
|
||||
pydivert/tests/__pycache__/__init__.cpython-312.pyc,,
|
||||
pydivert/tests/__pycache__/fixtures.cpython-312.pyc,,
|
||||
pydivert/tests/__pycache__/test_packet.cpython-312.pyc,,
|
||||
pydivert/tests/__pycache__/test_windivert.cpython-312.pyc,,
|
||||
pydivert/tests/fixtures.py,sha256=0f1_lpDfLV0P7CYa_CUFlT8DZ5wxxJGExw4Pa28hTe4,2850
|
||||
pydivert/tests/test_packet.py,sha256=Hf5ArTw3JRqvtUgxvmLxxRPnFbnmQfsY8SO3Bh9Of-I,18975
|
||||
pydivert/tests/test_windivert.py,sha256=_H5a7dEq8yuo2KsHMjNmvYhOF0_Gj9K7xVP-Un5lmw8,5456
|
||||
pydivert/util.py,sha256=Y-LcoLhInEfdHRW6lBihWr3B6nmFrCFt24bf8_rerl4,2691
|
||||
pydivert/windivert.py,sha256=ZXo6NGejSVHhhya_pCK-OAMK2ZPp8zrhqdLfvzZZiJE,9345
|
||||
pydivert/windivert_dll/WinDivert32.dll,sha256=2HAIdKJ_8-wRtyYxO_OmlEiZF4S_wO9a2uNiW2NqGzg,17920
|
||||
pydivert/windivert_dll/WinDivert32.sys,sha256=vSdJlTPkLWS8q1KgGK3R42HeAvBMSx0WhSy2Q79MV1U,40904
|
||||
pydivert/windivert_dll/WinDivert64.dll,sha256=0NjlgGlSzo8yHRBlUcaAr-WgdMuTZqVCgv-DOXxkwn8,22528
|
||||
pydivert/windivert_dll/WinDivert64.sys,sha256=kCYUeUO9RKHrXi8MicyPRBx9HxPBVxq6VOJi0uc1R5g,47560
|
||||
pydivert/windivert_dll/__init__.py,sha256=se4ER874fVPAcmUvJsRSHv8T0miyCljlS31WItnxKH8,4124
|
||||
pydivert/windivert_dll/__pycache__/__init__.cpython-312.pyc,,
|
||||
pydivert/windivert_dll/__pycache__/structs.cpython-312.pyc,,
|
||||
pydivert/windivert_dll/structs.py,sha256=Passsbv96ToNZmFSBFImtr3zAWWV8hEXhDoDGyifqSE,1762
|
||||
6
venv/Lib/site-packages/pydivert-2.1.0.dist-info/WHEEL
Normal file
6
venv/Lib/site-packages/pydivert-2.1.0.dist-info/WHEEL
Normal file
@@ -0,0 +1,6 @@
|
||||
Wheel-Version: 1.0
|
||||
Generator: bdist_wheel (0.30.0)
|
||||
Root-Is-Purelib: true
|
||||
Tag: py2-none-any
|
||||
Tag: py3-none-any
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
{"classifiers": ["Development Status :: 4 - Beta", "Environment :: Win32 (MS Windows)", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "Intended Audience :: Telecommunications Industry", "License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)", "Operating System :: Microsoft :: Windows :: Windows Vista", "Operating System :: Microsoft :: Windows :: Windows Server 2008", "Operating System :: Microsoft :: Windows :: Windows 7", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Networking :: Firewalls", "Topic :: System :: Networking :: Monitoring", "Topic :: Utilities"], "download_url": "https://github.com/ffalcinelli/pydivert/releases/2.1.0", "extensions": {"python.details": {"contacts": [{"email": "fabio.falcinelli@gmail.com", "name": "Fabio Falcinelli", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst", "license": "LICENSE.txt"}, "project_urls": {"Home": "https://github.com/ffalcinelli/pydivert"}}}, "extras": ["docs", "test"], "generator": "bdist_wheel (0.30.0)", "keywords": ["windivert", "network", "tcp/ip"], "license": "LGPLv3", "metadata_version": "2.0", "name": "pydivert", "run_requires": [{"extra": "test", "requires": ["codecov (>=2.0.5)", "hypothesis (>=3.5.3)", "mock (>=1.0.1)", "pytest (>=3.0.3)", "pytest-cov (>=2.2.1)", "pytest-faulthandler (<2,>=1.3.0)", "pytest-timeout (<2,>=1.0.0)", "wheel (>=0.29)"]}, {"extra": "docs", "requires": ["sphinx (>=1.4.8)"]}, {"environment": "python_version == \"2.7\" or python_version == \"3.3\"", "requires": ["enum34 (>=1.1.6)", "win-inet-pton (>=1.0.1)"]}], "summary": "Python binding to windivert driver", "version": "2.1.0"}
|
||||
@@ -0,0 +1 @@
|
||||
pydivert
|
||||
Reference in New Issue
Block a user