Lab 3 B
Lab 3 B
Procedures
1. Verify that power switch nine (9) (on the power rail behind the rack) is turned on.
2. Verify that the Netgear switches inside the rack display the numbers 1, 2, 3, and 4. Note
that we have two new switches for you to observe this time (four (4) in total).
3. Turn on (Restart if it is already on) the PC by powering on switch eight (8) (on the power
rail behind the rack).
4. If power switch three (3) is ON, turn it OFF and wait for ten (10) seconds before proceeding
with the next step (Static charge can keep the device on for a second or two).
5. Turn ON switch three (3) (on the power rail behind the rack) and wait up to three (3)
minutes for the hosts emulating routers to boot and spread routing information.
6. If you have any issues during the lab, you can restart all the components in Lab 3 by
repeating steps four (4) and ve (5).
7. Login to the testbed’s PC with the following credentials:
Username: student
Password: 740Rocks$
8. Connect the Ethernet cable to your laptop and start Wireshark (yes you will need to capture
data (PCAP les) for this lab2).
9. When you are done with the lab, shut down the computer and turn o all the power switches
EXCEPT NINE (9)!
2 The data collection and analysis must be an individual e ort. Collaboration is not allowed for the second part of Lab 3 (Checkpoint II)
Network Mapping
In Checkpoint 1 (Lab 3a), you explored the network and discovered the connections between
routers and networks. In other words, you gured out the network topology implemented in the
testbeds (the “Racks”). Hopefully, you understand this information already. But, just in case, the
following gures and table describe the implemented testbed network to help you with Lab 3b.
In Lab 3a (Checkpoint I), you were not required to report on the NAT device. However, this
node will be useful for this lab. So, make sure to understand how the device is connected and
what IP addresses (and interfaces) are associated with the NAT-enabled router in the testbed for
both the private (inside) and public (outside) networks.
AS2 2.0.0.0/10
2.64.0.0/10
eth0 eth0
R4 iBGP R5
eth1
eth1
24
.0
.0
.0
/8 AS4
/8
.0.0
eth0
12.0
lo1
R8 4.0.0.0/8
AS1 eth1
eth0 eth2
lo1
1.0.0.0/8 R6 /8
.0
.0
.0
45.0.0.0/8
34
eth1 13
.0.
0.0
/8
eth0 eth1
R7
AS5
AS3 eth0
eth2
R9 5.0.0.0/8
lo1
3.0.0.0/8
eth0
10*
NAT
eth1
192.168.0.0/16
2.0.0.0/10 2.64.0.0/10
lo1 lo1
R1 R2
R4 R5
eth1 eth1
12.0.0.0/8
24.0.0.0/8
lo1 2.0.0.1/10
lo1 2.64.0.1/10
eth1 2.128.23.2/24
eth2 2.128.34.1/24
eth3 2.128.35.1/24
eth1 12.0.0.2/8
eth1 24.0.0.1/8
eth1 13.0.0.1/8
lo1 1.0.0.1/8
eth1 34.0.0.1/8
eth2 3.0.0.1/8
eth1 34.0.0.2/8
eth2 45.0.0.1/8
lo1 4.0.0.1/8
lo1 5.0.0.1/8
eth1 192.168.3.1/16
Make sure to examine the tra c on both sides (private and public) of the NAT-enabled router
using Wireshark to answer all the questions in this lab.
Use your observations to answer this question:
10. (5 points) What is the NAT device doing to the packets to allow you to access the website
using HTTP? Be sure to describe the outbound and inbound HTTP tra c and speculate on
how the NAT device gathers enough information to perform the NAT translation.
• From each of the previously opened ssh sessions, start another ssh connection to
2.64.0.1, using the following command in each opened connection:
ssh -o 'ProxyCommand nc -p 1234 %h %p' [email protected]
This command will create a local proxy so the ssh connection can be forced to use the
source port 1234. Use the same command in each ssh session that you opened before.
• Keep those ssh connections open. In each ssh session, type any command that you learned
in Lab 3a (e.g., ifconfig) to make sure the remote host is “alive”, executing the remote
instructions, and sending the results back.
• At this point, you should have two ssh connections going through the NAT (from inside to
the outside) to the same destination with the same source port number.
• Stop the data capture and save your data capture for your analysis.
Examine the ssh tra c generated in the previous experiment on both sides of the NAT (private
and public) device using Wireshark.
Use your observations to answer this question:
11. (5 points) What translations are made by the NAT device (router) to achieve both ssh
connections at the same time using the same source port number? How does it distinguish
inbound ssh tra c and determine which device to send the ssh tra c to?
open a connection with another device before sending an ICMP message. The ICMP protocol
also does not allow for targeting a speci c port on a device.
It looks like port numbers are pretty handy in NAT. However, not all tra c has port numbers
(e.g., ICMP). What will the NAT device do if there is no port number?
Do the following to nd out:
• Start a new packet capture in Wireshark.
• Use ping to send ICMP packets from both Raspberry PIs at 192.168.1.100 and
192.168.1.101 to 2.0.0.1 (you might need to open some new ssh connections to
ping the required host (2.0.0.1) from the Raspberry PIs 192.168.1.100 and
192.168.1.101). You do recall how to control how many ping probes get sent? Ensure
pings coming from both sources, at about the same time, overlap, through the NAT device
by sending enough ping probes in each ssh connection.
• Stop the data capture and save your data capture for your analysis.
Examine the ICMP tra c generated in the previous experiment on both sides of the NAT
(private and public) device using Wireshark.
Answer the following question:
12. (5 points) What translations are made (from private to public and public to private) to the
ICMP packets? Speculate or determine how responses are sent to the correct internal
address.
Take a look with Wireshark regarding the request and response and answer this question:
13. (5 points) Speculate, how in the world can the NAT device match the ICMP reply, which
does not have a port number, to a UDP segment (used in the DNS query) sent from behind
the private network?
3Give the application about ve (5) seconds to receive the image (if the command was correctly introduced in the right node/computer on the
network).
connection. (Hint: Only one host in the entire network will let you run this command4
without asking for a password for sudo). Make sure that the Python script can receive the
image correctly once you have made the correct con gurations. Attach a screenshot of the
received image. Explain what the command is doing and how the network translations will
be executed so the image can be received.
That’s it! Now AS1 will advertise a route to the 5.0.0.0 network with one (1) hop, which is
NOT true as you can see from the network diagram.
Use the browser5 (or the Lab 1 application) to open http://videosite.com from the
Rack’s PC. For the next question, you will need to use the analytical skills you learned in Lab 3a
(Checkpoint I) regarding getting into di erent routers and analyzing their corresponding
forwarding tables (but now you have a good understanding of the network topology).
4 If you are executing this command in the incorrect node, it will ask you for a password to execute sudo
5If you use the same browser as before, the browser might have cached the webpage and still display it. Make sure to clear the cache to obtain the
correct response, or use a di erent browser.
Turn-in
Write a report of your interactions and answer the questions. Make sure to include enough
details to ensure we understand that you understand what is going on. For instance,
screenshots should probably be annotated to show where a number came from -- do not
assume that because you know how to read a Wireshark screen we know that you know it.
Our graders will not make that assumption. So, prove it to us by describing/annotating
every value you nd.
Turn in your answers in a single PDF le and submit it to the Lab3 Checkpoint 2
“Assignment” on Gradescope.
Mark the pages according to the question. Students who fail to mark a question
correctly will lose all the points for that question.