IP

Internet Protocol , or IP, is a communication protocol for packet-switched networks.

See Also

Handling internet addresses
how to find my own IP address
Entry box validation for IP address
DNS
Internet Checksum
The currently-used checksum in IPV4 as described in RFC 791
IP-geolocation

Tools

A little 6to4 calculator
a program that a list of IPv4 addresses on the command line, and calculates the respective IPv6 address prefixes for the 6to4 network
A Little CIDR Calculator
IP Calculator GUI
Small calculator using Tile only using IPv4 and no tcllib
ip-drop
drop IP addresses at the firewall when an attack is seen in the hosts log files
IP-to-country lookup
netaddr-tcl
a package that does almost the smae thing, but with some additional functionality
Simple TCP/IP proxy
tcllib tcllib_ip
provides commands to manipulate IPv4 and IPv6 addresses.

Documentation

RFC 791, Internet Protocol
RFC 1726, Technical Criteria for Choosing IP the Next Generation (IPng)

Description

Internet Protocol describes a how interconnected computer systems address and talk to each other. Usually you have TCP or UDP layered over the top to provide port-based addressing and checksums...

The most common version of IP at the moment is version 4, though you may well also see version 6 about from time to time (mostly at very large ISPs though.)

Iterate over an IP address Range

kbk paste this:

set spec 192.168.1.0/28
regexp {(\d+)[.](\d+)[.](\d+)[.](\d+)/(\d+)} $spec -> b0 b1 b2 b3 size
set quad [expr {($b0 << 24) | ($b1 << 16) | ($b2 << 8) | $b3}]
for {set i 0} {$i < (1<<(32-$size))} {incr i} {
        set q2 [expr {$quad + $i}]
        set result [expr {$q2 & 0xff}]
        for {set j 0} {$j < 3} {incr j} {
                set q2 [expr {$q2 >> 8}]
                set result [expr {$q2 & 0xff}].$result
        }
        puts $result
}