This originally started as a learning exercise in Go Routines when going through a course on Go Programming. I needed a real world programming example, and every day it seems I have to perform checks for tcpconnectivity -- and worse yet our security guys didn't like putting on netcat or nmap so we had to use telnet. That's like using a screwdriver as a chisel, it works but not what it was designed for. We literally had people who made scripts using telnet to check the connectivity to 100 hosts to see if they were online on a regular basis, which using Telnet took over a minute for all of them to time out and report if they were open, but didn't tell you if the port was open, closed or filtered by a firewall.
So I took my little learning excersize and made a program called tcpscan. Honestly I am more of a sysadmin than I am a programmer, and Go is really my first C like compiled language, and I relied more on Bash, PHP, little Perl, TCL (Expect) so I am sure there are a lot of things that could be done better in the program -- but thats what I am hoping for. If this is useful, people like it, make it better right? Small Example of scanning hosts from a file, Checking TCP, Checking ICMP (Ping) and SSL Cert ~] $ cat list;tcpscan -f list -i -s https://www.youtube.com https://www.google.com https://www.twitter.com https://www.github.com https://www.amazon.com +--------------------+---------+-----------+-------------+-------------+----------------------------+ | Address | Port | Status | TCP | ICMP | SSL | +====================+=========+===========+=============+=============+============================+ | www.youtube.com | 443 | Open | 91.88ms | 92.87ms | TLS v1.2 / OK: 63 days | | www.google.com | 443 | Open | 62.23ms | 63.89ms | TLS v1.2 / OK: 63 days | | www.twitter.com | 443 | Open | 101.69ms | 90.86ms | TLS v1.2 / OK: 38 days | | www.github.com | 443 | Open | 122.60ms | 121.52ms | TLS v1.2 / OK: 126 days | | www.amazon.com | 443 | Open | 128.97ms | 76.66ms | TLS v1.2 / OK: 337 days | +--------------------+---------+-----------+-------------+-------------+----------------------------+ Scanned 5 hosts/ports in 493.79ms -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/49924f7f-da71-452f-89af-c8ee3edc42ce%40googlegroups.com.