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
Internet Checksum
The currently-used checksum in IPV4 as described in RFC 791


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
drop IP addresses at the firewall when an attack is seen in the hosts log files
IP-to-country lookup
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.


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


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
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