# Pi Toolkit Menu with ARP and Network Scanning

#### **Date:** June 7, 2025  
**Category:** Raspberry Pi Toolkit / Network Scanning  
**Backlink:** [Pi 5 System Summary Script with AWK](https://docs.natenetworks.com/books/06-raspberry-pi-python-linux-tips/page/pi-5-system-summary-script-with-awk)

---

### 🛠️ Overview

This entry documents the setup of a modular Raspberry Pi 5 toolkit with a main menu and submenu for essential system tasks and network scanning. It enables quick access to system updates, resource summaries, and LAN device discovery using both ping-based and ARP-based tools.

---

### 📁 Script Overview

```bash
~/tskmenu.sh                    # Main toolkit launcher
~/network-tools-menu.sh         # Submenu for network-related tools
~/network-scan.sh               # Ping-based sweep with hostnames
~/pi5-system-summary.sh         # Custom AWK system overview
~/update.sh                     # Apt updater/cleaner

```

---

### 🧭 Main Menu (`tskmenu.sh`)

```bash
figlet "Nates Pi Toolkit"
❌ 0. Exit
⚒️ 1. Update, Upgrade, and Auto-Remove
📊 2. System Summary
📡 3. Enter Network Tools Menu

```

Selecting option `3` brings up the network tools submenu.

---

### 🌐 Network Tools Menu (`network-tools-menu.sh`)

```bash
figlet "Network Tools Menu"
1. 🌐 Network IP Scan (Ping + Hostnames)
2. 🧭 ARP-Scan (MAC Vendors)
0. 🔙 Back to Main Menu

```

- Option `1` runs `~/network-scan.sh`
- Option `2` runs `sudo arp-scan --localnet --interface=wlan0`

---

### 🔧 Fixing arp-scan Vendor Lookup

#### Problem:

Default arp-scan install via `apt` gave:

- Permission denied errors on `ieee-oui.txt`
- “Unknown” MAC vendors

#### Solution:

1. **Removed default install**:
    
    ```bash
    sudo apt remove arp-scan -y
    
    ```
2. **Installed from source**:
    
    ```bash
    git clone https://github.com/royhills/arp-scan.git
    cd arp-scan
    ./configure
    make
    sudo make install
    
    ```
3. **Fetched updated vendor list**:
    
    ```bash
    sudo get-oui
    
    ```
    
    This downloads a clean vendor database to:
    
    ```
    /usr/local/share/arp-scan/ieee-oui.txt
    
    ```

---

### ✅ Example Output

#### `network-scan.sh` (ping + hostname):

```powershell
✅ 192.168.1.1 (router.local)
✅ 192.168.1.101 (pi.hole)
✅ 192.168.1.185 (octopi)
```

#### `arp-scan`:

```powershell
192.168.1.1     c8:7f:54:b5:b1:a8     Cisco Systems
192.168.1.99    b8:27:eb:79:c1:de     Raspberry Pi Foundation
```

---

### Next Steps

- Auto-detect between `wlan0` and `eth0` interfaces
- Log outputs to `~/Logs/`
- Create a simple curses-style dashboard for top tools
- Add dynamic vendor filtering (e.g. filter by manufacturer name)