CIS115 Week 7 Lab Overview
Title of Lab: Networking with Python
Deliverables
- A source code Python file.
- A Word document containing both source code and the screen print of the program outputs.
Lab Steps
Part 1 – Finding your IP address
We will create a python program to do a port scan. To do this you need to find the ip address of your computer. Open a Command Prompt (Start button -> Windows System-> Command Prompt). At the command prompt type ipconfig –all
In the above example the IP address is IPv4 192.168.15.149
Part 2 – Running Your Code
After you have set up your router we will create a python program to do a port scan. Open Idle create a new file. Enter the following python code to create a port scanner. NOTE – do not run the port scanner on any site except your router and your own machine.
#!/usr/bin/env pythonimport socketimport subprocessimport sysfrom datetime import datetime # Clear the screensubprocess.call(‘clear’, shell=True) # Ask for inputremoteServer = input(“Enter a remote host to scan: “)remoteServerIP = socket.gethostbyname(remoteServer) # Print a nice banner with information on which host we are about to scanprint (“-” * 60)print (“Please wait, scanning remote host”, remoteServerIP)print (“-” * 60) # Check what time the scan startedt1 = datetime.now() # Using the range function to specify ports (here it will scans all ports between 1 and 1024) # We also put in some error handling for catching errors try: for port in range(1,1025): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) result = sock.connect_ex((remoteServerIP, port)) if result == 0: print (“Port {}: Open”.format(port)) sock.close() except KeyboardInterrupt: print (“You pressed Ctrl+C”) sys.exit() except socket.gaierror: print (“Hostname could not be resolved. Exiting”) sys.exit() except socket.error: print (“Couldn’t connect to server”) sys.exit() # Checking the time againt2 = datetime.now() # Calculates the difference of time, to see how long it took to run the scripttotal = t2 – t1 # Printing the information to screenprint (“Scanning Completed in: “, total) |
Run the above code and enter the IP address of the machine (note the machine above is 192.168.8.113). This will take several minutes – even up to 10 minutes so please be patient! You may also try entering in the ip address of your router (shown below)