Icmplib

Latest version: v3.0.4

Safety actively analyzes 623439 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

3.0

- The library is now asynchronous!
- Introduce new functions: `async_ping`, `async_multiping` and `async_resolve`.
- Add a new `AsyncSocket` class to make an ICMP socket asynchronous.
- Rewrite models:
- All the properties of `Host` and `Hop` classes are now lazy.
- Add new properties to the `Host` and `Hop` classes: you can retrieve the list of round-trip times and calculate the jitter.
- Add the metaclass `__str__` to visualize the results more easily.
- Rewrite the `ping`, `multiping` and `traceroute` functions:
- The identifier of ICMP requests is now handled automatically by the library.
- Add the ability to set the address family if a hostname or an FQDN is specified.
- A new implementation is used for the `multiping` function. It should be more reliable.
- The `multiping` function is now in a dedicated module.
- Rewrite the documentation to help you get started with icmplib.
- Improve the `resolve` function to return all IP addresses found.
- Add the `is_hostname` function to check if a string is a hostname or an FQDN.
- Delete the experimental class `BufferedSocket`, replaced by `AsyncSocket`.
- Performance and compatibility improvement.
- Many other small changes and fixes.

Special thanks to [JonasKs](https://github.com/JonasKs) and [bdraco](https://github.com/bdraco) for their suggestions, advice and feedback!

> Python 3.7 or later is now required.

[v2.1.1](https://github.com/ValentinBELYN/icmplib/releases/tag/v2.1.1) - 2021-03-21
- :bug: Revert changes made to the `traceroute` function due to a bug.

> This version is the last of the 2.x branch. See you soon for the release of icmplib 3.0!

[v2.1.0](https://github.com/ValentinBELYN/icmplib/releases/tag/v2.1.0) - 2021-03-20
- Add a `family` parameter to the `resolve` function to define the address family.
- Improve the reliability of the results of the `traceroute` function.

[v2.0.2](https://github.com/ValentinBELYN/icmplib/releases/tag/v2.0.2) - 2021-02-07
- Rename the default branch from `master` to `main`.
- Add more details about the `privileged` parameter in the `README` file (part 2).
- :bug: Fix a bug preventing the `traceroute` function to work with IPv6 addresses (part 2).

[v2.0.1](https://github.com/ValentinBELYN/icmplib/releases/tag/v2.0.1) - 2020-12-12
- Handle `EACCES` errors at sockets level.
- Add some details about the `privileged` parameter in the `README` file.
- :bug: Fix a bug preventing the `traceroute` function to work with IPv6 addresses.

[v2.0.0](https://github.com/ValentinBELYN/icmplib/releases/tag/v2.0.0) - 2020-11-15

2.0

- New library architecture.
- Add a new `multiping` function. This function will be faster and more memory efficient.
- Add the ability to use the library without root privileges.
- Add the ability to set a source IP address for sending your ICMP packets.
- Add a `first_hop` parameter to the `traceroute` function to set the initial time to live value ([scoulondre](https://github.com/scoulondre)).
- Add two new exceptions:
- `NameLookupError`: raised when the requested name does not exist or cannot be resolved.
- `SocketAddressError`: raised when the requested address cannot be assigned to the socket.
- Add a new `BufferedSocket` class (experimental) to send several packets simultaneously without waiting for a response.
- The `receive` method of sockets can receive all incoming packets.
- Throw new exceptions when instantiating sockets, sending and receiving packets.
- Improve the `resolve` function:
- A `NameLookupError` is now raised if the requested name does not exist or cannot be resolved.
- Improve compatibility with Linux, macOS and Windows.
- Delete deprecated properties.
- Update docstrings, examples and documentation.

> Compatibility with existing programs is maintained.

[v1.2.2](https://github.com/ValentinBELYN/icmplib/releases/tag/v1.2.2) - 2020-10-10
- Add support for hostnames and FQDN resolution to IPv6 addresses.
- Performance improvement.

[v1.2.1](https://github.com/ValentinBELYN/icmplib/releases/tag/v1.2.1) - 2020-09-26
- :bug: Fix an issue in the `traceroute` function which gave the wrong value for the `avg_rtt` property ([patrickfnielsen](https://github.com/patrickfnielsen)).

[v1.2.0](https://github.com/ValentinBELYN/icmplib/releases/tag/v1.2.0) - 2020-09-12
- Add the ability to modify the traffic class of ICMP packets.
- Add new optional parameters to the `traceroute` function.
- Add a new exception `SocketUnavailableError` when an action is performed while a socket is closed.
- Add a warning message on deprecated properties.
- Explicit closure of sockets on built-in functions.
- :bug: Fix a bug when ICMP responses are not correctly formatted (part 2).

[v1.1.3](https://github.com/ValentinBELYN/icmplib/releases/tag/v1.1.3) - 2020-09-03
- :bug: Fix a bug when ICMP responses are not correctly formatted.

[v1.1.2](https://github.com/ValentinBELYN/icmplib/releases/tag/v1.1.2) - 2020-08-29
- :bug: Fix a compatibility issue.

[v1.1.1](https://github.com/ValentinBELYN/icmplib/releases/tag/v1.1.1) - 2020-07-10
- :bug: Fix a bug when the source host does not have an IP address.

[v1.1.0](https://github.com/ValentinBELYN/icmplib/releases/tag/v1.1.0) - 2020-06-25
- Add support for odd size payloads.
- Normalize the names of variables and properties:
- `ICMPReply` class: the `received_bytes` property is deprecated. Use `bytes_received` instead.
- `Host` and `Hop` classes: the `transmitted_packets` property is deprecated. Use `packets_sent` instead.
- `Host` and `Hop` classes: the `received_packets` property is deprecated. Use `packets_received` instead.
- Normalize docstrings.
- Optimizations.

[v1.0.4](https://github.com/ValentinBELYN/icmplib/releases/tag/v1.0.4) - 2020-06-14
- Add the `is_closed` property to the `ICMPSocket` class.
- Round round-trip time values by default.
- Add an index for examples.
- :bug: Fix a bug in the `multiping` function where the `id` parameter was ignored.
- :bug: Fix a bug in the `ICMPSocket` class when instantiated without root privileges.

[v1.0.3](https://github.com/ValentinBELYN/icmplib/releases/tag/v1.0.3) - 2020-05-09
- Add the ability to customize the payload.
- Improve the `ping` and `multiping` functions:
- You can pass arguments to the `ICMPRequest` object using keywords arguments `**kwargs`.
- Update some docstrings.
- Add new examples.

[v1.0.2](https://github.com/ValentinBELYN/icmplib/releases/tag/v1.0.2) - 2019-10-20
- Change the license. This project now uses the more permissive license LGPLv3.

[v1.0.1](https://github.com/ValentinBELYN/icmplib/releases/tag/v1.0.1) - 2019-10-07
- Add some examples.
- Rename `model.py` to `models.py`.
- Update setup keywords.

[v1.0.0](https://github.com/ValentinBELYN/icmplib/releases/tag/v1.0.0) - 2019-09-29
- :tada: Initial release.

Links

Releases

Has known vulnerabilities

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.