Finding a service name, given the port and protocol
If you would like to discover network services, it may be helpful to determine what network services run on which ports using either the TCP or UDP protocol.
Getting ready
If you know the port number of a network service, you can find the service name using the getservbyport()
socket class function from the socket library. You can optionally give the protocol name when calling this function.
How to do it...
Let us define a find_service_name()
function, where the getservbyport()
socket class function will be called with a few ports, for example, 80, 25
. We can use Python's for-in
loop construct.
Listing 1.4 shows finding_service_name
as follows:
#!/usr/bin/env python # This program is optimized for Python 2.7.12 and Python 3.5.2. # It may run on any other version with/without modifications. import socket def find_service_name(): protocolname = 'tcp' for port in [80, 25]: print ("Port: %s => service name: %s" %(port...