Python Forum
convert address and broadcast to network object
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
convert address and broadcast to network object
#6
It works and yes .... it's a bit nested :-/
Take what you need.


import sys
import ipaddress


def interface(interface):
    interface = ipaddress.ip_interface(interface)
    ip = interface.ip
    ip_version = ip.version
    ptr = ip.reverse_pointer
    network = interface.network
    network_addr = network.network_address
    netmask = interface.netmask
    hostmask = interface.hostmask
    broadcast = network.broadcast_address
    return {
        "ip": str(ip),
        "ip_version": ip_version,
        "private": ip.is_private,
        "global": ip.is_global,
        "ptr": ptr,
        "network_addr": str(network_addr),
        "netmask": str(netmask),
        "hostmask": str(hostmask),
        "broadcast": str(broadcast),
    }


print(sys.version)
print()

some_interfaces = [
    "192.168.0.1/24",
    "192.168.172.10/24",
    "192.168.178.10/24",
    "10.10.1.5/16",
    "fd00::ffff:ac10:1/112",
    "1.2.3.4/23",
]

for result in map(interface, some_interfaces):
    print("Processing ip", result["ip"])
    print()
    for key, value in result.items():
        key = f"{key}:"
        print(f"{key:<15} -> {value}")
    print()
Output:
Output:
3.8.16 (default, Mar 8 2023, 22:40:51) [GCC 12.2.1 20230201] Processing ip 192.168.0.1 ip: -> 192.168.0.1 ip_version: -> 4 private: -> True global: -> False ptr: -> 1.0.168.192.in-addr.arpa network_addr: -> 192.168.0.0 netmask: -> 255.255.255.0 hostmask: -> 0.0.0.255 broadcast: -> 192.168.0.255 Processing ip 192.168.172.10 ip: -> 192.168.172.10 ip_version: -> 4 private: -> True global: -> False ptr: -> 10.172.168.192.in-addr.arpa network_addr: -> 192.168.172.0 netmask: -> 255.255.255.0 hostmask: -> 0.0.0.255 broadcast: -> 192.168.172.255 Processing ip 192.168.178.10 ip: -> 192.168.178.10 ip_version: -> 4 private: -> True global: -> False ptr: -> 10.178.168.192.in-addr.arpa network_addr: -> 192.168.178.0 netmask: -> 255.255.255.0 hostmask: -> 0.0.0.255 broadcast: -> 192.168.178.255 Processing ip 10.10.1.5 ip: -> 10.10.1.5 ip_version: -> 4 private: -> True global: -> False ptr: -> 5.1.10.10.in-addr.arpa network_addr: -> 10.10.0.0 netmask: -> 255.255.0.0 hostmask: -> 0.0.255.255 broadcast: -> 10.10.255.255 Processing ip fd00::ffff:ac10:1 ip: -> fd00::ffff:ac10:1 ip_version: -> 6 private: -> True global: -> False ptr: -> 1.0.0.0.0.1.c.a.f.f.f.f.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.d.f.ip6.arpa network_addr: -> fd00::ffff:ac10:0 netmask: -> ffff:ffff:ffff:ffff:ffff:ffff:ffff:0 hostmask: -> ::ffff broadcast: -> fd00::ffff:ac10:ffff Processing ip 1.2.3.4 ip: -> 1.2.3.4 ip_version: -> 4 private: -> False global: -> True ptr: -> 4.3.2.1.in-addr.arpa network_addr: -> 1.2.2.0 netmask: -> 255.255.254.0 hostmask: -> 0.0.1.255 broadcast: -> 1.2.3.255
Almost dead, but too lazy to die: https://sourceserver.info
All humans together. We don't need politicians!
Reply


Messages In This Thread
RE: convert address and broadcast to network object - by DeaD_EyE - Mar-08-2023, 09:53 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  ValueError: could not broadcast input array from shape makingwithheld 1 2,335 Jul-06-2024, 03:02 PM
Last Post: paul18fr
  Review my code: convert a HTTP date header to a datetime object stevendaprano 1 4,070 Dec-17-2022, 12:24 AM
Last Post: snippsat
  operands could not be broadcast together with shapes (337,451) (225,301) kevinabbot 0 2,178 Dec-14-2021, 04:02 PM
Last Post: kevinabbot
  How to convert a string "<... object at POINTER>" to an object? mandaxyz 5 5,290 Aug-08-2020, 10:44 PM
Last Post: mandaxyz
  ValueError: shape mismatched: objects cannot be broadcast to a single shape Laplace12 0 5,172 Jul-14-2020, 11:45 AM
Last Post: Laplace12
  VM address (C pointer) of Python object Skaperen 1 2,619 Apr-21-2019, 10:57 PM
Last Post: hshivaraj
  ValueError: could not broadcast input array from shape (1555200) into shape (0) promach 1 4,471 Jun-18-2018, 08:00 AM
Last Post: promach
  Convert from datetime to time.struct_time object chris0147 0 5,377 Mar-11-2018, 12:01 AM
Last Post: chris0147
  How to convert a Status object to String? Vucko 6 8,695 Jan-14-2018, 08:33 PM
Last Post: buran
  Convert String to Datetime Object tkj80 2 35,557 Apr-20-2017, 08:45 AM
Last Post: volcano63

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020