Scanning the ports of a remote host
If you are trying to connect to a remote host using a particular port, sometimes you get a message saying that Connection is refused
. The reason for this is that, most likely, the server is down on the remote host. In such a situation, you can try to see whether the port is open or in the listening state. You can scan multiple ports to identify the available services in a machine.
How to do it...
Using Python's standard socket
library, we can accomplish this port-scanning task. We can take three command-line arguments: target host
, and start_port
and end_port
numbers.
Â
Listing 8.4 gives the code for scanning the ports of a remote host, as follows:
#!/usr/bin/env python # Python Network Programming Cookbook, Second Edition -- Chapter - 8 # 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 argparse import socket import sys def scan_ports(host, start_port, end_port):...