#!/bin/bash

port=22

function usage
{
    retval="$1"
    case "$retval" in
        0)
            ;;
        *)
            exec 1>&2
            ;;
    esac
    echo "$0 --port $port --help"
    exit "$retval"
}

while [ "$#" -ge 1 ]
do
    case "$1" in
        --port)
            port="$2"
            shift
            ;;
        --help|-h)
            usage 0
            ;;
        *)
            echo "$0: Unrecognized option: $1" 1>&2
            usage 1
            ;;
    esac
    shift
done

nmap \
    -sT \
    -p "$port" \
    -oG /dev/stdout \
    192.168.0-1.1-254 \
    | grep '^Host: .*Ports: ' | \
    expand -80 | \
    sed 's/ ([-0-9]*\.[0-9]*s latency)\..*$//'