semvec/pypi-packages huggingface dataset:
subnetinfo 1.1
Get information about chosen subnet
Requires Python: >=3.6

# subnet-info

# Table of contents

* [General info](#general-info)
* [Technologies](#technologies)
* [Setup](#setup)
* [Available methods](#available-methods)

## General info
With this app, you can get information about chosen subnet.


## Technologies
<ul>
    <li>Python 3.6+</li>
</ul>

## Setup
First install subnet_info module from pypi
```commandline
pip install subnetinfo
```

Now you can create instance of main 'SubnetInfo' class to get important for you information.
```python
from subnet_info import SubnetInfo

_subnet = SubnetInfo()
print(_subnet.calculate_cidr(subnet_mask="255.255.255.0")) # returns 24
```

## Available methods
<ul>
    <li>get_local_ip (get your local ip address)</li>
    <li>get_public_ip (get your public ip address)</li>
    <li>get_subnet_mask (get your subnet netmask)</li>
    <li>calculate_cidr (calculate cidr based on provided subnet mask)</li>
    <li>calculate_hosts_amount (calculate how many hosts can be in subnet)</li>
    <li>get_first_ip_address (get first ip address in chosen subnet)</li>
    <li>get_last_ip_address (get last ip address in chosen subnet)</li>
    <li>generate_all_ip_addr (generate all ip addresses in chosen subnet)</li>
</ul>
migi 0.0.19
A powerful and versatile dynamic instrumentation toolkit
Requires Python: >=3.7

# MIGI

Migi(My Ideas Got Incepted) is a powerful and versatile dynamic instrumentation toolkit.

## How it works
By injecting Python scripts into target host, migi makes host manipulation possible.

To get started, follow the steps below.

### 1. Install from PyPI
```shell
pip install migi
```

### 2. Attach to target host
```python
import migi

session = migi.attach_process('notepad.exe', python_console=[])
```

An interactive Python console, which runs inside the host app, will show up if nothing goes wrong. 

### 3. Make function calls

Typing the scripts below into that host-running console you've just created and everything should be self-explanatory. 

```python
from ctypes import *
from migi.decorators import stdcall

@stdcall('MessageBoxW', 'User32.dll')
def _native_message_box_w(hwnd: c_void_p, content: c_wchar_p, title: c_wchar_p, flags: c_uint32) -> c_int32:
    pass


def message_box(content: str, title: str, flags: int = 0) -> c_int32:
    return _native_message_box_w(None, create_unicode_buffer(content), create_unicode_buffer(title), flags)

message_box("I'm in", '1')
```

### 4. Learn more

Learn more about calling convention, api interception and others by referring to docs and examples

## How to build

### 1. Platform support
- Windows
```shell
cmake --build out/windows --target all path_to_src
```
- Other platform plans in roadmap.md