How to Use tcpdump on an AWS Virtual Machine 1 - Download and install tcpdump on your virtual machine: sudo apt-get install tcpdump 2 - Put the udpclientserver example on the course website on your virtual machnine and run it. 3 - Run this command to view the contents of udp segments sent between the client and server: sudo tcpdump -X -i lo udp 4 - You'll see output like this (I typed 'hello' as a message from the client to the server): tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on lo, link-type EN10MB (Ethernet), capture size 65535 bytes 14:56:32.103223 IP localhost.35459 > localhost.8800: UDP, length 5 0x0000: 4500 0021 0000 4000 4011 3cca 7f00 0001 E..!..@.@.<..... 0x0010: 7f00 0001 8a83 2260 000d fe20 6865 6c6c ......"`....hell 0x0020: 6f o 5 - The start of the packet is a IPv4 Header (part of the Network Layer): https://en.wikipedia.org/wiki/IPv4 6 - Following the IPv4 header is the UDP segment (part of the Transport Layer): https://en.wikipedia.org/wiki/User_Datagram_Protocol NOTE: The UDP segment does NOT contain the IPv4 pseudoheader, you have to build that by hand, which is something that the UDP transport layer software would to compute the checksum. For more information check out this tcpdump primer: https://danielmiessler.com/study/tcpdump/