Networking

get local hostname

import os; os.uname().nodename

# or

import socket; print(socket.gethostname())

Run this as

$ python -c "import os; print(os.uname().nodename)"
shabdas-MacBook-Pro.local

Get IP Address

import socket; s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM);s.connect(("8.8.8.8", 80));print(s.getsockname()[0])

Run it as

$ python -c "import socket; s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM);s.connect(('8.8.8.8', 80));print(s.getsockname()[0])"
192.168.31.253

Get IP Address using a remote service

import urllib.request, json
json.loads(urllib.request.urlopen('http://jsonip.com').read())['ip']

Run it as

$ python -c "import urllib.request, json; print(json.loads(urllib.request.urlopen('http://jsonip.com').read())['ip'])"
183.83.214.40

Find number of addresses in a subnet

List all addresses in a subnet

Generate a Random IPv6 Address

Generate a mac Address

.getnode() can fake the MAC addr by returning a random 48-bit number, calling it twice ensure we are not hitting the random path

from uuid import getnode

def get_mac():
    return hex(getnode()) if getnode() == getnode() else None

Generate a gravatar url from email

Get IP address for a hostname

import socket
socket.gethostbyname('agiliq.com')

Check if website is up

import urllib3
def check_website_is_up(address):
    try:
        resp=urllib3.PoolManager().request(address)
    except:
        print(False)
    else:
        print(resp.status == 200)