KnowYourPorts is a web application for looking up TCP/IP ports.
This can be used to quickly check a TCP/IP port number for it's function.
You can check out a hosted version here: https://knowyourports.fly.dev/
A good IT professional should memorize the well-known ports, but an even better one will use a tool like this to keep their brainpower free for more practical matters.
KnowYourPorts is built on Python 3 and uses the Service Name and Port Number Registry from IANA, located here: http://www.iana.org/assignments/port-numbers
KnowYourPorts uses several other components:
Docker is the preferred methodology for deploying KnowYourPorts. A dockerfile is included in this repo which fulfills all the requirements above. With Docker installed, this is easy to build and run.
$ docker build -t knowyourports
$ docker run -p 80:5000 knowyourports
You can also utilize the official Docker Hub version of KnowYourPorts.
docker pull karldreher/knowyourports
There are two tags on the official build, knowyourports:latest
which is built from the master
branch of this repository, and knowyourports:development
which follows the development
branch.
After installing the requirements, start "web.py". Open a web browser to the specified URL. You now have a simple webserver which runs KnowYourPorts. This is most typically used for development purposes.
$ wget https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml
$ pip install -r requirements.txt
$ python ports.py # required to build the sqlite database backend from the downloaded xml
$ (export PORT=5000; python web.py) # This sets the port to run on, 5000 is default
See contributing.md
KnowYourPorts is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
KnowYourPorts is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with KnowYourPorts. If not, see http://www.gnu.org/licenses/.