Homework Assignment 6
1 Instructions: 
  Complete all of the steps below and answer all of the questions (each of 
  which is enclosed in a box). Only submit your answers to the questions.
  
2 Steps and Questions: 
- 
    Download the following Java application (you only need the 
    bytecode but may be interested in the source code as well):
    
    This application requires three command-line parameters: host, port,
    and payload-length.
    
 
- 
    Start Wireshark, choose an appropriate device/interface, and filter
    for UDP.
    
 
- 
    Start a live capture.
    
 
- 
    Execute the UDPTimeClient (from an earlier assignment).
    
 
- 
    Stop the capture.
    
 
- 
    Expand the IP portion of the response.
    
 
- 
    What is the protocol number for UDP?
    
 
- 
    Expand the UDP portion of the request.
    
 
- 
    How big is the UDP packet? Why? (Hint: How big is the payload of
    a response?)
    
 
- 
    How big is the IP frame? Why?
    
 
- 
    Suppose you were to run the UDPPacketSender with command line arguments
    
w3.cs.jmu.edu 37 5112, how long would the "idealized" IP
    frame be? Why?
    
 
- 
    Start Wireshark, choose an appropriate device/interface, and filter
    for UDP.
    
 
- 
    Start a live capture.
    
 
- 
    Run the UDPPacketSender with command line arguments
    
w3.cs.jmu.edu 37 5112.
     
- 
    Stop the capture.
    
 
- 
    What well-known service runs on port 37?
    
 
- 
    How will this information help you identify the appropriate
    part of the Wireshark capture?
    
 
- 
    Select the appropriate part of the Wireshark capture and expand the
    information about IP.
    
 
- 
    How many IPv4 fragments were used?
    
 
- 
    Why were that many IPv4 fragments used? (Be specific!)
    
 
- 
    Read a description of the 
ping utility.
     
- 
    Clear the existing filter and start filtering for ICMP.
    
 
- 
    Start a live capture.
    
 
- 
ping a host that is far away (e.g., the Hong Kong 
    University of Science and Technology at www.ust.hk) with five requests.
    (Note: Use the appropriate command-line switch, do not execute 
    ping five times.)
     
- 
    Stop the capture.
    
 
- 
    Expand the IP portion of a request.
    
 
- 
    How big is the request? Why?
    
 
- 
    Expand the ICMP portion of the request.
    
 
- 
    What type is a ping/echo request?
    
 
- 
    Read a description of the "trace route" utility (called 
    
traceroute in Unix and tracert in MS Windows).
     
- 
    Clear the existing filter and start filtering for ICMP and UDP.
    
 
- 
    Start a live capture.
    
 
- 
    Trace the route to a host that is far away (e.g., the Hong Kong 
    University of Science and technology at www.ust.hk).
    
 
- 
    Stop the capture.
    
 
- 
    What kinds of packets does your trace route utility use? (Note: It might
    differ across operating systems.)
    
 
- 
    How many hops to the destination?
    
 
- 
    Why do the different links/hops require different amounts of time?
    
 
- 
    How does the last reply differ from (some of) the earlier replies?
    (Hint: Look at the type of some early replies and the type of the last
    reply.)
    
 
- 
    How does the time to live (TTL) of the requests change?
    
 
- 
    What happens when a packet arrives at a router with a TTL of 1?
    
 
- 
    Based on your answers to the above questions, how do you think the
    trace route utility works?