Skip to main content

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


🛠️ 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

~/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)

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)

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:

    sudo apt remove arp-scan -y
    
  2. Installed from source:

    git clone https://github.com/royhills/arp-scan.git
    cd arp-scan
    ./configure
    make
    sudo make install
    
  3. Fetched updated vendor list:

    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):

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

arp-scan:

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)