Packet capture and protocol analysis 1
Content TCP/IP Networking Review Packet Capture Protocol Analysis 2
3
4 Communications Architecture The complexity of the communication task is reduced by using multiple protocol layers: Each protocol is implemented independently Each protocol is responsible for a specific subtask Protocols are grouped in a hierarchy A structured set of protocols is called a communications architecture or protocol suite
5
6 TCP/IP Protocol Suite The TCP/IP protocol suite is the protocol architecture of the Internet The TCP/IP suite has four layers: Application, Transport, Network, and Data Link Layer End systems (hosts) implement all four layers. Gateways (Routers) only have the bottom two layers.
7 Send HTTP Request to Server Establish a connection to at port 80 Open TCP connection to port 80 Send a datagram (which contains a connection request) to Send IP datagram to Send the datagram to Send Ethernet frame to 00:e0:f9:23:a8:20 Send Ethernet frame to 00:20:af:03:98:28 Send IP data-gram to Send the datagram to Frame is an IP datagram IP datagram is a TCP segment for port 80 HTTP service listening at port 80
8 Layers and Services Service provided by TCP to HTTP: – reliable transmission of data over a logical connection Service provided by IP to TCP: – unreliable transmission of IP packets across an IP network Service provided by Ethernet to IP: – transmission of a frame across an Ethernet segment Other services: – DNS: translation between domain names and IP addresses – ARP: Translation between IP addresses and MAC addresses
9 Encapsulation and Demultiplexing As data is moving down the protocol stack, each protocol is adding layer-specific control information
10 Encapsulation and Demultiplexing
11 Encapsulation and Demultiplexing: IP Header
12 Encapsulation and Demultiplexing: TCP Header Option: maximum segment size
Content TCP/IP Networking Review Packet Capture Protocol Analysis 13
Packet capture/Sniffering Why do we need to capture packets? – troubleshoot network problems – examine security problems – debug protocol implementations – learn network protocol internals 14
Packet capture tools/Sniffers Classic tools – WireShark ( – TCPDump ( Other tools – Ettercap – Dsniff – Ntop – KISMET – WinDump – Tshark – … 15
16 What is Wireshark? An open source packet analyzer Decodes 1115 protocols (V1.4) Supports command-line and GUI interfaces Run on many platforms including Windows, OS X, Linux, and UNIX Many online resources Wireshark User's Guide ( ser-guide-a4.pdf)
Wireshark libpcap Winpcap WindowsLinux
Wireshark Y:\Win32\WiresharkPortable Select interface tcp visit HTTP traffic 18
TCPDump/WinDump/Tshark Tcpdump – Unix-based command-line tool used to analyze packets Including filtering to just capture the packets of interest – Capture packets from interface specified using -i option – Read packets from an existing trace file specified using -r option – Save captured packets using -w option WinDump – The Windows version of tcpdump Tshark – Tcpdump-like capture program that comes with Wireshark – Very similar behavior & flags to tcpdump 19
20 Commonly Used Tcpdump Options -n Don’t convert host addresses to names. Avoids DNS lookups. It can save you time. -w Write the raw packets to the specified file instead of parsing and printing them out. Useful for saving a packet capture session and running multiple filters against it later -r Read packets from the specified file instead of live capture. The file should have been created with –w option -q Quiet output. Prints less information per output line
21 Commonly Used Options -s 0 tcpdump usually does not analyze and store the entire packet. This option ensures that the entire packet is stored and analyzed. NOTE: You must use this option while generating the traces for your assignments. (Default in tshark) -A (or –X in some versions) Print each packet in ASCII. Useful when capturing web pages. NOTE: The contents of the packet before the payload (for example, IP and TCP headers) often contain unprintable ASCII characters which will cause the initial part of each packet to look like rubbish
22 Writing Filters Specifying ICMP packets – “icmp” Specifying UDP packets – “udp” Specifying TCP packets – “tcp”
23 Writing Filters Combining filters – and (&&) – or (||) – not (!) Example: – All tcp packets which are from or to host tcpdump “tcp and host – Lots of examples in the EXAMPLES section of the man page
WinDump y:\win32\windump ping – Pinging [ ] with 32 bytes of data windump -D – Show the interface name and index windump -i 1 -n host and tcp 15:37: IP > : P 77836:78946(1110) ack win
Content TCP/IP Networking Review Packet Capture Protocol Analysis 25
26 ARP and RARP Note: – The Internet is based on IP addresses – Data link protocols (Ethernet, FDDI, ATM) may have different (MAC) addresses The ARP and RARP protocols perform the translation between IP addresses and MAC layer addresses
27 ARP Packet Format
ARP Request Message Source contains initiating system’s MAC address and IP address Destination contains broadcast MAC address ff.ff.ff.ff.ff.ff
ARP Reply Message Source contains replying system’s MAC address and IP address Destination contains requestor’s MAC address and IP address
Domain names and IP addresses People prefer to use easy-to-remember names instead of IP addresses Domain names are alphanumeric names for IP addresses e.g., ietf.org The domain name system (DNS) is an Internet- wide distributed database that translates between domain names and IP addresses
Domain name resolution 1.User program issues a request for the IP address of a hostname 2.Local resolver formulates a DNS query to the name server of the host 3.Name server checks if it is authorized to answer the query. a)If yes, it responds. b)Otherwise, it will query other name servers, starting at the root tree 4.When the name server has the answer it sends it to the resolver.
DNS packet format Identification used to match request/reply packets; QR, Query/Response; Opcode: QUERY, Standard query. AA, Authoritative Answer; TC, Truncated; RD, Recursion Desired;RA, Recursion Available; Z, reserved bits AD, Authenticated data CD, Checking Disabled; Rcode, Return code 32
DNS Query 33
DNS Response 34
35 TCP TCP = Transmission Control Protocol Connection-oriented protocol Provides a reliable unicast end-to-end byte stream over an unreliable internetwork.
36 Connection-Oriented Before any data transfer, TCP establishes a connection: One TCP entity is waiting for a connection (“server”) The other TCP entity (“client”) contacts the server Each connection is full duplex
Reliable Byte stream is broken up into chunks which are called segments Receiver sends acknowledgements (ACKs) for segments TCP maintains a timer. If an ACK is not received in time, the segment is retransmitted Detecting errors: TCP has checksums for header and data. Segments with invalid checksums are discarded Each byte that is transmitted has a sequence number 37
38 TCP Format TCP segments have a 20 byte header with >= 0 bytes of data.
39 Three-Way Handshake
TCP SYN 40
TCP SYN/ACK 41
TCP ACK 42
43 HTTP Hypertext Transfer Protocol is a network protocol used to deliver virtually all files and other data (collectively called resources) on the World Wide Web. This is a request and retrieve function of the server. This includes: Text files, graphic images, sound, video, and other multi-media files.
44 HTTP Request Methods There are 3 open-ended methods that are frequently used to request information: GET – used to ask for specific document and is the simplest form of requesting information (URL access will not change the state of database) HEAD – used to ask for information about a document (very fast because less data is required) POST – used when the service associated with the processing of the form has side effects (URL access will cause change in database). Example: Ebay, Amazon
HTTP Request 45
HTTP Response 46
Exercise: ARP ipconfig /all ; see local IP and gateway route -print ; find gateway arp -a ; list all MAC addresses learned arp -d * ; delete all MAC address learned ping What is the MAC address of the router/default gateway? 47
Hints If the default gateway/router’s MAC address is not in the cache, the host will send ARP to ask for it. The default gateway’s IP address is pre- configured or learnt through the DHCP protocol. 48
Exercise: ICMP ping – htm htm – What is the value of ‘Type’ in the outgoing ICMP packet? – What is the value of ‘Type’ in the incoming ICMP packet? – Take a look at the data section in the incoming ICMP packet. tracert – What are the answers to the above two questions? 49
Hints Ping – Send: ICMP Echo Request – Receive: ICMP Echo Reply Traceroute – Send: And kind of IP packet with special TTL It would be an ICMP packet if we need the reply from the destination – Receive: ICMP Time Exceeded 50
Exercise: DNS nslookup Take a look at DNS query and response packets nslookup set type=PTR Take a look at DNS query and response packets 51
Hints set type=A (default setting) – Normal DNS lookup: get the IP address from a host name set type=PTR – Reverse DNS lookup: get the host name from its IP address 52
Exercise: HTTP/TCP Use browser to visit Take a look at – TCP’s three-way handshake – sequence numbers in packets from the server and the acknowledgement number in packets from the client – HTTP header in the packet from the client – HTTP header in the packets from the server 53
Exercise: Trace analysis Real trace from a VoIP hacking demo – Analyze the trace using Wireshark and answer the following questions – Which 4 protocols are involved in the pcap? – Which codec does the RTP stream use? – How did the attacker gain access to the server? – Where is the hacked server? Tips: look into the payload 54
Hints 4 Protocols: HTTP, RTP, RTCP, SIP RTP uses G.7111 PCMU coding Default user name/password – Authorization: Basic bWFpbnQ6cGFzc3dvcmQ= The city is DISTRITO FEDERAL MEXICO – Hear it Telephony -> RTP -> Stream analysis – Public IP: in an HTTP response Follow HTTP connections Look into the HTTP responses Use Geolocation websites to locate the city 55
Reference* reshark.ppt usa-01-Mike-Beekey.ppt Topics/http.ppt pdf Computer Networking: A Top-down Approach Featuring the Internet * Some slides were taken from the above sources and the pcap file was from Forensic Challenge VoIP 56