Answered step by step
Verified Expert Solution
Question
1 Approved Answer
For top results in this unit, you need to demonstrate excellent achievement of the unit learning outcomes. You need to demonstrate your ability to
For top results in this unit, you need to demonstrate excellent achievement of the unit learning outcomes. You need to demonstrate your ability to explore networking concepts beyond the unit content. For this high distinction task, you will be developing your own version of the Ping application using Python. Task Requirement Present evidence that you have been able to develop the Ping application according to the instructions provided. You need to submit your summary and reflections on your learning & evidence to OnTrack. Task Instruction For this task, you will build your own Ping application using Python. Ping is a network utility that we primarily use to check whether any network device including web servers are reachable or not. Ping uses Internet Control Message Protocol (ICMP) which is a network layer protocol used to diagnose network communication issues or control purposes. For example, you can see the following responses when you use ping command in command prompt or terminal to check the connection between your host and "www.google.com". PING www.google.com (142.250.70.196): 56 data bytes 64 bytes from 142.250.70.196: icmp_seq=0 ttl=55 time=19.395 ms 64 bytes from 142.250.70.196: icmp_seq=1 ttl=55 time=27.511 ms Request timeout for icmp_seq 2 64 bytes from 142.250.70.196: icmp_seq=3 ttl=55 time=19.652 ms Request timeout for icmp_seq 4 64 bytes from 142.250.70.196: icmp_seq-5 ttl=55 time=15.992 ms Request timeout for icmp_seq 6. Now, your task is to build this ping application in Python without using Python's inbuilt ping system commands. You need to create sockets, check the checksum, send and receive relevant ICMP messages, and do any additional processing required to display the relevant information. Note that you will need to create a raw socket to build this application and send ICMP messages, which can only be done from processes running as root (in Mac OS) or as Administrator in Windows. You may want to use the Python libraries including os, sys, socket, struct, select, and time. Note that you will only need to write the client side of the program, as the functionality needed on the server side is built into OSS. Your Ping must have the following features and functionality: A function to send a single Ping to the "host name" that you provide in the code. For example, my_ping (www.yahoo.com). You need to create a packet header with the required field (you do not need to use all the header fields) with dummy data and the checksum. To create a packet, you then need to add data to the packet header. A function to receive a single ping and extract relevant information, such as type, checksum, and sequence number of the packet (can use "struct.unpack" ). Calculate the round-trip time and return the values that are required to display in the terminal. A function to returns the time delay between sending and receiving a single ping so that you can send a ping request to an intended host in every one second. Function to display ping statistics. You need to display at least number of bytes received,IP address of the host that you sent the ping request, ttl, and round-trip time if the ping is successful. Display "Request timed out" if the ping is unsuccessful. When you print the Ping statistics, you should also display the following line in the terminal to indicate that the Ping application is running "ping destination IP addresses in Python" Note that you only need to develop the client side of the application as the server side is already built into operating systems. Task Submission Instruction You need to submit the following files to On Track: 1. A pdf demonstrating the evidence that you have successfully developed the Ping application (screenshots clearly showing that your ping application is able to ping different hosts), and summary and reflection on your learning. 2. Python code
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started