With Port Scanner you can easily check for open ports on your system or at any address. Frequently used ports can be saved in profiles and used later on different hosts. All ports are displayed in a table and can be filtered and ordered. The user has two options, he can scan all ports at once or each port separately. User can also edit host on selected port or remove port from scanning. Two types of adding ports are introduced. User can add individual port or selected port range. If port number is already in the table no port is added.
Scanning is implemented inside thread with Linux netcat command (nc), executed from python. Result is displayed in a table after each port is scanned. For implementation I chose Python programming language with PyGtk libraries. I used object-oriented paradigm as I come from Java. The business logic was easily written as python is very flexible, reliable and comes with huge library of various modules.
User interface was designed with Glade (user interface builder for Gnome). Glade produces XML description file which is imported in application and parsed by PyGtk library. We have two two types of glade format and also two ways of connecting Glade file with python. One is libglade, which has a few less components and other is gtk which is easier to develop.
Minimum requirements require installed Python on Linux machine and PyGtk library at least 2.0 version. Also Linux command netcat has to be available.
The software is open source and will be available on github repository. Author is not responsible for any directly or indirectly created damage.
Link to GIthub project: https://github.com/plavc/Port-Scanner
- Netcat cheat sheet (h.ackack.net)
- How port number is set (wiki.answers.com)
- Quickly Find Local Open Ports (premaseem.wordpress.com)