part 2 Ep(2)Adding raw input to our port scanner
You are here: Home / Code Snippets / Port scanner in Python
Port scanner in Python
This post will show how you can make a small and easy-to-use port scanner program written in Python. There are many ways of doing this with Python, and I’m going to do it using the built-in module Socket.
Sockets
The socket module in Python provides access to the BSD socket interface. It includes the socket class, for handling the actual data channel, and functions for network-related tasks such as converting a server’s name to an address and formatting data to be sent across the network.
Advertisement
Source Sockets are widely used on the Internet, as they are behind any kind of network communications done by your computer.
The INET sockets, account for at least 99% of the sockets in use. The web browser’s that you use opens a socket and connects to the web server.
Any network communication goes through a socket.
For more reading about the socket module, please see the official documentation.
Advertisement
Socket functions
Before we get started with our sample program, let’s see some of the socket functions we are going to use.
Syntax for creating a socket
sock = socket.socket (socket_family, socket_type)
Creates a stream socket
sock = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
AF_INET
Socket Family (here Address Family version 4 or IPv4)
SOCK_STREAM Socket type TCP connections
SOCK_DGRAM Socket type UDP connections
Translate a host name to IPv4 address format
gethostbyname(“host”)
Translate a host name to IPv4 address format, extended interface
socket.gethostbyname_ex(“host”)
Get the fqdn (fully qualified domain name)
socket.getfqdn(“8.8.8.8”)
Returns the hostname of the machine..
socket.gethostname()
Exception handling
socket.error
Making a program using Python Sockets
This small port scanner program will try to connect on every port you define for a particular host. The first thing we must do is import the socket library and other libraries that we need.
ipv4