I'm looking for a command line way of monitoring multiple nodes at once using a curses interface.
From my previous life as an Sys Admin, "mtr" has the type of interface I'm looking for. Multiple lines, IP address per line, and a continuously updated status as to connectivity, latency, etc.
Rather than learn C and do this task, I would like someone to take the code for nmap, and modify it.
1) Instead of building the list of IP addresses using ICMP, read the list of hosts via a file, including a destination port number (more on this in #2). No need to find out the hops in-between anymore.
2) The -T option only uses TCP SYN packets - I need it to complete a 3-way handshake instead. SYN, SYN-ACK/ACK as well as a FIN to close the connection. This is so we don't trigger DDoS-like protections within kernels. This will be done to the IP/Port pair in the config file in #1. (something using connect() will work)
3) Modify "Packets" to be "Connections" , and "Pings" to be "Latency" in the output when the -T option is used. Simple things.
4) Most other functionality of nmap to stay in-place, unless there is a reason to remove it.
5) Keep timeout functionality (-Z flag) in case a 3-way handshake could not be completed in specified seconds.
6) Extra credit: Given using a 3-way handshake will slow things down for connections, a way of doing connections in parallel (instead of sequentially) is extra credit. It may already even do this, so this might be easier than expected.
Please provide a diff file against latest MTR version 0.92.