# Networking Fundamentals

## ARP (Address Resolution Protocol)

<figure><img src="/files/0g1wkO3jkV5TPldSniXG" alt=""><figcaption></figcaption></figure>

* Connects every changing IP address to a fixed MAC address (Layer 2) in a Local Area Network (LAN)
* Broadcasts a packet to all devices of a network
* ARP Cache --> MAC address stored in table with Timeout

#### ARP Attacks:

1. **ARP poisoning (Spoofing)** - Attacker sends spoofed ARP packets to default gateway on a LAN to inject its MAC - IP pairing into the MAC Table; spoof MAC address of attacker
2. **ARP Scanning** - Bunch of Broadcast ARP packets (Scanner usually tries packets of Lengths of 42 & 60; 60 just has padding)

<figure><img src="/files/Q9ojaWmUD3gqYMW8Q034" alt=""><figcaption></figcaption></figure>

## ICMP (Internet Control Message Protocol)

* Purpose is to send control and error messages:
  * Traceroute Command --> show the physical path of routers (hops) & time for each hop
  * Ping Command --> Measures speed of connection between 2 points; lag
* &#x20;connectionless protocol, layer 3

Attacks:

1. Ping/ICMP Flood Attack - Flood victim device with Echo-Request packets
2. Ping of Death - Ping sent to victim machine with larger than allowable size (65535B)
3. Smurf Attacks - Attacker sends mass packets with victim's Src\_IP; Echo replies then bombards victim

## DNS

Attacks:

1. **DNS Poisoning** - Spoof IP addresses of legitimate sites

## DHCP

## TCP Handshake

<figure><img src="/files/jLY8eyH5HM44DkwTpsST" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://davin-hong3.gitbook.io/d/concepts/networking-fundamentals.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
