Resolve hostnames
# Cmd Resolve by Jeff Fisher (guppy@eggheads.org)
bind dcc -|- resolve resolve_cmd
bind dcc -|- dns resolve_cmd
proc resolve_cmd {hand idx arg} {
if {[scan $arg "%s" hostip] != 1} {
global lastbind
putidx $idx "Usage: $lastbind <host or ip>"
} else {
putidx $idx "Looking up $hostip ..."
set hostip [split $hostip]
dnslookup $hostip resolve_callback $idx $hostip
}
return 0
}
proc resolve_callback {ip host status idx hostip} {
if {![valididx $idx]} {
return 0
} elseif {!$status} {
putidx $idx "Unable to resolve $hostip"
} elseif {[regexp -nocase -- $ip $hostip]} {
putidx $idx "Resolved $ip to $host"
} else {
putidx $idx "Resolved $host to $ip"
}
putcmdlog "#[idx2hand $idx]# resolve $hostip"
return 0
}
loadhelp cmd_resolve.help