PortChecker is a simple multi-threaded TCP Port Checker utility written in Java and executed from a batch file or the command line.

Screenshot of Port Checker output

The output file shows open and closed ports separately.

The application accepts a .csv file (or a set of arguments provided via the command line) containing a list of IP addresses and TCP ports. The application parses these ports and constructs a table of ports and IP addresses, which is then passed to a thread controller. The thread controller splits the contents of the table into "chunks" and then creates new threads and manages the distribution of chunks to idle threads, which then attempt to test whether a port is open by opening a new socket with the target IP.

The multi-threaded aspect of this application allows for hundreds of ports to be tested within seconds, and the results are output to a text file for review. Additional improvements may improve the readability of the program output and provide a more user-friendly interface.

The whole project can be viewed on PortChecker's project page on Github. Alternately, the compiled binaries, along with accompanying source files, can be downloaded from the PortChecker v1.0 release page.